Kaydet (Commit) 639aa8e7 authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: fdo#71527 make presenter console not crash/useless

Basically reverts the pieces of
21ec9bea to make XSpriteCanvas a
XBitmapCanvas again

Otherwise PresenterHelper::loadBitmap is not an XBitmapCanvas
and so VclFactory::createBitmap cannot succeed

Change-Id: I197adf98e915102f383ee050a8ea16d1e41cecf2
üst 3c10c9ec
...@@ -51,6 +51,8 @@ namespace cppcanvas ...@@ -51,6 +51,8 @@ namespace cppcanvas
ImplSpriteCanvas::ImplSpriteCanvas( const uno::Reference< rendering::XSpriteCanvas >& rCanvas ) : ImplSpriteCanvas::ImplSpriteCanvas( const uno::Reference< rendering::XSpriteCanvas >& rCanvas ) :
ImplCanvas( uno::Reference< rendering::XCanvas >(rCanvas, ImplCanvas( uno::Reference< rendering::XCanvas >(rCanvas,
uno::UNO_QUERY) ), uno::UNO_QUERY) ),
ImplBitmapCanvas( uno::Reference< rendering::XBitmapCanvas >(rCanvas,
uno::UNO_QUERY) ),
mxSpriteCanvas( rCanvas ), mxSpriteCanvas( rCanvas ),
mpTransformArbiter( new TransformationArbiter() ) mpTransformArbiter( new TransformationArbiter() )
{ {
...@@ -59,8 +61,10 @@ namespace cppcanvas ...@@ -59,8 +61,10 @@ namespace cppcanvas
ImplSpriteCanvas::ImplSpriteCanvas(const ImplSpriteCanvas& rOrig) : ImplSpriteCanvas::ImplSpriteCanvas(const ImplSpriteCanvas& rOrig) :
Canvas(), Canvas(),
BitmapCanvas(),
SpriteCanvas(), SpriteCanvas(),
ImplCanvas( rOrig ), ImplCanvas( rOrig ),
ImplBitmapCanvas( rOrig ),
mxSpriteCanvas( rOrig.getUNOSpriteCanvas() ), mxSpriteCanvas( rOrig.getUNOSpriteCanvas() ),
mpTransformArbiter( new TransformationArbiter() ) mpTransformArbiter( new TransformationArbiter() )
{ {
......
...@@ -29,14 +29,14 @@ ...@@ -29,14 +29,14 @@
#include <cppcanvas/spritecanvas.hxx> #include <cppcanvas/spritecanvas.hxx>
#include <implcanvas.hxx> #include <implbitmapcanvas.hxx>
namespace cppcanvas namespace cppcanvas
{ {
namespace internal namespace internal
{ {
class ImplSpriteCanvas : public virtual SpriteCanvas, protected virtual ImplCanvas class ImplSpriteCanvas : public virtual SpriteCanvas, protected virtual ImplBitmapCanvas
{ {
public: public:
ImplSpriteCanvas( const ::com::sun::star::uno::Reference< ImplSpriteCanvas( const ::com::sun::star::uno::Reference<
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include <cppcanvas/canvas.hxx> #include <cppcanvas/bitmapcanvas.hxx>
#include <cppcanvas/sprite.hxx> #include <cppcanvas/sprite.hxx>
#include <cppcanvas/customsprite.hxx> #include <cppcanvas/customsprite.hxx>
...@@ -49,7 +49,7 @@ namespace cppcanvas ...@@ -49,7 +49,7 @@ namespace cppcanvas
/** SpriteCanvas interface /** SpriteCanvas interface
*/ */
class SpriteCanvas : public virtual Canvas, private boost::noncopyable class SpriteCanvas : public virtual BitmapCanvas, private boost::noncopyable
{ {
public: public:
virtual bool updateScreen( bool bUpdateAll ) const = 0; virtual bool updateScreen( bool bUpdateAll ) const = 0;
......
...@@ -30,7 +30,7 @@ interface XSprite; ...@@ -30,7 +30,7 @@ interface XSprite;
interface XAnimatedSprite; interface XAnimatedSprite;
interface XCustomSprite; interface XCustomSprite;
/** Specialization of a XCanvas, where moving, animated objects /** Specialization of a XBitmapCanvas, where moving, animated objects
(called sprites) are supported.<p> (called sprites) are supported.<p>
@attention The screen output of canvas drawing operations is @attention The screen output of canvas drawing operations is
...@@ -44,9 +44,9 @@ interface XCustomSprite; ...@@ -44,9 +44,9 @@ interface XCustomSprite;
(because there's a defined moment in time where content display (because there's a defined moment in time where content display
can happen, namely the XBufferController::showBuffer()) call. If can happen, namely the XBufferController::showBuffer()) call. If
you don't need sprite functionality, and don't want the 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 /** Create a sprite object from the specified animation
sequence. A sprite is a back-buffered object with its own, sequence. A sprite is a back-buffered object with its own,
...@@ -98,8 +98,9 @@ interface XSpriteCanvas : XCanvas ...@@ -98,8 +98,9 @@ interface XSpriteCanvas : XCanvas
object. object.
The cloned sprite always shows the same content as its The cloned sprite always shows the same content as its
original, but of course the sprite position, visibility, alpha original. Furthermore, cloned copies of a hidden original are
etc. can be modified independently. never visible, although cloned copies of a visible original
can of course be invisible.
@param original @param original
The original sprite to copy the content from. This sprite must The original sprite to copy the content from. This sprite must
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment