[Libreoffice-commits] core.git: 2 commits - drawinglayer/source solenv/clang-format
drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 1557 +- drawinglayer/source/processor2d/vclprocessor2d.cxx | 2305 solenv/clang-format/blacklist |2 3 files changed, 1994 insertions(+), 1870 deletions(-) New commits: commit e1c79efa644bf1cabc0aee02cfc85f1781822fcc Author: Tomaž Vajngerl AuthorDate: Wed Apr 29 17:50:06 2020 +0200 Commit: Tomaž Vajngerl CommitDate: Sat May 2 21:41:50 2020 +0200 remove vclpixelprocessor2d.cxx from clang-format blacklist Change-Id: I03ad72d0754cb8c180f4eab0e8040c3dab533ef9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93321 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 654fa6e6168f..f09c6ad0fd76 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -65,826 +65,891 @@ using namespace com::sun::star; namespace drawinglayer::processor2d { -struct VclPixelProcessor2D::Impl -{ -AntialiasingFlags m_nOrigAntiAliasing; +struct VclPixelProcessor2D::Impl +{ +AntialiasingFlags m_nOrigAntiAliasing; + +explicit Impl(OutputDevice const& rOutDev) +: m_nOrigAntiAliasing(rOutDev.GetAntialiasing()) +{ +} +}; + +VclPixelProcessor2D::VclPixelProcessor2D(const geometry::ViewInformation2D& rViewInformation, + OutputDevice& rOutDev) +: VclProcessor2D(rViewInformation, rOutDev) +, m_pImpl(new Impl(rOutDev)) +{ +// prepare maCurrentTransformation matrix with viewTransformation to target directly to pixels +maCurrentTransformation = rViewInformation.getObjectToViewTransformation(); + +// prepare output directly to pixels +mpOutputDevice->Push(PushFlags::MAPMODE); +mpOutputDevice->SetMapMode(); + +// react on AntiAliasing settings +if (getOptionsDrawinglayer().IsAntiAliasing()) +{ +mpOutputDevice->SetAntialiasing(m_pImpl->m_nOrigAntiAliasing +| AntialiasingFlags::EnableB2dDraw); +} +else +{ +mpOutputDevice->SetAntialiasing(m_pImpl->m_nOrigAntiAliasing +& ~AntialiasingFlags::EnableB2dDraw); +} +} + +VclPixelProcessor2D::~VclPixelProcessor2D() +{ +// restore MapMode +mpOutputDevice->Pop(); -explicit Impl(OutputDevice const& rOutDev) -: m_nOrigAntiAliasing(rOutDev.GetAntialiasing()) -{ } -}; +// restore AntiAliasing +mpOutputDevice->SetAntialiasing(m_pImpl->m_nOrigAntiAliasing); +} -VclPixelProcessor2D::VclPixelProcessor2D(const geometry::ViewInformation2D& rViewInformation, OutputDevice& rOutDev) -: VclProcessor2D(rViewInformation, rOutDev) -, m_pImpl(new Impl(rOutDev)) -{ -// prepare maCurrentTransformation matrix with viewTransformation to target directly to pixels -maCurrentTransformation = rViewInformation.getObjectToViewTransformation(); +void VclPixelProcessor2D::tryDrawPolyPolygonColorPrimitive2DDirect( +const drawinglayer::primitive2d::PolyPolygonColorPrimitive2D& rSource, double fTransparency) +{ +if (!rSource.getB2DPolyPolygon().count() || fTransparency < 0.0 || fTransparency >= 1.0) +{ +// no geometry, done +return; +} + +const basegfx::BColor aPolygonColor( +maBColorModifierStack.getModifiedColor(rSource.getBColor())); + +mpOutputDevice->SetFillColor(Color(aPolygonColor)); +mpOutputDevice->SetLineColor(); +mpOutputDevice->DrawTransparent(maCurrentTransformation, rSource.getB2DPolyPolygon(), +fTransparency); +} + +bool VclPixelProcessor2D::tryDrawPolygonHairlinePrimitive2DDirect( +const drawinglayer::primitive2d::PolygonHairlinePrimitive2D& rSource, double fTransparency) +{ +const basegfx::B2DPolygon& rLocalPolygon(rSource.getB2DPolygon()); -// prepare output directly to pixels -mpOutputDevice->Push(PushFlags::MAPMODE); -mpOutputDevice->SetMapMode(); +if (!rLocalPolygon.count() || fTransparency < 0.0 || fTransparency >= 1.0) +{ +// no geometry, done +return true; +} -// react on AntiAliasing settings -if(getOptionsDrawinglayer().IsAntiAliasing()) -{ -mpOutputDevice->SetAntialiasing( - m_pImpl->m_nOrigAntiAliasing | AntialiasingFlags::EnableB2dDraw); -} -else -{ -mpOutputDevice->SetAntialiasing( - m_pImpl->m_nOrigAntiAliasing & ~AntialiasingFlags::EnableB2dDraw); -} -} +const basegfx::BColor
[Libreoffice-commits] core.git: 2 commits - drawinglayer/source solenv/clang-format
drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |6 drawinglayer/source/processor2d/vclpixelprocessor2d.hxx | 120 solenv/clang-format/blacklist |1 3 files changed, 69 insertions(+), 58 deletions(-) New commits: commit 38c5cfa1da8f0a615e479a68f3bcb238395109a8 Author: Tomaž Vajngerl AuthorDate: Sun Apr 12 13:22:26 2020 +0200 Commit: Tomaž Vajngerl CommitDate: Tue Apr 14 23:23:50 2020 +0200 fdo#43157: VclPixelProcessor2D replace OSL_ENSURE with SAL_WARN_IF Change-Id: I4a6c46f9054f9a32d52f1f60f5f7547e62cf7a5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92223 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 972c08481040..9102230f4305 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -581,7 +581,7 @@ namespace drawinglayer::processor2d { // single transparent tools::PolyPolygon identified, use directly const primitive2d::PolyPolygonColorPrimitive2D* pPoPoColor = static_cast< const primitive2d::PolyPolygonColorPrimitive2D* >(pBasePrimitive); -OSL_ENSURE(pPoPoColor, "OOps, PrimitiveID and PrimitiveType do not match (!)"); +SAL_WARN_IF(!pPoPoColor, "drawinglayer", "OOps, PrimitiveID and PrimitiveType do not match (!)"); bDrawTransparentUsed = true; tryDrawPolyPolygonColorPrimitive2DDirect(*pPoPoColor, rUniTransparenceCandidate.getTransparence()); break; @@ -590,7 +590,7 @@ namespace drawinglayer::processor2d { // single transparent PolygonHairlinePrimitive2D identified, use directly const primitive2d::PolygonHairlinePrimitive2D* pPoHair = static_cast< const primitive2d::PolygonHairlinePrimitive2D* >(pBasePrimitive); -OSL_ENSURE(pPoHair, "OOps, PrimitiveID and PrimitiveType do not match (!)"); +SAL_WARN_IF(!pPoHair, "drawinglayer", "OOps, PrimitiveID and PrimitiveType do not match (!)"); // do no tallow by default - problem is that self-overlapping parts of this geometry will // not be in an all-same transparency but will already alpha-cover themselves with blending. @@ -604,7 +604,7 @@ namespace drawinglayer::processor2d { // single transparent PolygonStrokePrimitive2D identified, use directly const primitive2d::PolygonStrokePrimitive2D* pPoStroke = static_cast< const primitive2d::PolygonStrokePrimitive2D* >(pBasePrimitive); -OSL_ENSURE(pPoStroke, "OOps, PrimitiveID and PrimitiveType do not match (!)"); +SAL_WARN_IF(!pPoStroke, "drawinglayer", "OOps, PrimitiveID and PrimitiveType do not match (!)"); // do no tallow by default - problem is that self-overlapping parts of this geometry will // not be in an all-same transparency but will already alpha-cover themselves with blending. commit b753515b0e6f24193d70dd64506df1b484e65423 Author: Tomaž Vajngerl AuthorDate: Sun Apr 12 13:17:28 2020 +0200 Commit: Tomaž Vajngerl CommitDate: Tue Apr 14 23:23:32 2020 +0200 remove vclpixelprocessor2d.hxx from clang-format blacklist Change-Id: I5fe33322ff0df5191f57f1364a2d32eefc889d68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/9 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx index 1ee765ab1e51..5c834056c947 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.hxx @@ -24,69 +24,81 @@ #include -namespace drawinglayer::primitive2d { -class PolyPolygonColorPrimitive2D; -class PolygonHairlinePrimitive2D; -class PolygonStrokePrimitive2D; -class WrongSpellPrimitive2D; -class TextSimplePortionPrimitive; -class BitmapPrimitive2D; -class PolyPolygonGradientPrimitive2D; -class UnifiedTransparencePrimitive2D; -class ControlPrimitive2D; -class PolygonStrokePrimitive2D; -class FillHatchPrimitive2D; -class BackgroundColorPrimitive2D; -class BorderLinePrimitive2D; +namespace drawinglayer::primitive2d +{ +class