From 817a90e5c5f9b66e83863dbfe250106cf1306d6e Mon Sep 17 00:00:00 2001 From: "Oleg.Korshul" Date: Fri, 14 Mar 2014 14:22:04 +0000 Subject: [PATCH] git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@54940 954022d7-b5bf-4e40-9824-e11837661b57 --- DesktopEditor/agg-2.4/svg/agg_svg_rasterizer.h | 4 ++++ DesktopEditor/graphics/Graphics.cpp | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/DesktopEditor/agg-2.4/svg/agg_svg_rasterizer.h b/DesktopEditor/agg-2.4/svg/agg_svg_rasterizer.h index 40b46fa7cb..f90dfe5927 100644 --- a/DesktopEditor/agg-2.4/svg/agg_svg_rasterizer.h +++ b/DesktopEditor/agg-2.4/svg/agg_svg_rasterizer.h @@ -37,6 +37,10 @@ namespace svg { m_rasterizer.gamma(agg::gamma_power(g)); } + void gamma_multi(double g) + { + m_rasterizer.gamma(agg::gamma_multiply(g)); + } void clip_box(double x1, double y1, double x2, double y2) { diff --git a/DesktopEditor/graphics/Graphics.cpp b/DesktopEditor/graphics/Graphics.cpp index 511c515190..fc37dc5837 100644 --- a/DesktopEditor/graphics/Graphics.cpp +++ b/DesktopEditor/graphics/Graphics.cpp @@ -1410,7 +1410,17 @@ namespace Aggplus span_gen_type sg(img_src, interpolator); renderer_type ri(m_frame_buffer.ren_base(), span_allocator, sg); //agg::render_scanlines(m_rasterizer.get_rasterizer(), m_rasterizer.get_scanline(), ri); - render_scanlines(ri); + + if (fabs(m_dGlobalAlpha - 1.0) < FLT_EPSILON) + { + render_scanlines(ri); + } + else + { + m_rasterizer.gamma_multi(m_dGlobalAlpha); + render_scanlines(ri); + m_rasterizer.gamma(1.0); + } } }