vcl/headless/CairoCommon.cxx                    |    2 -
 vcl/headless/SvpGraphicsBackend.cxx             |   14 +++++-----
 vcl/inc/headless/CairoCommon.hxx                |    2 -
 vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx |   31 ++++++------------------
 4 files changed, 18 insertions(+), 31 deletions(-)

New commits:
commit 9124e9d2381ac7b039ef00b70f21b23b60735bb9
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Jan 2 20:40:38 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Jan 4 15:42:06 2023 +0000

    drop SAL_DISABLE_USE_CAIRO_FOR_FATLINES
    
    Change-Id: Ic55a117ff1f2b971f2f075d706fd1b182f16ace5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144969
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx 
b/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
index 2109e19b9660..9f2fcb988697 100644
--- a/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
+++ b/vcl/unx/generic/gdi/X11CairoSalGraphicsImpl.cxx
@@ -153,31 +153,18 @@ bool X11CairoSalGraphicsImpl::drawPolyLine(const 
basegfx::B2DHomMatrix& rObjectT
         return true;
     }
 
-    // disable by setting to something
-    static const char* 
pUseCairoForFatLines(getenv("SAL_DISABLE_USE_CAIRO_FOR_FATLINES"));
+    cairo_t* cr = mrX11Common.getCairoContext();
+    clipRegion(cr);
 
-    if (nullptr == pUseCairoForFatLines && mrX11Common.SupportsCairo())
-    {
-        cairo_t* cr = mrX11Common.getCairoContext();
-        clipRegion(cr);
+    // Use the now available static drawPolyLine from the 
Cairo-Headless-Fallback
+    // that will take care of all needed stuff
+    const bool bRetval(CairoCommon::drawPolyLine(
+        cr, nullptr, mnPenColor, getAntiAlias(), rObjectToDevice, rPolygon, 
fTransparency,
+        fLineWidth, pStroke, eLineJoin, eLineCap, fMiterMinimumAngle, 
bPixelSnapHairline));
 
-        // Use the now available static drawPolyLine from the 
Cairo-Headless-Fallback
-        // that will take care of all needed stuff
-        const bool bRetval(CairoCommon::drawPolyLine(
-            cr, nullptr, mnPenColor, getAntiAlias(), rObjectToDevice, 
rPolygon, fTransparency,
-            fLineWidth, pStroke, eLineJoin, eLineCap, fMiterMinimumAngle, 
bPixelSnapHairline));
-
-        X11Common::releaseCairoContext(cr);
-
-        if (bRetval)
-        {
-            return true;
-        }
-    }
+    X11Common::releaseCairoContext(cr);
 
-    return X11SalGraphicsImpl::drawPolyLine(rObjectToDevice, rPolygon, 
fTransparency, fLineWidth,
-                                            pStroke, eLineJoin, eLineCap, 
fMiterMinimumAngle,
-                                            bPixelSnapHairline);
+    return bRetval;
 }
 
 #endif
