summaryrefslogtreecommitdiff
path: root/include/vcl/bitmapex.hxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-06-10 17:02:06 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-06-11 14:41:50 +0100
commit7cf2b5809f7137acc7a5eed9159042b3d748da01 (patch)
tree518eec0a6e6c86da259d680c194f55b8946db9dc /include/vcl/bitmapex.hxx
parent03b4c0e0724f9928e00abd822bd846c6e200fa14 (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.hxx11
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