summaryrefslogtreecommitdiff
path: root/include/vcl/print.hxx
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2014-03-28 23:30:02 +1100
committerChris Sherlock <chris.sherlock79@gmail.com>2014-03-29 04:21:58 +0000
commit9153a36b59f2efc2bfb2c9256c39eb5687808deb (patch)
treee2b8ce02df3a2c0d5ae7413c3b0b15c62fad4a9b /include/vcl/print.hxx
parentbb20d37025318d5a2fb35689c26c3600a625ed68 (diff)
fdo#74702 Refactor OutputDevice::DrawTransparent()
I have refactored OutputDevice::DrawTransparent() - functionality is now in the functions DrawInvisiblePolygon(), DrawTransparentNatively() and EmulateDrawTransparent(). DrawTransparentNatively() will return true if it is successful, otherwise it will return false if it isn't possible to draw the transparency natively. This allows us to fall back to a VCL based emulation. The function EmulateDrawTransparent() is virtual because Printer handles transparencies differently to pixel based devices. Change-Id: I300850ccea03c17673666dadd287bcddd40ec5ef Reviewed-on: https://gerrit.libreoffice.org/8779 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
Diffstat (limited to 'include/vcl/print.hxx')
-rw-r--r--include/vcl/print.hxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index c475aec559db..0271f0bcac1f 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -286,6 +286,7 @@ protected:
virtual void ImplPrintMask ( const Bitmap& rMask, const Color& rMaskColor,
const Point& rDestPt, const Size& rDestSize,
const Point& rSrcPtPixel, const Size& rSrcSizePixel ) SAL_OVERRIDE;
+
bool DrawTransformBitmapExDirect(
const basegfx::B2DHomMatrix& aFullTransform,
const BitmapEx& rBitmapEx) SAL_OVERRIDE;
@@ -300,6 +301,8 @@ protected:
const Point& rSrcPtPixel, const Size& rSrcSizePixel,
BitmapEx& rBitmapEx ) SAL_OVERRIDE;
+ virtual void EmulateDrawTransparent( const PolyPolygon& rPolyPoly, sal_uInt16 nTransparencePercent ) SAL_OVERRIDE;
+
public:
Printer();
Printer( const JobSetup& rJobSetup );