diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-06-10 17:02:06 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-06-12 09:13:19 +0100 |
commit | b1ddd22afee045c3ef91756c4f605bb2dd973340 (patch) | |
tree | e5541b9d9eac180e581f856208a5a71b7521ac45 /include | |
parent | 162f76b63a68110b031d1a87332a6693b7e44457 (diff) |
Cairo canvas fixes
+ Move BitmapEx construction from an XBitmapCanvas into BitmapEx
where (arguably) it will be easier to re-factor later, treat a
mask fetch failure as if we have no mask
+ Teach the cairo canvas to return a non-pre-multiplied RGB +
separate Alpha BitmapEx when it can to avoid unpleasantness with
the underlying X resources.
+ Add tentative code-path to convert 32bit color Bitmaps into
24bit color, to avoid confusing X
Change-Id: Iaf6998c796aea6d73c57bed2bc03152d9636d5f5
Conflicts:
vcl/source/gdi/gdimtf.cxx
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/bitmapex.hxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/vcl/bitmapex.hxx b/include/vcl/bitmapex.hxx index 3b42244b149b..ce1b2ae0bd99 100644 --- a/include/vcl/bitmapex.hxx +++ b/include/vcl/bitmapex.hxx @@ -25,6 +25,12 @@ #include <vcl/alpha.hxx> #include <tools/color.hxx> +#include <com/sun/star/uno/Reference.hxx> + +namespace com { namespace sun { namespace star { namespace rendering { + class XBitmapCanvas; +} } } } + // ------------------- // - TransparentType - // ------------------- @@ -382,6 +388,11 @@ public: friend VCL_DLLPUBLIC SvStream& operator<<( SvStream& rOStm, const BitmapEx& rBitmapEx ); friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStm, BitmapEx& rBitmapEx ); static BitmapEx AutoScaleBitmap(BitmapEx & aBitmap, const long aStandardSize); + + /// populate from a canvas implementation + bool Create( const ::com::sun::star::uno::Reference< + ::com::sun::star::rendering::XBitmapCanvas > &xBitmapCanvas, + const Size &rSize ); }; #endif // _SV_BITMAPEX_HXX |