mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Fix bug 59175
This commit is contained in:
@ -615,6 +615,20 @@ namespace Aggplus
|
|||||||
double dblMiterLimit = pPen->MiterLimit;
|
double dblMiterLimit = pPen->MiterLimit;
|
||||||
|
|
||||||
agg::path_storage path_copy(pPath->m_internal->m_agg_ps);
|
agg::path_storage path_copy(pPath->m_internal->m_agg_ps);
|
||||||
|
bool bIsUseIdentity = m_bIntegerGrid;
|
||||||
|
if (!bIsUseIdentity)
|
||||||
|
{
|
||||||
|
agg::trans_affine* full_trans = &m_oFullTransform.m_internal->m_agg_mtx;
|
||||||
|
|
||||||
|
if (full_trans->sx < 0.01 && full_trans->sy < 0.01)
|
||||||
|
{
|
||||||
|
path_copy.transform_all_paths(m_oFullTransform.m_internal->m_agg_mtx);
|
||||||
|
dWidth *= sqrt(full_trans->sx * full_trans->sy);
|
||||||
|
|
||||||
|
bIsUseIdentity = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
typedef agg::conv_curve<agg::path_storage> conv_crv_type;
|
typedef agg::conv_curve<agg::path_storage> conv_crv_type;
|
||||||
|
|
||||||
conv_crv_type c_c_path(path_copy);
|
conv_crv_type c_c_path(path_copy);
|
||||||
@ -645,7 +659,7 @@ namespace Aggplus
|
|||||||
}
|
}
|
||||||
|
|
||||||
agg::trans_affine* pAffine = &m_oFullTransform.m_internal->m_agg_mtx;
|
agg::trans_affine* pAffine = &m_oFullTransform.m_internal->m_agg_mtx;
|
||||||
if (m_bIntegerGrid)
|
if (bIsUseIdentity)
|
||||||
pAffine = new agg::trans_affine();
|
pAffine = new agg::trans_affine();
|
||||||
|
|
||||||
if (DashStyleSolid == eStyle)
|
if (DashStyleSolid == eStyle)
|
||||||
@ -751,7 +765,7 @@ namespace Aggplus
|
|||||||
if (gamma >= 0)
|
if (gamma >= 0)
|
||||||
m_rasterizer.gamma(1.0);
|
m_rasterizer.gamma(1.0);
|
||||||
|
|
||||||
if (m_bIntegerGrid)
|
if (bIsUseIdentity)
|
||||||
RELEASEOBJECT(pAffine);
|
RELEASEOBJECT(pAffine);
|
||||||
|
|
||||||
return Ok;
|
return Ok;
|
||||||
|
|||||||
Reference in New Issue
Block a user