diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-11-28 15:27:30 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-11-28 17:02:53 +0000 |
commit | 639aa8e72639fd01e9004977f1cfaafc13b1e45f (patch) | |
tree | 0c823511176bc3913ef04cb4edb1fe0cb0270c12 | |
parent | 3c10c9ec665a218ff331994ea3fa35cf2f4cd60e (diff) |
Resolves: fdo#71527 make presenter console not crash/useless
Basically reverts the pieces of
21ec9beae29b19b8ec6f0a16fd0e708e4f210208 to make XSpriteCanvas a
XBitmapCanvas again
Otherwise PresenterHelper::loadBitmap is not an XBitmapCanvas
and so VclFactory::createBitmap cannot succeed
Change-Id: I197adf98e915102f383ee050a8ea16d1e41cecf2
-rw-r--r-- | cppcanvas/source/wrapper/implspritecanvas.cxx | 4 | ||||
-rw-r--r-- | cppcanvas/source/wrapper/implspritecanvas.hxx | 4 | ||||
-rw-r--r-- | include/cppcanvas/spritecanvas.hxx | 4 | ||||
-rw-r--r-- | offapi/com/sun/star/rendering/XSpriteCanvas.idl | 11 |
4 files changed, 14 insertions, 9 deletions
diff --git a/cppcanvas/source/wrapper/implspritecanvas.cxx b/cppcanvas/source/wrapper/implspritecanvas.cxx index 78701786fe15..c6b43a6a9af1 100644 --- a/cppcanvas/source/wrapper/implspritecanvas.cxx +++ b/cppcanvas/source/wrapper/implspritecanvas.cxx @@ -51,6 +51,8 @@ namespace cppcanvas ImplSpriteCanvas::ImplSpriteCanvas( const uno::Reference< rendering::XSpriteCanvas >& rCanvas ) : ImplCanvas( uno::Reference< rendering::XCanvas >(rCanvas, uno::UNO_QUERY) ), + ImplBitmapCanvas( uno::Reference< rendering::XBitmapCanvas >(rCanvas, + uno::UNO_QUERY) ), mxSpriteCanvas( rCanvas ), mpTransformArbiter( new TransformationArbiter() ) { @@ -59,8 +61,10 @@ namespace cppcanvas ImplSpriteCanvas::ImplSpriteCanvas(const ImplSpriteCanvas& rOrig) : Canvas(), + BitmapCanvas(), SpriteCanvas(), ImplCanvas( rOrig ), + ImplBitmapCanvas( rOrig ), mxSpriteCanvas( rOrig.getUNOSpriteCanvas() ), mpTransformArbiter( new TransformationArbiter() ) { diff --git a/cppcanvas/source/wrapper/implspritecanvas.hxx b/cppcanvas/source/wrapper/implspritecanvas.hxx index 1999c5630ff0..2e70b9aa42f1 100644 --- a/cppcanvas/source/wrapper/implspritecanvas.hxx +++ b/cppcanvas/source/wrapper/implspritecanvas.hxx @@ -29,14 +29,14 @@ #include <cppcanvas/spritecanvas.hxx> -#include <implcanvas.hxx> +#include <implbitmapcanvas.hxx> namespace cppcanvas { namespace internal { - class ImplSpriteCanvas : public virtual SpriteCanvas, protected virtual ImplCanvas + class ImplSpriteCanvas : public virtual SpriteCanvas, protected virtual ImplBitmapCanvas { public: ImplSpriteCanvas( const ::com::sun::star::uno::Reference< diff --git a/include/cppcanvas/spritecanvas.hxx b/include/cppcanvas/spritecanvas.hxx index 91fc52b3cc41..d5e6a27d65db 100644 --- a/include/cppcanvas/spritecanvas.hxx +++ b/include/cppcanvas/spritecanvas.hxx @@ -28,7 +28,7 @@ #include <boost/shared_ptr.hpp> -#include <cppcanvas/canvas.hxx> +#include <cppcanvas/bitmapcanvas.hxx> #include <cppcanvas/sprite.hxx> #include <cppcanvas/customsprite.hxx> @@ -49,7 +49,7 @@ namespace cppcanvas /** SpriteCanvas interface */ - class SpriteCanvas : public virtual Canvas, private boost::noncopyable + class SpriteCanvas : public virtual BitmapCanvas, private boost::noncopyable { public: virtual bool updateScreen( bool bUpdateAll ) const = 0; diff --git a/offapi/com/sun/star/rendering/XSpriteCanvas.idl b/offapi/com/sun/star/rendering/XSpriteCanvas.idl index f15b02b8efeb..eb98a4f3e830 100644 --- a/offapi/com/sun/star/rendering/XSpriteCanvas.idl +++ b/offapi/com/sun/star/rendering/XSpriteCanvas.idl @@ -30,7 +30,7 @@ interface XSprite; interface XAnimatedSprite; interface XCustomSprite; -/** Specialization of a XCanvas, where moving, animated objects +/** Specialization of a XBitmapCanvas, where moving, animated objects (called sprites) are supported.<p> @attention The screen output of canvas drawing operations is @@ -44,9 +44,9 @@ interface XCustomSprite; (because there's a defined moment in time where content display can happen, namely the XBufferController::showBuffer()) call. If you don't need sprite functionality, and don't want the - updateScreen hassle, simply use the XCanvas. + updateScreen hassle, simply use the XBitmapCanvas. */ -interface XSpriteCanvas : XCanvas +interface XSpriteCanvas : XBitmapCanvas { /** Create a sprite object from the specified animation sequence. A sprite is a back-buffered object with its own, @@ -98,8 +98,9 @@ interface XSpriteCanvas : XCanvas object. The cloned sprite always shows the same content as its - original, but of course the sprite position, visibility, alpha - etc. can be modified independently. + original. Furthermore, cloned copies of a hidden original are + never visible, although cloned copies of a visible original + can of course be invisible. @param original The original sprite to copy the content from. This sprite must |