vcl/inc/unx/salgdi.h            |  109 +----------------------------------
 vcl/unx/generic/gdi/salgdi.cxx  |  122 +++-------------------------------------
 vcl/unx/generic/gdi/salgdi2.cxx |   98 --------------------------------
 3 files changed, 15 insertions(+), 314 deletions(-)

New commits:
commit 6790220e010f31ac97221f836b46e461c339a572
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Mon Apr 11 22:23:08 2022 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Tue Apr 12 08:25:28 2022 +0200

    vcl: use auto delegate for X11SalGraphics and remove duplicates
    
    X11SalGraphics can derive from SalGraphicsAutoDelegateToImpl to
    remove many calls to the mxImpl, which can instead be done by the
    auto delegator.
    
    Change-Id: I7add2e824eb1be01f8d278e5af8a378a34b32671
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132826
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 2a1a9945bd17..2d0e00800886 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -62,7 +62,7 @@ namespace basegfx {
     class B2DTrapezoid;
 }
 
-class X11SalGraphics final : public SalGraphics
+class X11SalGraphics final : public SalGraphicsAutoDelegateToImpl
 {
     friend class X11SalGraphicsImpl;
     friend class X11CairoTextRender;
@@ -97,8 +97,6 @@ public:
 
     // override all pure virtual methods
     virtual void                    GetResolution( sal_Int32& rDPIX, 
sal_Int32& rDPIY ) override;
-    virtual sal_uInt16              GetBitCount() const override;
-    virtual tools::Long                    GetGraphicsWidth() const override;
 
     virtual void                    ResetClipRegion() override;
     virtual bool                    setClipRegion( const vcl::Region& ) 
override;
@@ -109,11 +107,6 @@ public:
 
     virtual void                    SetFillColor( Color nColor ) override;
 
-    virtual void                    SetXORMode( bool bSet, bool ) override;
-
-    virtual void                    SetROPLineColor( SalROPColor nROPColor ) 
override;
-    virtual void                    SetROPFillColor( SalROPColor nROPColor ) 
override;
-
     virtual void                    SetTextColor( Color nColor ) override;
     virtual void                    SetFont(LogicalFontInstance*, int 
nFallbackLevel) override;
     virtual void                    GetFontMetric( ImplFontMetricDataRef&, int 
nFallbackLevel ) override;
@@ -145,18 +138,6 @@ public:
                                     GetTextLayout(int nFallbackLevel) override;
     virtual void                    DrawTextLayout( const GenericSalLayout& ) 
override;
 
-    virtual bool                    supportsOperation( OutDevSupportType ) 
const override;
-    virtual void                    drawPixel( tools::Long nX, tools::Long nY 
) override;
-    virtual void                    drawPixel( tools::Long nX, tools::Long nY, 
Color nColor ) override;
-    virtual void                    drawLine( tools::Long nX1, tools::Long 
nY1, tools::Long nX2, tools::Long nY2 ) override;
-    virtual void                    drawRect( tools::Long nX, tools::Long nY, 
tools::Long nWidth, tools::Long nHeight ) override;
-    virtual void                    drawPolyLine( sal_uInt32 nPoints, const 
Point* pPtAry ) override;
-    virtual void                    drawPolygon( sal_uInt32 nPoints, const 
Point* pPtAry ) override;
-
-    virtual void                    drawPolyPolygon(
-                                        sal_uInt32 nPoly,
-                                        const sal_uInt32* pPoints,
-                                        const Point** pPtAry ) override;
 
     virtual bool                    drawPolyPolygon(
                                         const basegfx::B2DHomMatrix& 
rObjectToDevice,
@@ -174,91 +155,6 @@ public:
                                         double fMiterMinimumAngle,
                                         bool bPixelSnapHairline) override;
 
-    virtual bool                    drawGradient( const tools::PolyPolygon&, 
const Gradient& ) override;
-    virtual bool                    implDrawGradient(basegfx::B2DPolyPolygon 
const & rPolyPolygon,
-                                        SalGradient const & rGradient) 
override;
-
-#if 1 // TODO: remove these obsolete methods
-    virtual bool                    drawPolyLineBezier(
-                                        sal_uInt32 nPoints,
-                                        const Point* pPtAry,
-                                        const PolyFlags* pFlgAry ) override;
-
-    virtual bool                    drawPolygonBezier(
-                                        sal_uInt32 nPoints,
-                                        const Point* pPtAry,
-                                        const PolyFlags* pFlgAry ) override;
-
-    virtual bool                    drawPolyPolygonBezier(
-                                        sal_uInt32 nPoly,
-                                        const sal_uInt32* pPoints,
-                                        const Point* const* pPtAry,
-                                        const PolyFlags* const* pFlgAry ) 
override;
-#endif
-
-    virtual void                    copyArea(
-                                        tools::Long nDestX,
-                                        tools::Long nDestY,
-                                        tools::Long nSrcX,
-                                        tools::Long nSrcY,
-                                        tools::Long nSrcWidth,
-                                        tools::Long nSrcHeight,
-                                        bool bWindowInvalidate ) override;
-
-    virtual void                    copyBits(
-                                        const SalTwoRect& rPosAry,
-                                        SalGraphics* pSrcGraphics ) override;
-
-    virtual void                    drawBitmap(
-                                        const SalTwoRect& rPosAry,
-                                        const SalBitmap& rSalBitmap ) override;
-
-    virtual void                    drawBitmap(
-                                        const SalTwoRect& rPosAry,
-                                        const SalBitmap& rSalBitmap,
-                                        const SalBitmap& rMaskBitmap ) 
override;
-
-    virtual void                    drawMask(
-                                        const SalTwoRect& rPosAry,
-                                        const SalBitmap& rSalBitmap,
-                                        Color nMaskColor ) override;
-
-    virtual std::shared_ptr<SalBitmap> getBitmap( tools::Long nX, tools::Long 
nY, tools::Long nWidth, tools::Long nHeight ) override;
-    virtual Color                   getPixel( tools::Long nX, tools::Long nY ) 
override;
-    virtual void                    invert( tools::Long nX, tools::Long nY, 
tools::Long nWidth, tools::Long nHeight, SalInvert nFlags ) override;
-    virtual void                    invert( sal_uInt32 nPoints, const Point* 
pPtAry, SalInvert nFlags ) override;
-
-    virtual bool                    drawEPS( tools::Long nX, tools::Long nY, 
tools::Long nWidth, tools::Long nHeight, void* pPtr, sal_uInt32 nSize ) 
override;
-
-    virtual bool                    blendBitmap(
-                                        const SalTwoRect&,
-                                        const SalBitmap& rBitmap ) override;
-
-    virtual bool                    blendAlphaBitmap(
-                                        const SalTwoRect&,
-                                        const SalBitmap& rSrcBitmap,
-                                        const SalBitmap& rMaskBitmap,
-                                        const SalBitmap& rAlphaBitmap ) 
override;
-
-    virtual bool                    drawAlphaBitmap(
-                                        const SalTwoRect&,
-                                        const SalBitmap& rSourceBitmap,
-                                        const SalBitmap& rAlphaBitmap ) 
override;
-
-    virtual bool                    drawTransformedBitmap(
-                                        const basegfx::B2DPoint& rNull,
-                                        const basegfx::B2DPoint& rX,
-                                        const basegfx::B2DPoint& rY,
-                                        const SalBitmap& rSourceBitmap,
-                                        const SalBitmap* pAlphaBitmap,
-                                        double fAlpha) override;
-
-    virtual bool                    hasFastDrawTransformedBitmap() const 
override;
-
-    virtual bool                    drawAlphaRect(
-                                        tools::Long nX, tools::Long nY, 
tools::Long nWidth,
-                                        tools::Long nHeight, sal_uInt8 
nTransparency ) override;
-
     virtual SystemGraphicsData      GetGraphicsData() const override;
 
 #if ENABLE_CAIRO_CANVAS
@@ -285,6 +181,9 @@ public:
 
 
 private:
+    using SalGraphicsAutoDelegateToImpl::drawPolyPolygon;
+    using SalGraphicsAutoDelegateToImpl::drawPolyLine;
+
     using SalGraphics::SetClipRegion;
     void                            SetClipRegion( GC pGC, Region pXReg = 
nullptr ) const;
     bool                            GetDitherPixmap ( Color nColor );
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index b5e1432764e6..e311ae4652f9 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -328,22 +328,12 @@ void X11SalGraphics::GetResolution( sal_Int32 &rDPIX, 
sal_Int32 &rDPIY ) // cons
     rDPIX = rDPIY; // y-resolution is more trustworthy
 }
 
