summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-11-28 15:27:30 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-11-28 17:02:53 +0000
commit639aa8e72639fd01e9004977f1cfaafc13b1e45f (patch)
tree0c823511176bc3913ef04cb4edb1fe0cb0270c12
parent3c10c9ec665a218ff331994ea3fa35cf2f4cd60e (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.cxx4
-rw-r--r--cppcanvas/source/wrapper/implspritecanvas.hxx4
-rw-r--r--include/cppcanvas/spritecanvas.hxx4
-rw-r--r--offapi/com/sun/star/rendering/XSpriteCanvas.idl11
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