diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-04-06 20:57:49 +1000 |
---|---|---|
committer | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-04-06 22:08:41 -0500 |
commit | 8659d189ec04aca78c8ffff97fcca507ca0a9ec3 (patch) | |
tree | f96203da4e501024f1f851c683065f61e6f28afe /include/vcl/print.hxx | |
parent | 3b6dba357f94b581cfeee844f9203a84aa1b5823 (diff) |
fdo#74702 Refactor gradient clipping functions
There are two gradient clipping functions: one uses a normal intersection
to get the symmetric difference to clip the gradient - this is used by
OS X and when printing. The other uses XOR clipping, which is an elegant
trick to implement complex clipping on graphics systems that have minimal
capabilities.
cf. http://www.openoffice.org/marketing/ooocon2008/programme/wednesday_1401.pdf
Change-Id: Iab16258c8e758c41a29337525927ba780329e887
Reviewed-on: https://gerrit.libreoffice.org/8873
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
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.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx index d70e7c025c01..f9179bd814d3 100644 --- a/include/vcl/print.hxx +++ b/include/vcl/print.hxx @@ -274,7 +274,10 @@ public: protected: long ImplGetGradientStepCount( long nMinRect ) SAL_OVERRIDE; + virtual void ClipGradientToBounds( Gradient &rGradient, const PolyPolygon &rPolyPoly ) SAL_OVERRIDE; + virtual void ClipGradientMetafile ( const Gradient &rGradient, const PolyPolygon &rPolyPoly, const Rectangle &rBoundRect ) SAL_OVERRIDE; virtual bool UsePolyPolygonForComplexGradient() SAL_OVERRIDE; + void ScaleBitmap ( Bitmap&, SalTwoRect& ) SAL_OVERRIDE { }; public: |