summaryrefslogtreecommitdiff
path: root/include
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-12 09:13:19 +0100
commitb1ddd22afee045c3ef91756c4f605bb2dd973340 (patch)
treee5541b9d9eac180e581f856208a5a71b7521ac45 /include
parent162f76b63a68110b031d1a87332a6693b7e44457 (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.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