1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _CPPCANVAS_IMPLBITMAPCANVAS_HXX
29 #define _CPPCANVAS_IMPLBITMAPCANVAS_HXX
30 
31 #ifndef _COM_SUN_STAR_RENDERING_XBITMAPCANVAS_HPP__
32 #include <com/sun/star/rendering/XBitmapCanvas.hpp>
33 #endif
34 #ifndef _COM_SUN_STAR_RENDERING_XBITMAP_HPP__
35 #include <com/sun/star/rendering/XBitmap.hpp>
36 #endif
37 
38 #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
39 #include <boost/shared_ptr.hpp>
40 #endif
41 #include <basegfx/vector/b2dsize.hxx>
42 #include <cppcanvas/bitmapcanvas.hxx>
43 
44 #include <implcanvas.hxx>
45 
46 
47 namespace cppcanvas
48 {
49     namespace internal
50     {
51         // share Canvas implementation from ImplCanvas
52         class ImplBitmapCanvas : public virtual BitmapCanvas, protected virtual ImplCanvas
53         {
54         public:
55             ImplBitmapCanvas( const ::com::sun::star::uno::Reference<
56                               	::com::sun::star::rendering::XBitmapCanvas >& rCanvas );
57             virtual ~ImplBitmapCanvas();
58 
59             virtual ::basegfx::B2ISize 		getSize() const;
60 
61             virtual CanvasSharedPtr			clone() const;
62 
63             // take compiler-provided default copy constructor
64             //ImplBitmapCanvas(const ImplBitmapCanvas&);
65 
66         private:
67             // default: disabled assignment
68             ImplBitmapCanvas& operator=( const ImplBitmapCanvas& );
69 
70             const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > 	mxBitmapCanvas;
71             const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap > 			mxBitmap;
72         };
73     }
74 }
75 
76 #endif /* _CPPCANVAS_IMPLBITMAPCANVAS_HXX */
77