1
diff -rup ../src680-m224/vcl/inc/vcl/salbmp.hxx vcl/inc/vcl/salbmp.hxx
2
--- ../src680-m224/vcl/inc/vcl/salbmp.hxx 2007-04-11 20:05:11.000000000 +0200
3
+++ vcl/inc/vcl/salbmp.hxx 2007-10-10 15:46:55.000000000 +0200
5
#include <vcl/dllapi.h>
8
+#include <com/sun/star/rendering/XBitmapCanvas.hpp>
13
@@ -63,6 +65,9 @@ public:
14
SalGraphics* pGraphics ) = 0;
15
virtual bool Create( const SalBitmap& rSalBmp,
16
USHORT nNewBitCount ) = 0;
17
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
19
+ bool bMask = false ) = 0;
20
virtual void Destroy() = 0;
21
virtual Size GetSize() const = 0;
22
virtual USHORT GetBitCount() const = 0;
23
diff -rup ../src680-m224/vcl/unx/headless/svpbmp.cxx vcl/unx/headless/svpbmp.cxx
24
--- ../src680-m224/vcl/unx/headless/svpbmp.cxx 2007-07-24 12:25:56.000000000 +0200
25
+++ vcl/unx/headless/svpbmp.cxx 2007-10-10 15:56:29.000000000 +0200
26
@@ -124,6 +124,11 @@ bool SvpSalBitmap::Create( const SalBitm
30
+bool SvpSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
35
void SvpSalBitmap::Destroy()
38
diff -rup ../src680-m224/vcl/unx/headless/svpbmp.hxx vcl/unx/headless/svpbmp.hxx
39
--- ../src680-m224/vcl/unx/headless/svpbmp.hxx 2007-07-24 12:26:10.000000000 +0200
40
+++ vcl/unx/headless/svpbmp.hxx 2007-10-10 15:55:45.000000000 +0200
41
@@ -61,6 +61,9 @@ public:
42
SalGraphics* pGraphics );
43
virtual bool Create( const SalBitmap& rSalBmp,
44
USHORT nNewBitCount );
45
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
47
+ bool bMask = false );
48
virtual void Destroy();
49
virtual Size GetSize() const;
50
virtual USHORT GetBitCount() const;
51
diff -rup ../src680-m224/vcl/unx/inc/salbmp.h vcl/unx/inc/salbmp.h
52
--- ../src680-m224/vcl/unx/inc/salbmp.h 2007-06-27 22:40:18.000000000 +0200
53
+++ vcl/unx/inc/salbmp.h 2007-10-10 15:47:30.000000000 +0200
54
@@ -127,6 +127,9 @@ public:
55
SalGraphics* pGraphics );
56
virtual bool Create( const SalBitmap& rSalBmp,
57
USHORT nNewBitCount );
58
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
60
+ bool bMask = false );
62
virtual void Destroy();
64
diff -rup ../src680-m224/vcl/unx/source/gdi/salbmp.cxx vcl/unx/source/gdi/salbmp.cxx
65
--- ../src680-m224/vcl/unx/source/gdi/salbmp.cxx 2007-06-27 22:49:34.000000000 +0200
66
+++ vcl/unx/source/gdi/salbmp.cxx 2007-10-23 18:29:07.000000000 +0200
68
#ifndef _SV_BITMAP_HXX
69
#include <vcl/bitmap.hxx>
71
+#include <com/sun/star/beans/XFastPropertySet.hpp>
75
@@ -740,6 +743,31 @@ bool X11SalBitmap::Create( const SalBitm
77
// -----------------------------------------------------------------------------
79
+bool X11SalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas, Size& rSize, bool bMask )
81
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XFastPropertySet > xFastPropertySet( xBitmapCanvas, ::com::sun::star::uno::UNO_QUERY );
82
+ if( xFastPropertySet.get() ) {
85
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > args;
87
+ if( xFastPropertySet->getFastPropertyValue(bMask ? 2 : 1) >>= args ) {
88
+ if( ( args[1] >>= pixmapHandle ) && ( args[2] >>= depth ) ) {
89
+ bool bSuccess = ImplCreateFromDrawable( pixmapHandle, 0, depth, 0, 0, (long) rSize.Width(), (long) rSize.Height() );
91
+ if( bSuccess && (args[0] >>= bFreePixmap) && bFreePixmap )
92
+ XFreePixmap( GetX11SalData()->GetDisplay()->GetDisplay(), pixmapHandle );
102
+// -----------------------------------------------------------------------------
104
void X11SalBitmap::Destroy()
107
diff -rup ../src680-m224/vcl/aqua/inc/salbmp.h vcl/aqua/inc/salbmp.h
108
--- ../src680-m224/vcl/aqua/inc/salbmp.h 2007-07-05 17:58:54.000000000 +0200
109
+++ vcl/aqua/inc/salbmp.h 2007-10-31 16:02:15.000000000 +0100
110
@@ -117,6 +117,9 @@ public:
111
bool Create( const SalBitmap& rSalBmp );
112
bool Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics );
113
bool Create( const SalBitmap& rSalBmp, USHORT nNewBitCount );
114
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
116
+ bool bMask = false );
120
diff -rup ../src680-m224/vcl/aqua/source/gdi/salbmp.cxx vcl/aqua/source/gdi/salbmp.cxx
121
--- ../src680-m224/vcl/aqua/source/gdi/salbmp.cxx 2007-07-05 12:13:21.000000000 +0200
122
+++ vcl/aqua/source/gdi/salbmp.cxx 2007-10-31 16:03:49.000000000 +0100
123
@@ -218,6 +218,13 @@ bool AquaSalBitmap::Create( const SalBit
125
// ------------------------------------------------------------------
127
+bool AquaSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
132
+// ------------------------------------------------------------------
134
void AquaSalBitmap::Destroy()
137
diff -rup ../src680-m224/vcl/win/inc/salbmp.h vcl/win/inc/salbmp.h
138
--- ../src680-m224/vcl/win/inc/salbmp.h 2007-06-27 22:52:50.000000000 +0200
139
+++ vcl/win/inc/salbmp.h 2007-10-31 16:01:37.000000000 +0100
140
@@ -93,6 +93,9 @@ public:
141
virtual bool Create( const SalBitmap& rSalBmpImpl );
142
virtual bool Create( const SalBitmap& rSalBmpImpl, SalGraphics* pGraphics );
143
virtual bool Create( const SalBitmap& rSalBmpImpl, USHORT nNewBitCount );
144
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
146
+ bool bMask = false );
148
virtual void Destroy();
150
diff -rup ../src680-m224/vcl/win/source/gdi/salbmp.cxx vcl/win/source/gdi/salbmp.cxx
151
--- ../src680-m224/vcl/win/source/gdi/salbmp.cxx 2007-06-27 22:57:18.000000000 +0200
152
+++ vcl/win/source/gdi/salbmp.cxx 2007-10-31 16:04:27.000000000 +0100
153
@@ -288,6 +288,13 @@ bool WinSalBitmap::Create( const SalBitm
155
// ------------------------------------------------------------------
157
+bool WinSalBitmap::Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > /*xBitmapCanvas*/, Size& /*rSize*/, bool /*bMask*/ )
162
+// ------------------------------------------------------------------
164
void WinSalBitmap::Destroy()