Move methods from graphics renderer to base interface

This commit is contained in:
Oleg Korshul
2024-09-09 15:03:59 +03:00
parent f21d92ee92
commit 493cec92c6
6 changed files with 27 additions and 36 deletions

View File

@ -1537,7 +1537,7 @@ void CGraphicsRenderer::Restore()
RELEASEOBJECT(pState); RELEASEOBJECT(pState);
} }
void CGraphicsRenderer::put_BlendMode(const unsigned int nBlendMode) void CGraphicsRenderer::put_BlendMode(const unsigned int& nBlendMode)
{ {
if (NULL != m_pRenderer) if (NULL != m_pRenderer)
{ {

View File

@ -163,9 +163,9 @@ public:
virtual HRESULT PenDashPattern(double* pPattern, LONG lCount); virtual HRESULT PenDashPattern(double* pPattern, LONG lCount);
// brush ------------------------------------------------------------------------------------ // brush ------------------------------------------------------------------------------------
virtual void put_BrushGradInfo(const NSStructures::GradientInfo &_ginfo) override { virtual void put_BrushGradInfo(void* pGradInfo) override {
m_oBrush.m_oGradientInfo = _ginfo; m_oBrush.m_oGradientInfo = *((NSStructures::GradientInfo*)pGradInfo);
} }
virtual HRESULT get_BrushType(LONG* lType); virtual HRESULT get_BrushType(LONG* lType);
virtual HRESULT put_BrushType(const LONG& lType); virtual HRESULT put_BrushType(const LONG& lType);
@ -278,7 +278,7 @@ public:
{ {
_SetFont(); _SetFont();
} }
virtual void put_BlendMode(const unsigned int nBlendMode) override; virtual void put_BlendMode(const unsigned int& nBlendMode) override;
public: public:
virtual void CloseFont() virtual void CloseFont()

View File

@ -403,6 +403,15 @@ public:
UNUSED_VARIABLE(dValue); UNUSED_VARIABLE(dValue);
return S_FALSE; return S_FALSE;
} }
virtual void put_BrushGradInfo(void* pGradInfo)
{
UNUSED_VARIABLE(pGradInfo);
}
virtual void put_BlendMode(const unsigned int& nBlendMode)
{
UNUSED_VARIABLE(nBlendMode);
}
}; };
#define PROPERTY_RENDERER(NameBase, Name, Type) \ #define PROPERTY_RENDERER(NameBase, Name, Type) \

View File

@ -131,11 +131,6 @@ namespace NSGraphics
virtual void drawVerLine(BYTE align, double x, double y, double b, double penW) = 0; virtual void drawVerLine(BYTE align, double x, double y, double b, double penW) = 0;
virtual void drawHorLineExt(BYTE align, double y, double x, double r, double penW, double leftMW, double rightMW) = 0; virtual void drawHorLineExt(BYTE align, double y, double x, double r, double penW, double leftMW, double rightMW) = 0;
// test
virtual void put_BrushGradInfo(const NSStructures::GradientInfo &_ginfo) = 0;
virtual void put_BlendMode(const unsigned int nBlendMode) = 0;
}; };
GRAPHICS_DECL IGraphicsRenderer* Create(); GRAPHICS_DECL IGraphicsRenderer* Create();

View File

@ -1895,11 +1895,8 @@ namespace PdfReader
cur_y += delta_y; cur_y += delta_y;
} }
if (NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast<NSGraphics::IGraphicsRenderer*>(m_pRenderer)) m_pRenderer->put_BrushGradInfo(&info);
{ m_pRenderer->DrawPath(c_nWindingFillMode);
GRenderer->put_BrushGradInfo(info);
m_pRenderer->DrawPath(c_nWindingFillMode);
}
m_pRenderer->EndCommand(c_nPathType); m_pRenderer->EndCommand(c_nPathType);
m_pRenderer->put_BrushType(brush); m_pRenderer->put_BrushType(brush);
@ -1953,11 +1950,8 @@ namespace PdfReader
t+=delta; t+=delta;
} }
if (NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast<NSGraphics::IGraphicsRenderer*>(m_pRenderer)) m_pRenderer->put_BrushGradInfo(&info);
{ m_pRenderer->DrawPath(c_nWindingFillMode);
GRenderer->put_BrushGradInfo(info);
m_pRenderer->DrawPath(c_nWindingFillMode);
}
m_pRenderer->EndCommand(c_nPathType); m_pRenderer->EndCommand(c_nPathType);
@ -2009,11 +2003,9 @@ namespace PdfReader
t+=delta; t+=delta;
} }
if (NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast<NSGraphics::IGraphicsRenderer*>(m_pRenderer)) m_pRenderer->put_BrushGradInfo(&info);
{ m_pRenderer->DrawPath(c_nWindingFillMode);
GRenderer->put_BrushGradInfo(info);
m_pRenderer->DrawPath(c_nWindingFillMode);
}
m_pRenderer->EndCommand(c_nPathType); m_pRenderer->EndCommand(c_nPathType);
m_pRenderer->put_BrushType(brush); m_pRenderer->put_BrushType(brush);
pGState->clearPath(); pGState->clearPath();
@ -2051,11 +2043,9 @@ namespace PdfReader
NSStructures::GradientInfo info = NSStructures::GInfoConstructor::get_triangle(pixel_points, rgba8_colors, {}, false); NSStructures::GradientInfo info = NSStructures::GInfoConstructor::get_triangle(pixel_points, rgba8_colors, {}, false);
if (NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast<NSGraphics::IGraphicsRenderer*>(m_pRenderer)) m_pRenderer->put_BrushGradInfo(&info);
{ m_pRenderer->DrawPath(c_nWindingFillMode);
GRenderer->put_BrushGradInfo(info);
m_pRenderer->DrawPath(c_nWindingFillMode);
}
pGState->clearPath(); pGState->clearPath();
m_pRenderer->EndCommand(c_nPathType); m_pRenderer->EndCommand(c_nPathType);
m_pRenderer->put_BrushType(brush); m_pRenderer->put_BrushType(brush);
@ -2107,11 +2097,8 @@ namespace PdfReader
false false
); );
if (NSGraphics::IGraphicsRenderer* GRenderer = dynamic_cast<NSGraphics::IGraphicsRenderer*>(m_pRenderer)) m_pRenderer->put_BrushGradInfo(&info);
{ m_pRenderer->DrawPath(c_nWindingFillMode);
GRenderer->put_BrushGradInfo(info);
m_pRenderer->DrawPath(c_nWindingFillMode);
}
m_pRenderer->EndCommand(c_nPathType); m_pRenderer->EndCommand(c_nPathType);
m_pRenderer->put_BrushType(brush); m_pRenderer->put_BrushType(brush);

View File

@ -61,7 +61,7 @@ QImage GenerateImg(std::vector<NSStructures::Point> &points, Info &info, const i
NSStructures::GradientInfo ginfo = info.ginfo; NSStructures::GradientInfo ginfo = info.ginfo;
ginfo.shading.f_type = NSStructures::ShadingInfo::UseNew; ginfo.shading.f_type = NSStructures::ShadingInfo::UseNew;
pRasterRenderer->put_BrushGradInfo(ginfo); pRasterRenderer->put_BrushGradInfo(&ginfo);
auto a = info.c; auto a = info.c;
auto b = info.p; auto b = info.p;
LONG *c = a.data(); LONG *c = a.data();