[Libreoffice-commits] core.git: cppcanvas/source include/cppcanvas offapi/com

Caolán McNamara caolanm at redhat.com
Thu Nov 28 09:03:18 PST 2013


 cppcanvas/source/wrapper/implspritecanvas.cxx   |    4 ++++
 cppcanvas/source/wrapper/implspritecanvas.hxx   |    4 ++--
 include/cppcanvas/spritecanvas.hxx              |    4 ++--
 offapi/com/sun/star/rendering/XSpriteCanvas.idl |   11 ++++++-----
 4 files changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 639aa8e72639fd01e9004977f1cfaafc13b1e45f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Nov 28 15:27:30 2013 +0000

    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

diff --git a/cppcanvas/source/wrapper/implspritecanvas.cxx b/cppcanvas/source/wrapper/implspritecanvas.cxx
index 7870178..c6b43a6a 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 1999c56..2e70b9a 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 91fc52b..d5e6a27 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 f15b02b..eb98a4f 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


More information about the Libreoffice-commits mailing list