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: */