diff --git a/DesktopEditor/graphics/Graphics.cpp b/DesktopEditor/graphics/Graphics.cpp index c105f2c911..9fc3f28b29 100644 --- a/DesktopEditor/graphics/Graphics.cpp +++ b/DesktopEditor/graphics/Graphics.cpp @@ -68,7 +68,6 @@ namespace Aggplus m_dDpiTile = -1; m_nTextRenderMode = FT_RENDER_MODE_NORMAL; - m_nBlendMode = agg::comp_op_src_over; } CGraphics::CGraphics(int dwWidth, int dwHeight, int stride, BYTE* pBuffer) : m_dwConfigFlags(0) @@ -102,7 +101,6 @@ namespace Aggplus m_dDpiTile = -1; m_nTextRenderMode = FT_RENDER_MODE_NORMAL; - m_nBlendMode = agg::comp_op_src_over; } CGraphics::CGraphics(CImage* pImage) : m_dwConfigFlags(0) @@ -141,7 +139,6 @@ namespace Aggplus m_dDpiTile = -1; m_nTextRenderMode = FT_RENDER_MODE_NORMAL; - m_nBlendMode = agg::comp_op_src_over; } CGraphics::~CGraphics() @@ -1286,29 +1283,11 @@ namespace Aggplus void CGraphics::DoFillPathSolid(CColor dwColor) { - if (m_nBlendMode != 3) - { - typedef agg::renderer_scanline_aa_solid solid_comp_renderer_type; - solid_comp_renderer_type ren_solid; - comp_renderer_type ren_base; - pixfmt_type_comp pixfmt; + typedef agg::renderer_scanline_aa_solid solid_renderer_type; + solid_renderer_type ren_fine(m_frame_buffer.ren_base()); + ren_fine.color(dwColor.GetAggColor()); - pixfmt.attach(m_frame_buffer.ren_buf()); - pixfmt.comp_op(m_nBlendMode); - ren_base.attach(pixfmt); - ren_solid.attach(ren_base); - - ren_solid.color(dwColor.GetAggColor()); - render_scanlines(ren_solid); - } - else - { - typedef agg::renderer_scanline_aa_solid solid_renderer_type; - solid_renderer_type ren_fine(m_frame_buffer.ren_base()); - ren_fine.color(dwColor.GetAggColor()); - - render_scanlines(ren_fine); - } + render_scanlines(ren_fine); } void CGraphics::DoFillPathGradient(CBrushLinearGradient *pBrush) diff --git a/DesktopEditor/graphics/Graphics.h b/DesktopEditor/graphics/Graphics.h index bccb67aef8..241dec9555 100644 --- a/DesktopEditor/graphics/Graphics.h +++ b/DesktopEditor/graphics/Graphics.h @@ -128,12 +128,9 @@ typedef agg::rendering_buffer rendering_buffer_type; typedef agg::pixfmt_bgra32 pixformat_type; typedef agg::blender_rgba< agg::svg::color_type, agg::svg::component_order > blender_type; -typedef agg::comp_op_adaptor_rgba< agg::svg::color_type, agg::svg::component_order > blender_type_comp; typedef agg::pixfmt_alpha_blend_rgba< blender_type, agg::rendering_buffer, agg::svg::pixel_type > pixfmt_type; -typedef agg::pixfmt_custom_blend_rgba< blender_type_comp, agg::rendering_buffer> pixfmt_type_comp; typedef agg::renderer_base base_renderer_type; -typedef agg::renderer_base comp_renderer_type; typedef agg::scanline_u8 scanline_type; typedef agg::span_interpolator_linear<> interpolator_type_linear; @@ -307,7 +304,6 @@ public: CGraphics_ClipState m_oClipState; int m_nTextRenderMode; - unsigned int m_nBlendMode; public: diff --git a/DesktopEditor/graphics/GraphicsRenderer.cpp b/DesktopEditor/graphics/GraphicsRenderer.cpp index fa2b30a1a3..ea68d1d709 100644 --- a/DesktopEditor/graphics/GraphicsRenderer.cpp +++ b/DesktopEditor/graphics/GraphicsRenderer.cpp @@ -1438,10 +1438,3 @@ void CGraphicsRenderer::Restore() RELEASEOBJECT(pState); } -void CGraphicsRenderer::put_BlendMode(const unsigned int nBlendMode) -{ - if (NULL != m_pRenderer) - { - m_pRenderer->m_nBlendMode = nBlendMode; - } -} diff --git a/DesktopEditor/graphics/GraphicsRenderer.h b/DesktopEditor/graphics/GraphicsRenderer.h index ef8857c3bd..a7ddf99374 100644 --- a/DesktopEditor/graphics/GraphicsRenderer.h +++ b/DesktopEditor/graphics/GraphicsRenderer.h @@ -274,7 +274,6 @@ public: { _SetFont(); } - virtual void put_BlendMode(const unsigned int nBlendMode) override; public: virtual void CloseFont() diff --git a/DesktopEditor/graphics/pro/Graphics.h b/DesktopEditor/graphics/pro/Graphics.h index 296a3c9050..76e879b148 100644 --- a/DesktopEditor/graphics/pro/Graphics.h +++ b/DesktopEditor/graphics/pro/Graphics.h @@ -126,7 +126,6 @@ namespace NSGraphics // test virtual void put_BrushGradInfo(const NSStructures::GradientInfo &_ginfo) = 0; - virtual void put_BlendMode(const unsigned int nBlendMode) = 0; }; GRAPHICS_DECL IGraphicsRenderer* Create(); diff --git a/PdfReader/Src/RendererOutputDev.cpp b/PdfReader/Src/RendererOutputDev.cpp index fa3345ef44..0f9fcc1517 100644 --- a/PdfReader/Src/RendererOutputDev.cpp +++ b/PdfReader/Src/RendererOutputDev.cpp @@ -775,69 +775,6 @@ namespace PdfReader } void RendererOutputDev::updateBlendMode(GfxState *pGState) { - NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast(m_pRenderer); - if (!GRenderer) - return; - - switch (pGState->getBlendMode()) - { - case gfxBlendNormal: - GRenderer->put_BlendMode(3); - // agg::comp_op_src_over - break; - case gfxBlendMultiply: - GRenderer->put_BlendMode(14); - // agg::comp_op_multiply - break; - case gfxBlendScreen: - GRenderer->put_BlendMode(15); - // agg::comp_op_screen - break; - case gfxBlendOverlay: - GRenderer->put_BlendMode(16); - // agg::comp_op_overlay - break; - case gfxBlendDarken: - GRenderer->put_BlendMode(17); - // agg::comp_op_darken - break; - case gfxBlendLighten: - GRenderer->put_BlendMode(18); - // agg::comp_op_lighten - break; - case gfxBlendColorDodge: - GRenderer->put_BlendMode(19); - // agg::comp_op_color_dodge - break; - case gfxBlendColorBurn: - GRenderer->put_BlendMode(20); - // agg::comp_op_color_burn - break; - case gfxBlendHardLight: - GRenderer->put_BlendMode(21); - // agg::comp_op_hard_light - break; - case gfxBlendSoftLight: - GRenderer->put_BlendMode(22); - // agg::comp_op_soft_light - break; - case gfxBlendDifference: - GRenderer->put_BlendMode(23); - // agg::comp_op_difference - break; - case gfxBlendExclusion: - GRenderer->put_BlendMode(24); - // agg::comp_op_exclusion - break; - case gfxBlendHue: - case gfxBlendSaturation: - case gfxBlendColor: - case gfxBlendLuminosity: - default: - GRenderer->put_BlendMode(3); - // agg::comp_op_src_over - break; - } } void RendererOutputDev::updateFillOpacity(GfxState *pGState) { @@ -3023,25 +2960,6 @@ namespace PdfReader double xmin, xmax, ymin, ymax, r; double *matrix; - if (pGState->getStrokeColorSpace() && pGState->getStrokeColorSpace()->getMode() == csPattern) - { - // TODO градиентная заливка stroke с поддержкой dash и т.п. - return true; - m_pRenderer->put_BrushColor1(0); - m_pRenderer->put_BrushColor2(0); - - pGState->getUserClipBBox(&xmin, &ymin, &xmax, &ymax); - - pGState->moveTo(xmin, ymin); - pGState->lineTo(xmin, ymax); - pGState->lineTo(xmax, ymax); - pGState->lineTo(xmax, ymin); - pGState->closePath(); - - stroke(pGState); - return true; - } - int nTriangles = 0, nPatches = 0; switch (pShading->getType()) { diff --git a/PdfReader/lib/xpdf/Gfx.cc b/PdfReader/lib/xpdf/Gfx.cc index 4bfebe6c61..ed98d9d165 100644 --- a/PdfReader/lib/xpdf/Gfx.cc +++ b/PdfReader/lib/xpdf/Gfx.cc @@ -4770,7 +4770,6 @@ void Gfx::drawForm(Object *strRef, Dict *resDict, strObj.free(); traceBegin(oldBaseMatrix, softMask ? "begin soft mask" : "begin t-group"); - /* if (state->getBlendMode() != gfxBlendNormal) { state->setBlendMode(gfxBlendNormal); out->updateBlendMode(state); @@ -4783,7 +4782,6 @@ void Gfx::drawForm(Object *strRef, Dict *resDict, state->setStrokeOpacity(1); out->updateStrokeOpacity(state); } - */ out->clearSoftMask(state); out->beginTransparencyGroup(state, bbox, blendingColorSpace, isolated, knockout, softMask);