[Libreoffice-commits] core.git: 2 commits - drawinglayer/source solenv/clang-format

2020-05-02 Thread Tomaž Vajngerl (via logerrit)
 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

2020-04-14 Thread Tomaž Vajngerl (via logerrit)
 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