summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@me.com>2021-12-10 16:36:11 +0100
committerArmin Le Grand <Armin.Le.Grand@me.com>2021-12-10 17:51:12 +0100
commit2c6e2fa596d4ecb22adb062a837f1bbf4384fed2 (patch)
treef2a588a1bbaa54faf5633dfdcce8e199322d639c /vcl/inc
parent6494fba15ea93283b625bf6bdb4666709f22439f (diff)
Revert "Re-Enable DrawTransformBitmapExDirect for render backends"
This reverts commit 7e5af164b7d293dd410710bed411e1ca64bbecf7. Reason for revert: Not the best/effective way to clear out the stuff remaining to be done, would need additional stuff Change-Id: Ia6ab90384da29a5e34eff0ab8881bad2ab49c58c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126601 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Diffstat (limited to 'vcl/inc')
-rw-r--r--vcl/inc/headless/svpgdi.hxx1
-rw-r--r--vcl/inc/qt5/QtGraphics.hxx2
-rw-r--r--vcl/inc/quartz/salgdi.h2
-rw-r--r--vcl/inc/salgdi.hxx15
-rw-r--r--vcl/inc/salgdiimpl.hxx4
-rw-r--r--vcl/inc/skia/gdiimpl.hxx2
-rw-r--r--vcl/inc/unx/GenPspGfxBackend.hxx2
-rw-r--r--vcl/inc/unx/salgdi.h2
-rw-r--r--vcl/inc/win/salgdi.h2
9 files changed, 27 insertions, 5 deletions
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index c69462b89742..32168d87e727 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -147,6 +147,7 @@ protected:
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;
cairo_t* createTmpCompatibleCairoContext() const;
diff --git a/vcl/inc/qt5/QtGraphics.hxx b/vcl/inc/qt5/QtGraphics.hxx
index b5756584f11b..fed7c2cb88f0 100644
--- a/vcl/inc/qt5/QtGraphics.hxx
+++ b/vcl/inc/qt5/QtGraphics.hxx
@@ -149,6 +149,8 @@ public:
const basegfx::B2DPoint& rY, const SalBitmap& rSourceBitmap,
const SalBitmap* pAlphaBitmap, double fAlpha) override;
+ bool hasFastDrawTransformedBitmap() const override;
+
bool drawAlphaRect(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight,
sal_uInt8 nTransparency) override;
diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h
index f996ffff378d..f0aa925c6083 100644
--- a/vcl/inc/quartz/salgdi.h
+++ b/vcl/inc/quartz/salgdi.h
@@ -431,6 +431,8 @@ public:
const basegfx::B2DPoint& rY, const SalBitmap& rSourceBitmap,
const SalBitmap* pAlphaBitmap, double fAlpha) override;
+ bool hasFastDrawTransformedBitmap() const override;
+
bool drawAlphaRect(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight,
sal_uInt8 nTransparency) override;
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
index 121f7044ca5c..716c9aa934a6 100644
--- a/vcl/inc/salgdi.hxx
+++ b/vcl/inc/salgdi.hxx
@@ -430,7 +430,7 @@ public:
double fAlpha,
const OutputDevice& rOutDev );
- bool ImplementsFastDrawTransformedBitmap(bool bTestAllowed) const;
+ bool HasFastDrawTransformedBitmap() const;
bool DrawAlphaRect(
tools::Long nX, tools::Long nY,
@@ -600,6 +600,10 @@ protected:
const SalBitmap* pAlphaBitmap,
double fAlpha) = 0;
+ /// Used e.g. by canvas to know whether to cache the drawing.
+ /// See also tdf#138068.
+ virtual bool hasFastDrawTransformedBitmap() const = 0;
+
/** Render solid rectangle with given transparency
*
* @param nX Top left coordinate of rectangle
@@ -625,10 +629,6 @@ private:
bool m_bLastMirrorDeviceLTRButBiDiRtlSet;
protected:
- /// check/remember if FastDraw is implemented for this SalGraphics
- bool m_bFastDrawTransformedBitmapChecked;
- bool m_bFastDrawTransformedBitmap;
-
/// flags which hold the SetAntialiasing() value from OutputDevice
bool m_bAntiAlias : 1;
@@ -894,6 +894,11 @@ public:
return GetImpl()->drawTransformedBitmap(rNull, rX, rY, rSourceBitmap, pAlphaBitmap, fAlpha);
}
+ bool hasFastDrawTransformedBitmap() const override
+ {
+ return GetImpl()->hasFastDrawTransformedBitmap();
+ }
+
bool drawAlphaRect(tools::Long nX, tools::Long nY, tools::Long nWidth,
tools::Long nHeight, sal_uInt8 nTransparency) override
{
diff --git a/vcl/inc/salgdiimpl.hxx b/vcl/inc/salgdiimpl.hxx
index 035f896b2456..cb4bc35bd942 100644
--- a/vcl/inc/salgdiimpl.hxx
+++ b/vcl/inc/salgdiimpl.hxx
@@ -212,6 +212,10 @@ public:
const SalBitmap* pAlphaBitmap,
double fAlpha) = 0;
+ /// Used e.g. by canvas to know whether to cache the drawing.
+ /// See also tdf#138068.
+ virtual bool hasFastDrawTransformedBitmap() const = 0;
+
virtual bool drawAlphaRect(
tools::Long nX, tools::Long nY,
tools::Long nWidth, tools::Long nHeight,
diff --git a/vcl/inc/skia/gdiimpl.hxx b/vcl/inc/skia/gdiimpl.hxx
index 6db0e87cdb99..b5144a249207 100644
--- a/vcl/inc/skia/gdiimpl.hxx
+++ b/vcl/inc/skia/gdiimpl.hxx
@@ -173,6 +173,8 @@ public:
const basegfx::B2DPoint& rY, const SalBitmap& rSourceBitmap,
const SalBitmap* pAlphaBitmap, double fAlpha) override;
+ virtual bool hasFastDrawTransformedBitmap() const override;
+
/** Render solid rectangle with given transparency
@param nX Top left coordinate of rectangle
diff --git a/vcl/inc/unx/GenPspGfxBackend.hxx b/vcl/inc/unx/GenPspGfxBackend.hxx
index 181d9f7ab95d..a37ee433e6eb 100644
--- a/vcl/inc/unx/GenPspGfxBackend.hxx
+++ b/vcl/inc/unx/GenPspGfxBackend.hxx
@@ -111,6 +111,8 @@ public:
const basegfx::B2DPoint& rY, const SalBitmap& rSourceBitmap,
const SalBitmap* pAlphaBitmap, double fAlpha) override;
+ bool hasFastDrawTransformedBitmap() const override;
+
bool drawAlphaRect(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight,
sal_uInt8 nTransparency) override;
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 92c638ba660a..2a1a9945bd17 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -253,6 +253,8 @@ public:
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;
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
index 065e7e25aa5a..b472ece0a256 100644
--- a/vcl/inc/win/salgdi.h
+++ b/vcl/inc/win/salgdi.h
@@ -309,6 +309,8 @@ public:
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;
private: