Add scale for texture fill

This commit is contained in:
Prokhorov Kirill
2025-12-04 19:33:22 +03:00
parent 1e23cb2efc
commit d76b5b88b8
2 changed files with 23 additions and 0 deletions

View File

@ -99,6 +99,9 @@ namespace NSQRenderer
virtual HRESULT get_BrushOffset(double& offsetX, double& offsetY) const override;
virtual HRESULT put_BrushOffset(const double& offsetX, const double& offsetY) override;
virtual HRESULT get_BrushScale(bool& isScale, double& scaleX, double& scaleY) const override;
virtual HRESULT put_BrushScale(bool isScale, const double& scaleX, const double& scaleY) override;
virtual HRESULT put_BrushGradientColors(LONG* lColors
, double* pPositions
, LONG nCount) override;
@ -198,6 +201,7 @@ namespace NSQRenderer
, const double& y
, const double& w
, const double& h) override;
virtual HRESULT AddPath(const Aggplus::CGraphicsPath& path) override;
//-------- Функции для вывода изображений ---------------------------------------------------
virtual HRESULT DrawImage(IGrObject* pImage

View File

@ -479,6 +479,8 @@ namespace NSConversions
oTransform.translate(dOffsetX, dOffsetY);
oTransform.translate(pLogicBrush->OffsetX, pLogicBrush->OffsetY);
if (pLogicBrush->IsScale)
oTransform.scale(pLogicBrush->ScaleX, pLogicBrush->ScaleY);
}
oTransform.scale(dScaleX, dScaleY);
@ -1197,6 +1199,23 @@ HRESULT NSQRenderer::CQRenderer::put_BrushOffset(const double& offsetX, const do
m_oBrush.OffsetY = offsetY;
return S_OK;
}
HRESULT NSQRenderer::CQRenderer::get_BrushScale(bool& isScale, double& scaleX, double& scaleY) const
{
isScale = m_oBrush.IsScale;
scaleX = m_oBrush.ScaleX;
scaleY = m_oBrush.ScaleY;
return S_OK;
}
HRESULT NSQRenderer::CQRenderer::put_BrushScale(bool isScale, const double& scaleX, const double& scaleY)
{
m_oBrush.IsScale = isScale;
m_oBrush.ScaleX = scaleX;
m_oBrush.ScaleY = scaleY;
return S_OK;
}
HRESULT NSQRenderer::CQRenderer::put_BrushGradientColors(LONG *lColors, double *pPositions, LONG nCount)
{
#ifdef ENABLE_LOGS