From 49cdde75b37035008f1989fef25204f1782cb73a Mon Sep 17 00:00:00 2001 From: Kirill Poljakov Date: Mon, 10 Jul 2023 21:11:41 +0300 Subject: [PATCH] Fixed bugs --- Common/3dParty/html/css/src/StyleProperties.cpp | 4 ++-- DesktopEditor/raster/Metafile/svg/SvgObjects/CImage.cpp | 5 ----- .../raster/Metafile/svg/SvgObjects/CObjectBase.cpp | 6 +++--- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Common/3dParty/html/css/src/StyleProperties.cpp b/Common/3dParty/html/css/src/StyleProperties.cpp index 5f26abf892..7eebe1b4dd 100644 --- a/Common/3dParty/html/css/src/StyleProperties.cpp +++ b/Common/3dParty/html/css/src/StyleProperties.cpp @@ -496,7 +496,7 @@ namespace NSCSS bool CColor::SetValue(const std::wstring &wsValue, unsigned int unLevel, bool bHardMode) { - if (((m_bImportant || unLevel < m_unLevel) && !bHardMode)) + if (((m_bImportant || unLevel < m_unLevel) && !bHardMode) || (wsValue.empty() && unLevel == m_unLevel)) return false; if (wsValue.empty()) @@ -700,7 +700,7 @@ namespace NSCSS bool CMatrix::SetValue(const std::wstring &wsValue, unsigned int unLevel, bool bHardMode) { - if (((m_bImportant || unLevel < m_unLevel) && !bHardMode)) + if (((m_bImportant || unLevel < m_unLevel) && !bHardMode) || (wsValue.empty() && unLevel == m_unLevel)) return false; std::wstring wsNewValue = wsValue; diff --git a/DesktopEditor/raster/Metafile/svg/SvgObjects/CImage.cpp b/DesktopEditor/raster/Metafile/svg/SvgObjects/CImage.cpp index 7d279ee000..b27fbfa315 100644 --- a/DesktopEditor/raster/Metafile/svg/SvgObjects/CImage.cpp +++ b/DesktopEditor/raster/Metafile/svg/SvgObjects/CImage.cpp @@ -70,9 +70,6 @@ namespace SVG Aggplus::CImage oImage; oImage.Create(oBgraFrame.get_Data(), dImageW, dImageH, -4 * dImageW, true); - Aggplus::CMatrix oOldMatrix; - Apply(pRenderer, &m_oStyles.m_oTransform, oOldMatrix); - if (dImageW / dWidth > dImageH / dHeight) { double dValue = dImageW / dWidth; @@ -99,8 +96,6 @@ namespace SVG EndPath(pRenderer, pFile, oOldTransform, oMode, pOtherStyles); - pRenderer->SetTransform(oOldMatrix.sx(), oOldMatrix.shy(), oOldMatrix.shx(), oOldMatrix.sy(), oOldMatrix.tx(), oOldMatrix.ty()); - delete[] pBuffer; return true; diff --git a/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.cpp b/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.cpp index d50cf776bd..b321a8f3a1 100644 --- a/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.cpp +++ b/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.cpp @@ -149,7 +149,7 @@ namespace SVG if (mAttributes.end() != mAttributes.find(L"transform")) m_oStyles.m_oTransform.SetMatrix(mAttributes.at(L"transform"), ushLevel, bHardMode); else - m_oStyles.m_oTransform.SetMatrix(L"", ushLevel, bHardMode); + m_oStyles.m_oTransform.SetMatrix(L"", ushLevel, false); } void CRenderedObject::SetClip(const std::map &mAttributes, unsigned short ushLevel, bool bHardMode) @@ -157,7 +157,7 @@ namespace SVG if (mAttributes.end() != mAttributes.find(L"clip-path")) m_oStyles.m_oClip.m_oHref.SetValue(mAttributes.at(L"clip-path"), ushLevel, bHardMode); else - m_oStyles.m_oClip.m_oHref.SetValue(L"", ushLevel, bHardMode); + m_oStyles.m_oClip.m_oHref.SetValue(L"", ushLevel, false); if (mAttributes.end() != mAttributes.find(L"clip-rule")) m_oStyles.m_oClip.m_oRule.SetValue(mAttributes.at(L"clip-rule"), std::vector{L"nonzero", L"evenodd"}, ushLevel, bHardMode); @@ -168,7 +168,7 @@ namespace SVG if (mAttributes.end() != mAttributes.find(L"mask")) m_oStyles.m_oMask.SetValue(mAttributes.at(L"mask"), ushLevel, bHardMode); else - m_oStyles.m_oMask.SetValue(L"", ushLevel, bHardMode); + m_oStyles.m_oMask.SetValue(L"", ushLevel, false); } void CRenderedObject::SetDisplay(const std::map &mAttributes, unsigned short ushLevel, bool bHardMode)