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-11 14:41:50 +0100 |
commit | 7cf2b5809f7137acc7a5eed9159042b3d748da01 (patch) | |
tree | 518eec0a6e6c86da259d680c194f55b8946db9dc /include/vcl/bitmapex.hxx | |
parent | 03b4c0e0724f9928e00abd822bd846c6e200fa14 (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
Diffstat (limited to 'include/vcl/bitmapex.hxx')
-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 |