summaryrefslogtreecommitdiff
path: root/canvas
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2008-06-24 09:54:53 +0000
committerKurt Zenker <kz@openoffice.org>2008-06-24 09:54:53 +0000
commit8d4cd9ae66019d4fd30cd865dfc0208da697e31d (patch)
treeb0511a3d409bf32097b7bc526a5e178de14111f1 /canvas
parent17de35c057d0f22f640d73c0b9635c08090a5f34 (diff)
INTEGRATION: CWS canvas05 (1.8.2); FILE MERGED
2008/04/21 07:28:17 thb 1.8.2.2: RESYNC: (1.8-1.9); FILE MERGED 2007/12/20 22:18:59 thb 1.8.2.1: #i81092# #i78888# #i78925# #i79258# #i79437# #i84784# Large canvas rework, completing various areas such as color spaces, bitmap data access, true sprite and non-sprite implementations, and upstreaming the canvas parts of rodos emf+ rendering
Diffstat (limited to 'canvas')
-rw-r--r--canvas/source/vcl/canvasbitmap.hxx37
1 files changed, 27 insertions, 10 deletions
diff --git a/canvas/source/vcl/canvasbitmap.hxx b/canvas/source/vcl/canvasbitmap.hxx
index c35f16af4f32..fa795c63a8d1 100644
--- a/canvas/source/vcl/canvasbitmap.hxx
+++ b/canvas/source/vcl/canvasbitmap.hxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: canvasbitmap.hxx,v $
- * $Revision: 1.9 $
+ * $Revision: 1.10 $
*
* This file is part of OpenOffice.org.
*
@@ -31,11 +31,12 @@
#ifndef _VCLCANVAS_CANVASBITMAP_HXX
#define _VCLCANVAS_CANVASBITMAP_HXX
-#include <cppuhelper/compbase3.hxx>
+#include <cppuhelper/compbase4.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/rendering/XBitmapCanvas.hpp>
#include <com/sun/star/rendering/XIntegerBitmap.hpp>
+#include <com/sun/star/beans/XFastPropertySet.hpp>
#include <vcl/virdev.hxx>
#include <vcl/bitmapex.hxx>
@@ -54,9 +55,10 @@
namespace vclcanvas
{
- typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::rendering::XBitmapCanvas,
+ typedef ::cppu::WeakComponentImplHelper4< ::com::sun::star::rendering::XBitmapCanvas,
::com::sun::star::rendering::XIntegerBitmap,
- ::com::sun::star::lang::XServiceInfo > CanvasBitmapBase_Base;
+ ::com::sun::star::lang::XServiceInfo,
+ ::com::sun::star::beans::XFastPropertySet > CanvasBitmapBase_Base;
typedef ::canvas::IntegerBitmapBase< ::canvas::BaseMutexHelper< CanvasBitmapBase_Base >,
CanvasBitmapHelper,
tools::LocalGuard,
@@ -77,13 +79,15 @@ namespace vclcanvas
@param rDevice
Reference device, with which bitmap should be compatible
*/
- CanvasBitmap( const ::Size& rSize,
- bool bAlphaBitmap,
- const DeviceRef& rDevice );
+ CanvasBitmap( const ::Size& rSize,
+ bool bAlphaBitmap,
+ ::com::sun::star::rendering::XGraphicDevice& rDevice,
+ const OutDevProviderSharedPtr& rOutDevProvider );
/// Must be called with locked Solar mutex
- CanvasBitmap( const BitmapEx& rBitmap,
- const DeviceRef& rDevice );
+ CanvasBitmap( const BitmapEx& rBitmap,
+ ::com::sun::star::rendering::XGraphicDevice& rDevice,
+ const OutDevProviderSharedPtr& rOutDevProvider );
// overridden because of mpDevice
virtual void SAL_CALL disposing();
@@ -104,11 +108,24 @@ namespace vclcanvas
/// Not threadsafe! Returned object is shared!
BitmapEx getBitmap() const;
+ // XFastPropertySet
+ // used to retrieve BitmapEx pointer or X Pixmap handles for this bitmap
+ // handle values have these meanings:
+ // 0 ... get pointer to BitmapEx
+ // 1 ... get X pixmap handle to rgb content
+ // 2 ... get X pitmap handle to alpha mask
+ // returned any contains either BitmapEx pointer or array of three Any value
+ // 1st a bool value: true - free the pixmap after used by XFreePixmap, false do nothing, the pixmap is used internally in the canvas
+ // 2nd the pixmap handle
+ // 3rd the pixmap depth
+ virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue(sal_Int32 nHandle) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFastPropertyValue(sal_Int32, const ::com::sun::star::uno::Any&) throw (::com::sun::star::uno::RuntimeException) {}
+
private:
/** MUST hold here, too, since CanvasHelper only contains a
raw pointer (without refcounting)
*/
- DeviceRef mpDevice;
+ ::com::sun::star::uno::Reference<com::sun::star::rendering::XGraphicDevice> mxDevice;
};
}