summaryrefslogtreecommitdiff
path: root/cppcanvas/source/wrapper/implspritecanvas.hxx
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-11-26 20:02:43 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-11-26 20:02:43 +0000
commitf5febc6565d48a8220bf43071c060c667782eabf (patch)
tree7f22591c033d1e40c72c2dced63c8ff4d459f521 /cppcanvas/source/wrapper/implspritecanvas.hxx
parentdfa685e720a44346cbcd5676c8f326bc30299db2 (diff)
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/08/27 18:49:15 thb 1.2.2.4: #110496# Adapted to recent canvas API changes (XSpriteCanvas::updateScreen) 2004/07/20 19:09:08 thb 1.2.2.3: #110496# Unified include statements; removed external prefix from boost includes 2004/06/25 10:30:32 thb 1.2.2.2: #110496# Some header cleanups (missing forward declarations), changed Canvas and derived to emulate covariant return types on clone() (not directly possible with shared_ptr) 2004/04/05 15:58:54 thb 1.2.2.1: Resync with canvas01 changes
Diffstat (limited to 'cppcanvas/source/wrapper/implspritecanvas.hxx')
-rw-r--r--cppcanvas/source/wrapper/implspritecanvas.hxx47
1 files changed, 40 insertions, 7 deletions
diff --git a/cppcanvas/source/wrapper/implspritecanvas.hxx b/cppcanvas/source/wrapper/implspritecanvas.hxx
index fe8b7936cbe9..f0b9e60b400d 100644
--- a/cppcanvas/source/wrapper/implspritecanvas.hxx
+++ b/cppcanvas/source/wrapper/implspritecanvas.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: implspritecanvas.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: rt $ $Date: 2004-09-08 17:00:41 $
+ * last change: $Author: rt $ $Date: 2004-11-26 21:02:43 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -69,6 +69,9 @@
#ifndef _BGFX_VECTOR_B2DSIZE_HXX
#include <basegfx/vector/b2dsize.hxx>
#endif
+#ifndef _BGFX_MATRIX_B2DHOMMATRIX_HXX
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#endif
#ifndef BOOST_SHARED_PTR_HPP_INCLUDED
#include <boost/shared_ptr.hpp>
@@ -79,7 +82,7 @@
#include <cppcanvas/spritecanvas.hxx>
#endif
-#include "implbitmapcanvas.hxx"
+#include <implbitmapcanvas.hxx>
namespace cppcanvas
@@ -91,26 +94,56 @@ namespace cppcanvas
public:
ImplSpriteCanvas( const ::com::sun::star::uno::Reference<
::drafts::com::sun::star::rendering::XSpriteCanvas >& rCanvas );
+ ImplSpriteCanvas(const ImplSpriteCanvas&);
+
virtual ~ImplSpriteCanvas();
- virtual bool updateScreen() const;
+ virtual void setTransformation( const ::basegfx::B2DHomMatrix& rMatrix );
+
+ virtual bool updateScreen( bool bUpdateAll ) const;
virtual CustomSpriteSharedPtr createCustomSprite( const ::basegfx::B2DSize& ) const;
virtual SpriteSharedPtr createClonedSprite( const SpriteSharedPtr& ) const;
- virtual SpriteCanvasSharedPtr cloneSpriteCanvas() const;
+ SpriteSharedPtr createSpriteFromBitmaps(
+ const ::com::sun::star::uno::Sequence<
+ ::com::sun::star::uno::Reference<
+ ::drafts::com::sun::star::rendering::XBitmap > >& animationBitmaps,
+ sal_Int8 interpolationMode );
+
+ virtual CanvasSharedPtr clone() const;
virtual ::com::sun::star::uno::Reference<
::drafts::com::sun::star::rendering::XSpriteCanvas > getUNOSpriteCanvas() const;
- // take compiler-provided default copy constructor
- //ImplSpriteCanvas(const ImplSpriteCanvas&);
+ /** This class passes the view transformation
+ to child sprites
+
+ This helper class is necessary, because the
+ ImplSpriteCanvas object cannot hand out shared ptrs of
+ itself, but has somehow pass an object to child
+ sprites those can query for the canvas' view transform.
+ */
+ class TransformationArbiter
+ {
+ public:
+ TransformationArbiter();
+
+ void setTransformation( const ::basegfx::B2DHomMatrix& rViewTransform );
+ ::basegfx::B2DHomMatrix getTransformation() const;
+
+ private:
+ ::basegfx::B2DHomMatrix maTransformation;
+ };
+
+ typedef ::boost::shared_ptr< TransformationArbiter > TransformationArbiterSharedPtr;
private:
// default: disabled assignment
ImplSpriteCanvas& operator=( const ImplSpriteCanvas& );
const ::com::sun::star::uno::Reference< ::drafts::com::sun::star::rendering::XSpriteCanvas > mxSpriteCanvas;
+ TransformationArbiterSharedPtr mpTransformArbiter;
};
}
}