-sal_uInt16 X11SalGraphics::GetBitCount() const
-{
-    return mxImpl->GetBitCount();
-}
-
-tools::Long X11SalGraphics::GetGraphicsWidth() const
-{
-    return mxImpl->GetGraphicsWidth();
-}
-
 void X11SalGraphics::ResetClipRegion()
 {
 #if ENABLE_CAIRO_CANVAS
     maClipRegion.SetNull();
 #endif
-    mxImpl->ResetClipRegion();
+    SalGraphicsAutoDelegateToImpl::ResetClipRegion();
 }
 
 bool X11SalGraphics::setClipRegion( const vcl::Region& i_rClip )
@@ -351,7 +341,7 @@ bool X11SalGraphics::setClipRegion( const vcl::Region& 
i_rClip )
 #if ENABLE_CAIRO_CANVAS
     maClipRegion = i_rClip;
 #endif
-    return mxImpl->setClipRegion( i_rClip );
+    return SalGraphicsAutoDelegateToImpl::setClipRegion( i_rClip );
 }
 
 void X11SalGraphics::SetLineColor()
@@ -360,7 +350,7 @@ void X11SalGraphics::SetLineColor()
     mnPenColor = SALCOLOR_NONE;
 #endif // ENABLE_CAIRO_CANVAS
 