commit e9749cf0e9a4110fe47ba2f3693b2f7dbf2dd7a3
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Jan 3 20:12:43 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Jan 4 15:41:54 2023 +0000

    make applyColor static
    
    Change-Id: I69cdc922488351d8bd7c0facf9c7209f56f24291
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145027
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 511799dff9ce..3a8010f21b59 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -567,7 +567,7 @@ cairo_t* CairoCommon::createTmpCompatibleCairoContext() 
const
 
 void CairoCommon::applyColor(cairo_t* cr, Color aColor, double fTransparency)
 {
-    if (cairo_surface_get_content(m_pSurface) == CAIRO_CONTENT_COLOR_ALPHA)
+    if (cairo_surface_get_content(cairo_get_target(cr)) == 
CAIRO_CONTENT_COLOR_ALPHA)
     {
         cairo_set_source_rgba(cr, aColor.GetRed() / 255.0, aColor.GetGreen() / 
255.0,
                               aColor.GetBlue() / 255.0, 1.0 - fTransparency);
diff --git a/vcl/headless/SvpGraphicsBackend.cxx 
b/vcl/headless/SvpGraphicsBackend.cxx
index 10667e53e4dd..a47332173676 100644
--- a/vcl/headless/SvpGraphicsBackend.cxx
+++ b/vcl/headless/SvpGraphicsBackend.cxx
@@ -112,7 +112,7 @@ void SvpGraphicsBackend::drawPixel(tools::Long nX, 
tools::Long nY, Color aColor)
     m_rCairoCommon.clipRegion(cr);
 
     cairo_rectangle(cr, nX, nY, 1, 1);
-    m_rCairoCommon.applyColor(cr, aColor, 0.0);
+    CairoCommon::applyColor(cr, aColor, 0.0);
     cairo_fill(cr);
 
     basegfx::B2DRange extents = getClippedFillDamage(cr);
@@ -141,7 +141,7 @@ void SvpGraphicsBackend::drawLine(tools::Long nX1, 
tools::Long nY1, tools::Long
 
     AddPolygonToPath(cr, aPoly, basegfx::B2DHomMatrix(), !getAntiAlias(), 
false);
 
-    m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aLineColor);
+    CairoCommon::applyColor(cr, m_rCairoCommon.m_aLineColor);
 
     basegfx::B2DRange extents = getClippedStrokeDamage(cr);
     extents.transform(basegfx::utils::createTranslateB2DHomMatrix(0.5, 0.5));
@@ -187,7 +187,7 @@ void SvpGraphicsBackend::implDrawRect(double nX, double nY, 
double nWidth, doubl
 
         cairo_rectangle(cr, nX, nY, nWidth, nHeight);
 
-        m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
+        CairoCommon::applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
         // Get FillDamage (will be extended for LineDamage below)
         extents = getClippedFillDamage(cr);
 
@@ -317,7 +317,7 @@ bool SvpGraphicsBackend::drawPolyPolygon(const 
basegfx::B2DHomMatrix& rObjectToD
     {
         add_polygon_path(cr, rPolyPolygon, rObjectToDevice, !getAntiAlias());
 
-        m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
+        CairoCommon::applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
         // Get FillDamage (will be extended for LineDamage below)
         extents = getClippedFillDamage(cr);
 
@@ -333,7 +333,7 @@ bool SvpGraphicsBackend::drawPolyPolygon(const 
basegfx::B2DHomMatrix& rObjectToD
 
         add_polygon_path(cr, rPolyPolygon, rObjectToDevice, !getAntiAlias());
 
-        m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aLineColor, 
fTransparency);
+        CairoCommon::applyColor(cr, m_rCairoCommon.m_aLineColor, 
fTransparency);
 
         // expand with possible StrokeDamage
         basegfx::B2DRange stroke_extents = getClippedStrokeDamage(cr);
@@ -842,7 +842,7 @@ bool SvpGraphicsBackend::drawAlphaRect(tools::Long nX, 
tools::Long nY, tools::Lo
     {
         cairo_rectangle(cr, nX, nY, nWidth, nHeight);
 
-        m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
+        CairoCommon::applyColor(cr, m_rCairoCommon.m_aFillColor, 
fTransparency);
 
         // set FillDamage
         extents = getClippedFillDamage(cr);
@@ -860,7 +860,7 @@ bool SvpGraphicsBackend::drawAlphaRect(tools::Long nX, 
tools::Long nY, tools::Lo
 
         cairo_rectangle(cr, nX, nY, nWidth, nHeight);
 
-        m_rCairoCommon.applyColor(cr, m_rCairoCommon.m_aLineColor, 
fTransparency);
+        CairoCommon::applyColor(cr, m_rCairoCommon.m_aLineColor, 
fTransparency);
 
         // expand with possible StrokeDamage
         basegfx::B2DRange stroke_extents = getClippedStrokeDamage(cr);
diff --git a/vcl/inc/headless/CairoCommon.hxx b/vcl/inc/headless/CairoCommon.hxx
index 230d8988429c..3bf132c95894 100644
--- a/vcl/inc/headless/CairoCommon.hxx
+++ b/vcl/inc/headless/CairoCommon.hxx
@@ -144,7 +144,7 @@ struct VCL_DLLPUBLIC CairoCommon
 
     cairo_t* createTmpCompatibleCairoContext() const;
 
-    void applyColor(cairo_t* cr, Color rColor, double fTransparency = 0.0);
+    static void applyColor(cairo_t* cr, Color rColor, double fTransparency = 
0.0);
     void clipRegion(cairo_t* cr);
     static void clipRegion(cairo_t* cr, const vcl::Region& rClipRegion);
 

Reply via email to