-    mxImpl->SetLineColor();
+    SalGraphicsAutoDelegateToImpl::SetLineColor();
 }
 
 void X11SalGraphics::SetLineColor( Color nColor )
@@ -369,7 +359,7 @@ void X11SalGraphics::SetLineColor( Color nColor )
     mnPenColor = nColor;
 #endif // ENABLE_CAIRO_CANVAS
 
-    mxImpl->SetLineColor( nColor );
+    SalGraphicsAutoDelegateToImpl::SetLineColor( nColor );
 }
 
 void X11SalGraphics::SetFillColor()
@@ -378,7 +368,7 @@ void X11SalGraphics::SetFillColor()
     mnFillColor = SALCOLOR_NONE;
 #endif // ENABLE_CAIRO_CANVAS
 
-    mxImpl->SetFillColor();
+    SalGraphicsAutoDelegateToImpl::SetFillColor();
 }
 
 void X11SalGraphics::SetFillColor( Color nColor )
@@ -387,88 +377,7 @@ void X11SalGraphics::SetFillColor( Color nColor )
     mnFillColor = nColor;
 #endif // ENABLE_CAIRO_CANVAS
 
-    mxImpl->SetFillColor( nColor );
-}
-
-void X11SalGraphics::SetROPLineColor( SalROPColor nROPColor )
-{
-    mxImpl->SetROPLineColor( nROPColor );
-}
-
-void X11SalGraphics::SetROPFillColor( SalROPColor nROPColor )
-{
-    mxImpl->SetROPFillColor( nROPColor );
-}
-
-void X11SalGraphics::SetXORMode( bool bSet, bool bInvertOnly )
-{
-    mxImpl->SetXORMode( bSet, bInvertOnly );
-}
-
-void X11SalGraphics::drawPixel( tools::Long nX, tools::Long nY )
-{
-    mxImpl->drawPixel( nX, nY );
-}
-
-void X11SalGraphics::drawPixel( tools::Long nX, tools::Long nY, Color nColor )
-{
-    mxImpl->drawPixel( nX, nY, nColor );
-}
-
-void X11SalGraphics::drawLine( tools::Long nX1, tools::Long nY1, tools::Long 
nX2, tools::Long nY2 )
-{
-    mxImpl->drawLine( nX1, nY1, nX2, nY2 );
-}
-
-void X11SalGraphics::drawRect( tools::Long nX, tools::Long nY, tools::Long 
nDX, tools::Long nDY )
-{
-    mxImpl->drawRect( nX, nY, nDX, nDY );
-}
-
-void X11SalGraphics::drawPolyLine( sal_uInt32 nPoints, const Point *pPtAry )
-{
-    mxImpl->drawPolyLine( nPoints, pPtAry );
-}
-
-void X11SalGraphics::drawPolygon( sal_uInt32 nPoints, const Point* pPtAry )
-{
-    mxImpl->drawPolygon( nPoints, pPtAry );
-}
-
-void X11SalGraphics::drawPolyPolygon( sal_uInt32 nPoly,
-                                   const sal_uInt32    *pPoints,
-                                   const Point*  *pPtAry )
-{
-    mxImpl->drawPolyPolygon( nPoly, pPoints, pPtAry );
-}
-
-bool X11SalGraphics::drawPolyLineBezier( sal_uInt32 nPoints, const Point* 
pPtAry, const PolyFlags* pFlgAry )
-{
-    return mxImpl->drawPolyLineBezier( nPoints, pPtAry, pFlgAry );
-}
-
-bool X11SalGraphics::drawPolygonBezier( sal_uInt32 nPoints, const Point* 
pPtAry, const PolyFlags* pFlgAry )
-{
-    return mxImpl->drawPolygonBezier( nPoints, pPtAry, pFlgAry );
-}
-
-bool X11SalGraphics::drawPolyPolygonBezier( sal_uInt32 nPoints, const 
sal_uInt32* pPoints,
-                                                const Point* const* pPtAry, 
const PolyFlags* const* pFlgAry)
-{
-    return mxImpl->drawPolyPolygonBezier( nPoints, pPoints, pPtAry, pFlgAry );
-}
-
-void X11SalGraphics::invert( sal_uInt32 nPoints,
-                             const Point* pPtAry,
-                             SalInvert nFlags )
-{
-    mxImpl->invert( nPoints, pPtAry, nFlags );
-}
-
-bool X11SalGraphics::drawEPS( tools::Long nX, tools::Long nY, tools::Long 
nWidth,
-        tools::Long nHeight, void* pPtr, sal_uInt32 nSize )
-{
-    return mxImpl->drawEPS( nX, nY, nWidth, nHeight, pPtr, nSize );
+    SalGraphicsAutoDelegateToImpl::SetFillColor( nColor );
 }
 
 XRenderPictFormat* X11SalGraphics::GetXRenderFormat() const
@@ -581,6 +490,7 @@ bool X11SalGraphics::drawPolyPolygon(
     const basegfx::B2DPolyPolygon& rPolyPolygon,
     double fTransparency)
 {
+#if ENABLE_CAIRO_CANVAS
     if(fTransparency >= 1.0)
     {
         return true;
@@ -591,7 +501,6 @@ bool X11SalGraphics::drawPolyPolygon(
         return true;
     }
 
-#if ENABLE_CAIRO_CANVAS
     // Fallback: Transform to DeviceCoordinates
     basegfx::B2DPolyPolygon aPolyPolygon(rPolyPolygon);
     aPolyPolygon.transform(rObjectToDevice);
@@ -687,7 +596,7 @@ bool X11SalGraphics::drawPolyPolygon(
     }
 #endif // ENABLE_CAIRO_CANVAS
 
-    return mxImpl->drawPolyPolygon(
+    return SalGraphicsAutoDelegateToImpl::drawPolyPolygon(
         rObjectToDevice,
         rPolyPolygon,
         fTransparency);
@@ -711,6 +620,7 @@ bool X11SalGraphics::drawPolyLine(
     double fMiterMinimumAngle,
     bool bPixelSnapHairline)
 {
+#if ENABLE_CAIRO_CANVAS
     if(0 == rPolygon.count())
     {
         return true;
@@ -721,7 +631,7 @@ bool X11SalGraphics::drawPolyLine(
         return true;
     }
 
-#if ENABLE_CAIRO_CANVAS
+
     // disable by setting to something
     static const char* 
pUseCairoForFatLines(getenv("SAL_DISABLE_USE_CAIRO_FOR_FATLINES"));
 
@@ -757,7 +667,7 @@ bool X11SalGraphics::drawPolyLine(
     }
 #endif // ENABLE_CAIRO_CANVAS
 
-    return mxImpl->drawPolyLine(
+    return SalGraphicsAutoDelegateToImpl::drawPolyLine(
         rObjectToDevice,
         rPolygon,
         fTransparency,
@@ -769,16 +679,6 @@ bool X11SalGraphics::drawPolyLine(
         bPixelSnapHairline);
 }
 
-bool X11SalGraphics::drawGradient(const tools::PolyPolygon& rPoly, const 
Gradient& rGradient)
-{
-    return mxImpl->drawGradient(rPoly, rGradient);
-}
-
-bool X11SalGraphics::implDrawGradient(basegfx::B2DPolyPolygon const & 
rPolyPolygon, SalGradient const & rGradient)
-{
-    return mxImpl->implDrawGradient(rPolyPolygon, rGradient);
-}
-
 SalGeometryProvider *X11SalGraphics::GetGeometryProvider() const
 {
     if (m_pFrame)
diff --git a/vcl/unx/generic/gdi/salgdi2.cxx b/vcl/unx/generic/gdi/salgdi2.cxx
index cfdb272005a5..f26048ae1649 100644
--- a/vcl/unx/generic/gdi/salgdi2.cxx
+++ b/vcl/unx/generic/gdi/salgdi2.cxx
@@ -85,103 +85,5 @@ void X11SalGraphics::YieldGraphicsExpose()
     } while( aEvent.xgraphicsexpose.count != 0 );
 }
 
-void X11SalGraphics::copyBits( const SalTwoRect& rPosAry,
-                                  SalGraphics      *pSSrcGraphics )
-{
-    mxImpl->copyBits( rPosAry, pSSrcGraphics );
-}
-
-void X11SalGraphics::copyArea ( tools::Long nDestX,    tools::Long nDestY,
-                                tools::Long nSrcX,     tools::Long nSrcY,
-                                tools::Long nSrcWidth, tools::Long nSrcHeight,
-                                bool bWindowInvalidate)
-{
-    mxImpl->copyArea( nDestX, nDestY, nSrcX, nSrcY, nSrcWidth, nSrcHeight, 
bWindowInvalidate );
-}
-
-bool X11SalGraphics::blendBitmap( const SalTwoRect& rTR,
-                                  const SalBitmap& rBitmap )
-{
-    return mxImpl->blendBitmap( rTR, rBitmap );
-}
-
-bool X11SalGraphics::blendAlphaBitmap( const SalTwoRect& rTR,
-                                       const SalBitmap& rSrcBitmap,
-                                       const SalBitmap& rMaskBitmap,
-                                       const SalBitmap& rAlphaBitmap )
-{
-    return mxImpl->blendAlphaBitmap( rTR, rSrcBitmap, rMaskBitmap, 
rAlphaBitmap );
-}
-
-void X11SalGraphics::drawBitmap( const SalTwoRect& rPosAry, const SalBitmap& 
rSalBitmap )
-{
-    mxImpl->drawBitmap( rPosAry, rSalBitmap );
-}
-
-void X11SalGraphics::drawBitmap( const SalTwoRect& rPosAry,
-                                 const SalBitmap& rSrcBitmap,
-                                 const SalBitmap& rMaskBitmap )
-{
-    mxImpl->drawBitmap( rPosAry, rSrcBitmap, rMaskBitmap );
-}
-
-bool X11SalGraphics::drawAlphaBitmap( const SalTwoRect& rTR,
-    const SalBitmap& rSrcBitmap, const SalBitmap& rAlphaBmp )
-{
-    return mxImpl->drawAlphaBitmap( rTR, rSrcBitmap, rAlphaBmp );
-}
-
-bool X11SalGraphics::drawTransformedBitmap(
-    const basegfx::B2DPoint& rNull,
-    const basegfx::B2DPoint& rX,
-    const basegfx::B2DPoint& rY,
-    const SalBitmap& rSourceBitmap,
-    const SalBitmap* pAlphaBitmap,
-    double fAlpha)
-{
-    return mxImpl->drawTransformedBitmap( rNull, rX, rY, rSourceBitmap, 
pAlphaBitmap, fAlpha );
-}
-
-bool X11SalGraphics::hasFastDrawTransformedBitmap() const
-{
-    return mxImpl->hasFastDrawTransformedBitmap();
-}
-
-bool X11SalGraphics::drawAlphaRect( tools::Long nX, tools::Long nY, 
tools::Long nWidth,
-                                    tools::Long nHeight, sal_uInt8 
nTransparency )
-{
-    return mxImpl->drawAlphaRect( nX, nY, nWidth, nHeight, nTransparency );
-}
-
-void X11SalGraphics::drawMask( const SalTwoRect& rPosAry,
-                               const SalBitmap &rSalBitmap,
-                               Color nMaskColor )
-{
-    mxImpl->drawMask( rPosAry, rSalBitmap, nMaskColor );
-}
-
-std::shared_ptr<SalBitmap> X11SalGraphics::getBitmap( tools::Long nX, 
tools::Long nY, tools::Long nDX, tools::Long nDY )
-{
-    return mxImpl->getBitmap( nX, nY, nDX, nDY );
-}
-
-Color X11SalGraphics::getPixel( tools::Long nX, tools::Long nY )
-{
-    return mxImpl->getPixel( nX, nY );
-}
-
-void X11SalGraphics::invert( tools::Long       nX,
-                                tools::Long        nY,
-                                tools::Long        nDX,
-                                tools::Long        nDY,
-                                SalInvert   nFlags )
-{
-    mxImpl->invert( nX, nY, nDX, nDY, nFlags );
-}
-
-bool X11SalGraphics::supportsOperation( OutDevSupportType eType ) const
-{
-    return mxImpl->supportsOperation(eType);
-}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to