[Libreoffice-commits] core.git: Branch 'feature/slideshowprimitives' - include/canvas offapi/com slideshow/CppunitTest_slideshow.mk slideshow/Executable_demoshow.mk slideshow/inc slideshow/Library_slideshow.mk slideshow/source slideshow/test slideshow/TODO
Thorsten Behrens
thb at documentfoundation.org
Sun Oct 27 09:18:27 PDT 2013
include/canvas/canvastools.hxx | 2
offapi/com/sun/star/rendering/XCanvas.idl | 4
slideshow/CppunitTest_slideshow.mk | 1
slideshow/Executable_demoshow.mk | 1
slideshow/Library_slideshow.mk | 1
slideshow/TODO | 14
slideshow/inc/pch/precompiled_slideshow.hxx | 8
slideshow/source/engine/animatedsprite.cxx | 44 +-
slideshow/source/engine/color.cxx | 22 -
slideshow/source/engine/pointersymbol.cxx | 26 -
slideshow/source/engine/pointersymbol.hxx | 3
slideshow/source/engine/rehearsetimingsactivity.cxx | 31 +
slideshow/source/engine/rehearsetimingsactivity.hxx | 5
slideshow/source/engine/shapes/drawshape.cxx | 14
slideshow/source/engine/shapes/shapeimporter.cxx | 27 -
slideshow/source/engine/shapes/viewappletshape.cxx | 19
slideshow/source/engine/shapes/viewbackgroundshape.cxx | 63 +--
slideshow/source/engine/shapes/viewbackgroundshape.hxx | 6
slideshow/source/engine/shapes/viewmediashape.cxx | 31 -
slideshow/source/engine/shapes/viewshape.cxx | 172 ++++----
slideshow/source/engine/shapes/viewshape.hxx | 136 ++----
slideshow/source/engine/slide/layer.hxx | 1
slideshow/source/engine/slide/layermanager.cxx | 16
slideshow/source/engine/slide/layermanager.hxx | 4
slideshow/source/engine/slide/slideimpl.cxx | 38 +
slideshow/source/engine/slide/userpaintoverlay.cxx | 48 +-
slideshow/source/engine/slide/userpaintoverlay.hxx | 2
slideshow/source/engine/slidebitmap.cxx | 24 -
slideshow/source/engine/slideshowimpl.cxx | 25 -
slideshow/source/engine/slideview.cxx | 196 +++++-----
slideshow/source/engine/tools.cxx | 102 +----
slideshow/source/engine/transitions/clippingfunctor.cxx | 6
slideshow/source/engine/transitions/combtransition.cxx | 16
slideshow/source/engine/transitions/slidechangebase.cxx | 101 ++---
slideshow/source/engine/transitions/slidechangebase.hxx | 34 -
slideshow/source/engine/transitions/slidetransitionfactory.cxx | 182 ++++-----
slideshow/source/engine/waitsymbol.cxx | 19
slideshow/source/engine/waitsymbol.hxx | 3
slideshow/source/inc/animatedsprite.hxx | 8
slideshow/source/inc/hslcolor.hxx | 3
slideshow/source/inc/rgbcolor.hxx | 9
slideshow/source/inc/shapeimporter.hxx | 6
slideshow/source/inc/slide.hxx | 5
slideshow/source/inc/slidebitmap.hxx | 9
slideshow/source/inc/tools.hxx | 24 -
slideshow/source/inc/unoview.hxx | 2
slideshow/source/inc/viewlayer.hxx | 12
slideshow/test/testview.cxx | 8
48 files changed, 770 insertions(+), 763 deletions(-)
New commits:
commit c9cd1e37b25394b3b852cccf4f32c144ce02aaa8
Author: Thorsten Behrens <thb at documentfoundation.org>
Date: Sun Oct 27 17:16:45 2013 +0100
Rework slideshow to use XCanvas directly. Kill cppcanvas references.
This builds now, but is not working yet ...
Change-Id: I9995fe8cdbb0b8ca1be8d73a678feeb2c3708c9e
diff --git a/include/canvas/canvastools.hxx b/include/canvas/canvastools.hxx
index fd6dadd..2bc651d 100644
--- a/include/canvas/canvastools.hxx
+++ b/include/canvas/canvastools.hxx
@@ -378,7 +378,7 @@ namespace canvas
/// Convert standard 8888 RGBA color to vcl color
CANVASTOOLS_DLLPUBLIC ::Color stdIntSequenceToColor( const ::com::sun::star::uno::Sequence<sal_Int8>& rColor );
- /// Convert standard 8888 RGBA color to vcl color
+ /// Convert standard vcl Color to 8888 RGBA color
CANVASTOOLS_DLLPUBLIC ::com::sun::star::uno::Sequence<sal_Int8> colorToStdIntSequence( const ::Color& rColor );
// Modeled closely after boost::numeric_cast, only that we
diff --git a/offapi/com/sun/star/rendering/XCanvas.idl b/offapi/com/sun/star/rendering/XCanvas.idl
index 5a97339..83e71ec 100644
--- a/offapi/com/sun/star/rendering/XCanvas.idl
+++ b/offapi/com/sun/star/rendering/XCanvas.idl
@@ -120,12 +120,12 @@ interface XCanvas : ::com::sun::star::uno::XInterface
*/
void erase();
- /** Clears the whole canvas area to given color.<p>
+ /** Fills the whole canvas area to given color.<p>
This method fills the whole canvas area with the given device
color.
*/
- void clear( [in] sequence<ColorComponent> aColor );
+ void fill( [in] sequence<ColorComponent> aColor );
/** Draw a point in device resolution on the device.
diff --git a/slideshow/CppunitTest_slideshow.mk b/slideshow/CppunitTest_slideshow.mk
index bc5c9a5..4ff1afd 100644
--- a/slideshow/CppunitTest_slideshow.mk
+++ b/slideshow/CppunitTest_slideshow.mk
@@ -40,7 +40,6 @@ $(eval $(call gb_CppunitTest_use_libraries,slideshow,\
basegfx \
canvastools \
comphelper \
- cppcanvas \
cppu \
cppuhelper \
sal \
diff --git a/slideshow/Executable_demoshow.mk b/slideshow/Executable_demoshow.mk
index 56725bd..a116e72 100644
--- a/slideshow/Executable_demoshow.mk
+++ b/slideshow/Executable_demoshow.mk
@@ -35,7 +35,6 @@ $(eval $(call gb_Library_use_sdk_api,demoshow))
$(eval $(call gb_Executable_use_libraries,demoshow,\
basegfx \
comphelper \
- cppcanvas \
cppu \
cppuhelper \
sal \
diff --git a/slideshow/Library_slideshow.mk b/slideshow/Library_slideshow.mk
index a11ca8e..81b2348 100644
--- a/slideshow/Library_slideshow.mk
+++ b/slideshow/Library_slideshow.mk
@@ -36,7 +36,6 @@ $(eval $(call gb_Library_use_libraries,slideshow,\
basegfx \
canvastools \
comphelper \
- cppcanvas \
cppu \
cppuhelper \
drawinglayer \
diff --git a/slideshow/TODO b/slideshow/TODO
new file mode 100644
index 0000000..bc1f820
--- /dev/null
+++ b/slideshow/TODO
@@ -0,0 +1,14 @@
+Stuff left doing
+================
+
+ - grep for TODO-NYI
+ - migrate emf+ renderer over to primitives
+ - implement stateful canvas processor (e.g. for the color changes?)
+ -or- decorate primitives with color modifiers e.g.
+ - do we need viewstate at the canvas to pass around?
+
+ - how much of the wrapper state in cppcanvas _was_ actually useful?
+ - review canvas api - e.g. for the createBitmap / createSprite
+ methods, is anyone *not* creating a Size struct on the fly?
+
+ - when all of that is done -> git rm cppcanvas
diff --git a/slideshow/inc/pch/precompiled_slideshow.hxx b/slideshow/inc/pch/precompiled_slideshow.hxx
index 6d8b4a9..bf82987 100644
--- a/slideshow/inc/pch/precompiled_slideshow.hxx
+++ b/slideshow/inc/pch/precompiled_slideshow.hxx
@@ -169,14 +169,6 @@
#include <comphelper/sequence.hxx>
#include <comphelper/servicedecl.hxx>
#include <comphelper/uno3.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
-#include <cppcanvas/bitmap.hxx>
-#include <cppcanvas/canvas.hxx>
-#include <cppcanvas/customsprite.hxx>
-#include <cppcanvas/polypolygon.hxx>
-#include <cppcanvas/renderer.hxx>
-#include <cppcanvas/spritecanvas.hxx>
-#include <cppcanvas/vclfactory.hxx>
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/compbase1.hxx>
#include <cppuhelper/compbase2.hxx>
diff --git a/slideshow/source/engine/animatedsprite.cxx b/slideshow/source/engine/animatedsprite.cxx
index 5d421c2..bb33250 100644
--- a/slideshow/source/engine/animatedsprite.cxx
+++ b/slideshow/source/engine/animatedsprite.cxx
@@ -24,9 +24,7 @@
#include <animatedsprite.hxx>
-#include <cppcanvas/canvas.hxx>
#include <canvas/canvastools.hxx>
-
#include <basegfx/vector/b2dvector.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
@@ -63,15 +61,17 @@ namespace slideshow
mpSprite = mpViewLayer->createSprite( maEffectiveSpriteSizePixel,
mnSpritePrio );
- ENSURE_OR_THROW( mpSprite, "AnimatedSprite::AnimatedSprite(): Could not create sprite" );
+ ENSURE_OR_THROW( mpSprite.is(),
+ "AnimatedSprite::AnimatedSprite(): Could not create sprite" );
}
- ::cppcanvas::CanvasSharedPtr AnimatedSprite::getContentCanvas() const
+ uno::Reference< rendering::XCanvas > AnimatedSprite::getContentCanvas() const
{
- ENSURE_OR_THROW( mpViewLayer->getCanvas(), "AnimatedSprite::getContentCanvas(): No view layer canvas" );
+ ENSURE_OR_THROW( mpViewLayer->getCanvas().is(),
+ "AnimatedSprite::getContentCanvas(): No view layer canvas" );
- const ::cppcanvas::CanvasSharedPtr pContentCanvas( mpSprite->getContentCanvas() );
- pContentCanvas->clear();
+ const uno::Reference< rendering::XCanvas > pContentCanvas( mpSprite->getContentCanvas() );
+ pContentCanvas->erase();
// extract linear part of canvas view transformation
// (linear means: without translational components). The
@@ -86,7 +86,8 @@ namespace slideshow
aLinearTransform.set( 1, 2, maContentPixelOffset.getY() );
// apply linear part of canvas view transformation to sprite canvas
- pContentCanvas->setTransformation( aLinearTransform );
+ // TODO-NYI
+ //pContentCanvas->setTransformation( aLinearTransform );
return pContentCanvas;
}
@@ -134,24 +135,25 @@ namespace slideshow
mpSprite = mpViewLayer->createSprite( maEffectiveSpriteSizePixel,
mnSpritePrio );
- ENSURE_OR_THROW( mpSprite,
+ ENSURE_OR_THROW( mpSprite.is(),
"AnimatedSprite::resize(): Could not create new sprite" );
// set attributes similar to previous sprite
- if( mpSprite && mbSpriteVisible )
+ if( mpSprite.is() && mbSpriteVisible )
{
mpSprite->show();
mpSprite->setAlpha( mnAlpha );
- if( maPosPixel )
- mpSprite->movePixel( *maPosPixel );
+ // TODO-NYI
+ // if( maPosPixel )
+ // mpSprite->movePixel( *maPosPixel );
- if( maClip )
- mpSprite->setClip( *maClip );
+ // if( maClip )
+ // mpSprite->setClip( *maClip );
}
}
- return static_cast< bool >(mpSprite);
+ return mpSprite.is();
}
void AnimatedSprite::setPixelOffset( const ::basegfx::B2DSize& rPixelOffset )
@@ -162,7 +164,8 @@ namespace slideshow
void AnimatedSprite::movePixel( const ::basegfx::B2DPoint& rNewPos )
{
maPosPixel.reset( rNewPos );
- mpSprite->movePixel( rNewPos );
+ // TODO-NYI
+ //mpSprite->movePixel( rNewPos );
}
void AnimatedSprite::setAlpha( double nAlpha )
@@ -174,19 +177,22 @@ namespace slideshow
void AnimatedSprite::clip( const ::basegfx::B2DPolyPolygon& rClip )
{
maClip.reset( rClip );
- mpSprite->setClipPixel( rClip );
+ // TODO-NYI
+ //mpSprite->setClipPixel( rClip );
}
void AnimatedSprite::clip()
{
maClip.reset();
- mpSprite->setClip();
+ // TODO-NYI
+ //mpSprite->setClip();
}
void AnimatedSprite::transform( const ::basegfx::B2DHomMatrix& rTransform )
{
maTransform.reset( rTransform );
- mpSprite->transform( rTransform );
+ // TODO-NYI
+ //mpSprite->transform( rTransform );
}
void AnimatedSprite::hide()
diff --git a/slideshow/source/engine/color.cxx b/slideshow/source/engine/color.cxx
index 06ce617..67210f0 100644
--- a/slideshow/source/engine/color.cxx
+++ b/slideshow/source/engine/color.cxx
@@ -308,13 +308,6 @@ namespace slideshow
{
}
- RGBColor::RGBColor( ::cppcanvas::Color::IntSRGBA nRGBColor ) :
- maRGBTriple( ::cppcanvas::getRed( nRGBColor ) / 255.0,
- ::cppcanvas::getGreen( nRGBColor ) / 255.0,
- ::cppcanvas::getBlue( nRGBColor ) / 255.0 )
- {
- }
-
RGBColor::RGBColor( double nRed, double nGreen, double nBlue ) :
maRGBTriple( nRed, nGreen, nBlue )
{
@@ -327,6 +320,13 @@ namespace slideshow
{
}
+ RGBColor::RGBColor( sal_uInt32 nColor ) :
+ maRGBTriple( (sal_uInt8)(nColor>>16) / 255.0,
+ (sal_uInt8)(sal_uInt16(nColor) >> 8) / 255.0,
+ (sal_uInt8)nColor / 255.0 )
+ {
+ }
+
double RGBColor::getRed() const
{
return maRGBTriple.mnRed;
@@ -342,14 +342,6 @@ namespace slideshow
return maRGBTriple.mnBlue;
}
- ::cppcanvas::Color::IntSRGBA RGBColor::getIntegerColor() const
- {
- return ::cppcanvas::makeColor( colorToInt( getRed() ),
- colorToInt( getGreen() ),
- colorToInt( getBlue() ),
- 255 );
- }
-
sal_Bool operator==( const RGBColor& rLHS, const RGBColor& rRHS )
{
return ( rLHS.getRed() == rRHS.getRed() &&
diff --git a/slideshow/source/engine/pointersymbol.cxx b/slideshow/source/engine/pointersymbol.cxx
index 20dd121..b08e8ba 100644
--- a/slideshow/source/engine/pointersymbol.cxx
+++ b/slideshow/source/engine/pointersymbol.cxx
@@ -83,7 +83,7 @@ void PointerSymbol::setVisible( const bool bVisible )
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
{
- if( aIter->second )
+ if( aIter->second.is() )
{
if( bVisible )
aIter->second->show();
@@ -111,7 +111,7 @@ basegfx::B2DPoint PointerSymbol::calcSpritePos(UnoViewSharedPtr const & rView) c
void PointerSymbol::viewAdded( const UnoViewSharedPtr& rView )
{
- cppcanvas::CustomSpriteSharedPtr sprite;
+ uno::Reference< rendering::XCustomSprite > sprite;
try
{
@@ -124,11 +124,12 @@ void PointerSymbol::viewAdded( const UnoViewSharedPtr& rView )
canvas::tools::initViewState( viewState );
rendering::RenderState renderState;
canvas::tools::initRenderState( renderState );
- sprite->getContentCanvas()->getUNOCanvas()->drawBitmap(
+ sprite->getContentCanvas()->drawBitmap(
mxBitmap, viewState, renderState );
sprite->setAlpha( 0.9 );
- sprite->movePixel( calcSpritePos( rView ) );
+ // TODO-NYI
+ // sprite->movePixel( calcSpritePos( rView ) );
if( mbVisible )
sprite->show();
}
@@ -172,9 +173,12 @@ void PointerSymbol::viewChanged( const UnoViewSharedPtr& rView )
if( aModifiedEntry == maViews.end() )
return;
- if( aModifiedEntry->second )
+#if 0
+ // TODO-NYI
+ if( aModifiedEntry->second.is() )
aModifiedEntry->second->movePixel(
calcSpritePos(aModifiedEntry->first) );
+#endif
}
void PointerSymbol::viewsChanged()
@@ -184,9 +188,12 @@ void PointerSymbol::viewsChanged()
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
{
- if( aIter->second )
+ if( aIter->second.is() )
+#if 0
+ // TODO-NYI
aIter->second->movePixel(
calcSpritePos( aIter->first ));
+#endif
++aIter;
}
}
@@ -202,10 +209,11 @@ void PointerSymbol::viewsChanged(const geometry::RealPoint2D pos)
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
{
- if( aIter->second )
+ if( aIter->second.is() )
{
- aIter->second->movePixel(
- calcSpritePos( aIter->first ));
+ // TODO-NYI
+ // aIter->second->movePixel(
+ calcSpritePos( aIter->first );
mrScreenUpdater.notifyUpdate();
mrScreenUpdater.commitUpdates();
}
diff --git a/slideshow/source/engine/pointersymbol.hxx b/slideshow/source/engine/pointersymbol.hxx
index 706f312..cbc6584 100644
--- a/slideshow/source/engine/pointersymbol.hxx
+++ b/slideshow/source/engine/pointersymbol.hxx
@@ -12,7 +12,6 @@
#define POINTERSYMBOL_HXX_INCLUDED
#include <com/sun/star/rendering/XBitmap.hpp>
-#include <cppcanvas/customsprite.hxx>
#include "com/sun/star/uno/Reference.hxx"
@@ -83,7 +82,7 @@ private:
typedef ::std::vector<
::std::pair<UnoViewSharedPtr,
- cppcanvas::CustomSpriteSharedPtr> > ViewsVecT;
+ css::uno::Reference< css::rendering::XCustomSprite >> > ViewsVecT;
::com::sun::star::uno::Reference<
::com::sun::star::rendering::XBitmap> mxBitmap;
diff --git a/slideshow/source/engine/rehearsetimingsactivity.cxx b/slideshow/source/engine/rehearsetimingsactivity.cxx
index 44e0305..4aa7560 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.cxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.cxx
@@ -24,9 +24,9 @@
#include <vcl/gdimtf.hxx>
#include <vcl/virdev.hxx>
#include <vcl/metric.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
#include <basegfx/range/b2drange.hxx>
+#include <basegfx/vector/b2dsize.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
#include <comphelper/anytostring.hxx>
#include <cppuhelper/exc_hlp.hxx>
@@ -217,7 +217,7 @@ void RehearseTimingsActivity::start()
// paint and show all sprites:
paintAllSprites();
- for_each_sprite( boost::bind( &cppcanvas::Sprite::show, _1 ) );
+ for_each_sprite( boost::bind( &rendering::XCustomSprite::show, _1 ) );
mrActivitiesQueue.addActivity( shared_from_this() );
@@ -235,7 +235,7 @@ double RehearseTimingsActivity::stop()
mbActive = false; // will be removed from queue
- for_each_sprite( boost::bind( &cppcanvas::Sprite::hide, _1 ) );
+ for_each_sprite( boost::bind( &rendering::XCustomSprite::hide, _1 ) );
return maElapsedTime.getElapsedTime();
}
@@ -306,7 +306,7 @@ void RehearseTimingsActivity::end()
basegfx::B2DRange RehearseTimingsActivity::calcSpriteRectangle( UnoViewSharedPtr const& rView ) const
{
- const Reference<rendering::XBitmap> xBitmap( rView->getCanvas()->getUNOCanvas(),
+ const Reference<rendering::XBitmap> xBitmap( rView->getCanvas(),
UNO_QUERY );
if( !xBitmap.is() )
return basegfx::B2DRange();
@@ -331,7 +331,7 @@ basegfx::B2DRange RehearseTimingsActivity::calcSpriteRectangle( UnoViewSharedPtr
void RehearseTimingsActivity::viewAdded( const UnoViewSharedPtr& rView )
{
- cppcanvas::CustomSpriteSharedPtr sprite(
+ css::uno::Reference< css::rendering::XCustomSprite > sprite(
rView->createSprite( basegfx::B2DSize(
maSpriteSizePixel.getX()+2,
maSpriteSizePixel.getY()+2 ),
@@ -340,9 +340,12 @@ void RehearseTimingsActivity::viewAdded( const UnoViewSharedPtr& rView )
sprite->setAlpha( 0.8 );
const basegfx::B2DRange spriteRectangle(
calcSpriteRectangle( rView ) );
+#if 0
+ // TODO-NYI - keep local state, or encapsulate in dedicated sprite object again?
sprite->move( basegfx::B2DPoint(
spriteRectangle.getMinX(),
spriteRectangle.getMinY() ) );
+#endif
if( maViews.empty() )
maSpriteRectangle = spriteRectangle;
@@ -387,7 +390,8 @@ void RehearseTimingsActivity::viewChanged( const UnoViewSharedPtr& rView )
maSpriteRectangle = calcSpriteRectangle( rView );
// reposition sprite:
- aModifiedEntry->second->move( maSpriteRectangle.getMinimum() );
+ // TODO-NYI - keep local state, or encapsulate in dedicated sprite object again?
+ //aModifiedEntry->second->move( maSpriteRectangle.getMinimum() );
// sprites changed, need screen update
mrScreenUpdater.notifyUpdate( rView );
@@ -400,10 +404,13 @@ void RehearseTimingsActivity::viewsChanged()
// new sprite pos, transformation might have changed:
maSpriteRectangle = calcSpriteRectangle( maViews.front().first );
+#if 0
+ // TODO-NYI
// reposition sprites
- for_each_sprite( boost::bind( &cppcanvas::Sprite::move,
+ for_each_sprite( boost::bind( &rendering::XCustomSprite::move,
_1,
boost::cref(maSpriteRectangle.getMinimum())) );
+#endif
// sprites changed, need screen update
mrScreenUpdater.notifyUpdate();
@@ -416,11 +423,14 @@ void RehearseTimingsActivity::paintAllSprites() const
boost::bind( &RehearseTimingsActivity::paint, this,
// call getContentCanvas() on each sprite:
boost::bind(
- &cppcanvas::CustomSprite::getContentCanvas, _1 ) ) );
+ &rendering::XCustomSprite::getContentCanvas, _1 ) ) );
}
-void RehearseTimingsActivity::paint( cppcanvas::CanvasSharedPtr const & canvas ) const
+void RehearseTimingsActivity::paint( css::uno::Reference< css::rendering::XCanvas > const & ) const
{
+#if 0
+ // TODO-NYI - move this over to drawing layer primitives!
+
// build timer string:
const sal_Int32 nTimeSecs =
static_cast<sal_Int32>(maElapsedTime.getElapsedTime());
@@ -479,6 +489,7 @@ void RehearseTimingsActivity::paint( cppcanvas::CanvasSharedPtr const & canvas )
const bool succ = renderer->draw();
OSL_ASSERT( succ );
(void)succ;
+#endif
}
diff --git a/slideshow/source/engine/rehearsetimingsactivity.hxx b/slideshow/source/engine/rehearsetimingsactivity.hxx
index c0a6c13..e1b5d59 100644
--- a/slideshow/source/engine/rehearsetimingsactivity.hxx
+++ b/slideshow/source/engine/rehearsetimingsactivity.hxx
@@ -32,7 +32,6 @@
class Font;
namespace canvas{ namespace tools{ class ElapsedTime; }}
-namespace cppcanvas{ class CustomSprite; }
namespace basegfx
{
class B2IVector;
@@ -91,7 +90,7 @@ private:
explicit RehearseTimingsActivity( const SlideShowContext& rContext );
- void paint( ::cppcanvas::CanvasSharedPtr const & canvas ) const;
+ void paint( css::uno::Reference< css::rendering::XCanvas > const & canvas ) const;
void paintAllSprites() const;
class MouseHandler;
@@ -99,7 +98,7 @@ private:
typedef ::std::vector<
::std::pair<UnoViewSharedPtr,
- boost::shared_ptr<cppcanvas::CustomSprite> > > ViewsVecT;
+ css::uno::Reference<css::rendering::XCustomSprite> > > ViewsVecT;
template <typename func_type>
void for_each_sprite( func_type const & func ) const
diff --git a/slideshow/source/engine/shapes/drawshape.cxx b/slideshow/source/engine/shapes/drawshape.cxx
index 5d250be..8ea1d22 100644
--- a/slideshow/source/engine/shapes/drawshape.cxx
+++ b/slideshow/source/engine/shapes/drawshape.cxx
@@ -180,7 +180,6 @@ namespace slideshow
::boost::cref( mxShape ),
::boost::cref( mxPage ),
::boost::cref( mxPrimitives ),
- ::boost::cref( mpCurrMtf ),
::boost::cref(
getViewRenderArgs() ),
nUpdateFlags,
@@ -299,9 +298,12 @@ namespace slideshow
// added or removed). Maybe we should exclude it here,
// always assuming full bounds?
- ::cppcanvas::CanvasSharedPtr pDestinationCanvas(
+ css::uno::Reference< css::rendering::XCanvas > pDestinationCanvas(
maViewShapes.front()->getViewLayer()->getCanvas() );
+#if 0
+ // TODO-NYI
+
// TODO(Q2): Although this _is_ currently
// view-agnostic, it might not stay like
// that. Maybe this method should again be moved
@@ -362,6 +364,7 @@ namespace slideshow
maCurrentShapeUnitBounds.reset( aTotalBounds );
}
+#endif
}
return *maCurrentShapeUnitBounds;
@@ -674,7 +677,6 @@ namespace slideshow
pNewShape->update( mxShape,
mxPage,
mxPrimitives,
- mpCurrMtf,
getViewRenderArgs(),
ViewShape::FORCE,
isVisible() );
@@ -1000,9 +1002,12 @@ namespace slideshow
// TODO(Q2): Although this _is_ currently
// view-agnostic, it might not stay like that.
ViewShapeSharedPtr const& pViewShape = maViewShapes.front();
- cppcanvas::CanvasSharedPtr const pCanvas(
+ css::uno::Reference< css::rendering::XCanvas > const pCanvas(
pViewShape->getViewLayer()->getCanvas() );
+#if 0
+ // TODO-NYI
+
// reuse Renderer of first view shape:
cppcanvas::RendererSharedPtr const pRenderer(
pViewShape->getRenderer(
@@ -1037,6 +1042,7 @@ namespace slideshow
maHyperlinkRegions[pos].first = region;
}
}
+#endif
}
// shift shape-relative hyperlink regions to
diff --git a/slideshow/source/engine/shapes/shapeimporter.cxx b/slideshow/source/engine/shapes/shapeimporter.cxx
index 5d1879f..824ae15 100644
--- a/slideshow/source/engine/shapes/shapeimporter.cxx
+++ b/slideshow/source/engine/shapes/shapeimporter.cxx
@@ -27,8 +27,7 @@
#include <unotools/streamwrap.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
-#include <cppcanvas/polypolygon.hxx>
+#include <basegfx/tools/canvastools.hxx>
#include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/drawing/ColorMode.hpp>
#include <com/sun/star/text/GraphicCrop.hpp>
@@ -475,8 +474,8 @@ bool ShapeImporter::isSkip(
void ShapeImporter::importPolygons(uno::Reference<beans::XPropertySet> const& xPropSet) {
drawing::PointSequenceSequence aRetval;
- sal_Int32 nLineColor=0;
- double fLineWidth;
+ sal_Int32 nLineColor=0;
+ double fLineWidth;
getPropertyValue( aRetval, xPropSet, "PolyPolygon" );
getPropertyValue( nLineColor, xPropSet, "LineColor" );
getPropertyValue( fLineWidth, xPropSet, "LineWidth" );
@@ -496,16 +495,20 @@ void ShapeImporter::importPolygons(uno::Reference<beans::XPropertySet> const& xP
UnoViewVector::const_iterator aEnd=(mrContext.mrViewContainer).end();
while(aIter != aEnd)
{
- ::cppcanvas::PolyPolygonSharedPtr pPolyPoly(
- ::cppcanvas::BaseGfxFactory::getInstance().createPolyPolygon( (*aIter)->getCanvas(),
- aPoly ) );
- if( pPolyPoly )
+ uno::Reference< rendering::XPolyPolygon2D > xPoly=
+ basegfx::unotools::xPolyPolygonFromB2DPolygon(
+ (*aIter)->getCanvas()->getDevice(),
+ aPoly);
+#if 0
+ // TODO-NYI
+ if( xPoly.is() )
{
- pPolyPoly->setRGBALineColor( unoColor2RGBColor( nLineColor ).getIntegerColor() );
- pPolyPoly->setStrokeWidth(fLineWidth);
- pPolyPoly->draw();
- maPolygons.push_back(pPolyPoly);
+ pPolyPoly->setRGBALineColor( unoColor2RGBColor( nLineColor ).getIntegerColor() );
+ pPolyPoly->setStrokeWidth(fLineWidth);
+ pPolyPoly->draw();
+ maPolygons.push_back(xPoly);
}
+#endif
++aIter;
}
}
diff --git a/slideshow/source/engine/shapes/viewappletshape.cxx b/slideshow/source/engine/shapes/viewappletshape.cxx
index 87175ee..65165d6 100644
--- a/slideshow/source/engine/shapes/viewappletshape.cxx
+++ b/slideshow/source/engine/shapes/viewappletshape.cxx
@@ -30,7 +30,6 @@
#include <basegfx/range/b2irange.hxx>
#include <basegfx/tools/canvastools.hxx>
-#include <cppcanvas/spritecanvas.hxx>
#include <canvas/canvastools.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
@@ -73,7 +72,7 @@ namespace slideshow
{
ENSURE_OR_THROW( rxShape.is(), "ViewAppletShape::ViewAppletShape(): Invalid Shape" );
ENSURE_OR_THROW( mpViewLayer, "ViewAppletShape::ViewAppletShape(): Invalid View" );
- ENSURE_OR_THROW( mpViewLayer->getCanvas(), "ViewAppletShape::ViewAppletShape(): Invalid ViewLayer canvas" );
+ ENSURE_OR_THROW( mpViewLayer->getCanvas().is(), "ViewAppletShape::ViewAppletShape(): Invalid ViewLayer canvas" );
ENSURE_OR_THROW( mxComponentContext.is(), "ViewAppletShape::ViewAppletShape(): Invalid component context" );
uno::Reference<lang::XMultiComponentFactory> xFactory(
@@ -128,13 +127,13 @@ namespace slideshow
bool ViewAppletShape::startApplet( const ::basegfx::B2DRectangle& rBounds )
{
- ENSURE_OR_RETURN_FALSE( mpViewLayer && mpViewLayer->getCanvas() && mpViewLayer->getCanvas()->getUNOCanvas().is(),
- "ViewAppletShape::startApplet(): Invalid or disposed view" );
+ ENSURE_OR_RETURN_FALSE( mpViewLayer && mpViewLayer->getCanvas().is(),
+ "ViewAppletShape::startApplet(): Invalid or disposed view" );
try
{
- ::cppcanvas::CanvasSharedPtr pCanvas = mpViewLayer->getCanvas();
+ css::uno::Reference< css::rendering::XCanvas > pCanvas = mpViewLayer->getCanvas();
- uno::Reference< beans::XPropertySet > xPropSet( pCanvas->getUNOCanvas()->getDevice(),
+ uno::Reference< beans::XPropertySet > xPropSet( pCanvas->getDevice(),
uno::UNO_QUERY_THROW );
uno::Reference< awt::XWindow2 > xParentWindow(
@@ -232,17 +231,17 @@ namespace slideshow
bool ViewAppletShape::render( const ::basegfx::B2DRectangle& rBounds ) const
{
- ::cppcanvas::CanvasSharedPtr pCanvas = mpViewLayer->getCanvas();
+ css::uno::Reference< css::rendering::XCanvas > pCanvas = mpViewLayer->getCanvas();
- if( !pCanvas )
+ if( !pCanvas.is() )
return false;
if( !mxFrame.is() )
{
- // fill the shape background with black
+ // fill the shape background with white
fillRect( pCanvas,
rBounds,
- 0xFFFFFFFFU );
+ basegfx::BColor(1.0) );
}
return true;
diff --git a/slideshow/source/engine/shapes/viewbackgroundshape.cxx b/slideshow/source/engine/shapes/viewbackgroundshape.cxx
index 05f255b..58c3868 100644
--- a/slideshow/source/engine/shapes/viewbackgroundshape.cxx
+++ b/slideshow/source/engine/shapes/viewbackgroundshape.cxx
@@ -37,13 +37,10 @@
#include <basegfx/matrix/b2dhommatrixtools.hxx>
#include <com/sun/star/rendering/XCanvas.hpp>
+#include <com/sun/star/rendering/XIntegerBitmap.hpp>
#include <canvas/verbosetrace.hxx>
#include <canvas/canvastools.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
-#include <cppcanvas/renderer.hxx>
-#include <cppcanvas/bitmap.hxx>
using namespace ::com::sun::star;
@@ -53,7 +50,7 @@ namespace slideshow
namespace internal
{
- bool ViewBackgroundShape::prefetch( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
+ bool ViewBackgroundShape::prefetch( const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas,
const GDIMetaFileSharedPtr& rMtf ) const
{
SAL_INFO( "slideshow", "::presentation::internal::ViewBackgroundShape::prefetch()" );
@@ -78,39 +75,44 @@ namespace slideshow
// determine pixel size of bitmap (choose it one pixel
// larger, as polygon rendering takes one pixel more
// to the right and to the bottom)
- const ::basegfx::B2ISize aBmpSizePixel(
+ const css::geometry::IntegerSize2D aBmpSizePixel(
::basegfx::fround( aTmpRect.getRange().getX() + 1),
::basegfx::fround( aTmpRect.getRange().getY() + 1) );
- // create a bitmap of appropriate size
- ::cppcanvas::BitmapSharedPtr pBitmap(
- ::cppcanvas::BaseGfxFactory::getInstance().createBitmap(
- rDestinationCanvas,
- aBmpSizePixel ) );
+ // create a non-transparent bitmap of appropriate size
+ uno::Reference< rendering::XIntegerBitmap > pBitmap(
+ rDestinationCanvas->getDevice()->createCompatibleBitmap(
+ aBmpSizePixel),
+ uno::UNO_QUERY_THROW);
- ENSURE_OR_THROW( pBitmap,
- "ViewBackgroundShape::prefetch(): Cannot create background bitmap" );
+ ENSURE_OR_THROW( pBitmap.is(),
+ "ViewBackgroundShape::prefetch(): Cannot create background bitmap" );
- ::cppcanvas::BitmapCanvasSharedPtr pBitmapCanvas( pBitmap->getBitmapCanvas() );
+ uno::Reference< rendering::XCanvas > pBitmapCanvas(
+ pBitmap, uno::UNO_QUERY_THROW);
- ENSURE_OR_THROW( pBitmapCanvas,
- "ViewBackgroundShape::prefetch(): Cannot create background bitmap canvas" );
+ ENSURE_OR_THROW( pBitmapCanvas.is(),
+ "ViewBackgroundShape::prefetch(): Cannot create background bitmap canvas" );
// clear bitmap
- initSlideBackground( pBitmapCanvas,
- aBmpSizePixel );
+ pBitmapCanvas->fill(
+ ::basegfx::BColor(1.0,1.0,1.0).colorToDoubleSequence(
+ pBitmapCanvas->getDevice()) );
// apply linear part of destination canvas transformation (linear means in this context:
// transformation without any translational components)
::basegfx::B2DHomMatrix aLinearTransform( rCanvasTransform );
aLinearTransform.set( 0, 2, 0.0 );
aLinearTransform.set( 1, 2, 0.0 );
- pBitmapCanvas->setTransformation( aLinearTransform );
+ // TODO-NYI
+ //pBitmapCanvas->setTransformation( aLinearTransform );
const basegfx::B2DHomMatrix aShapeTransform(basegfx::tools::createScaleTranslateB2DHomMatrix(
maBounds.getWidth(), maBounds.getHeight(),
maBounds.getMinX(), maBounds.getMinY()));
+# if 0
+ // TODO-NYI
::cppcanvas::RendererSharedPtr pRenderer(
::cppcanvas::VCLFactory::getInstance().createRenderer(
pBitmapCanvas,
@@ -118,12 +120,12 @@ namespace slideshow
::cppcanvas::Renderer::Parameters() ) );
ENSURE_OR_RETURN_FALSE( pRenderer,
- "ViewBackgroundShape::prefetch(): Could not create Renderer" );
+ "ViewBackgroundShape::prefetch(): Could not create Renderer" );
pRenderer->setTransformation( aShapeTransform );
pRenderer->draw();
-
- mxBitmap = pBitmap->getUNOBitmap();
+# endif
+ mxBitmap = pBitmap;
}
mpLastMtf = rMtf;
@@ -140,8 +142,10 @@ namespace slideshow
maLastTransformation(),
maBounds( rShapeBounds )
{
- ENSURE_OR_THROW( mpViewLayer, "ViewBackgroundShape::ViewBackgroundShape(): Invalid View" );
- ENSURE_OR_THROW( mpViewLayer->getCanvas(), "ViewBackgroundShape::ViewBackgroundShape(): Invalid ViewLayer canvas" );
+ ENSURE_OR_THROW( mpViewLayer,
+ "ViewBackgroundShape::ViewBackgroundShape(): Invalid View" );
+ ENSURE_OR_THROW( mpViewLayer->getCanvas().is(),
+ "ViewBackgroundShape::ViewBackgroundShape(): Invalid ViewLayer canvas" );
}
ViewLayerSharedPtr ViewBackgroundShape::getViewLayer() const
@@ -153,7 +157,7 @@ namespace slideshow
{
SAL_INFO( "slideshow", "::presentation::internal::ViewBackgroundShape::draw()" );
- const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas( mpViewLayer->getCanvas() );
+ const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas( mpViewLayer->getCanvas() );
if( !prefetch( rDestinationCanvas, rMtf ) )
return false;
@@ -180,9 +184,12 @@ namespace slideshow
try
{
- rDestinationCanvas->getUNOCanvas()->drawBitmap( mxBitmap,
- rDestinationCanvas->getViewState(),
- aRenderState );
+#if 0
+ // TODO-NYI
+ rDestinationCanvas->drawBitmap( mxBitmap,
+ rDestinationCanvas->getViewState(),
+ aRenderState );
+#endif
}
catch( uno::Exception& )
{
diff --git a/slideshow/source/engine/shapes/viewbackgroundshape.hxx b/slideshow/source/engine/shapes/viewbackgroundshape.hxx
index 4b9908d..eac2b68 100644
--- a/slideshow/source/engine/shapes/viewbackgroundshape.hxx
+++ b/slideshow/source/engine/shapes/viewbackgroundshape.hxx
@@ -22,10 +22,10 @@
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/rendering/XBitmap.hpp>
+#include <com/sun/star/rendering/XCanvas.hpp>
#include <basegfx/range/b2drectangle.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <cppcanvas/spritecanvas.hxx>
#include <boost/shared_ptr.hpp>
#include <boost/utility.hpp>
@@ -68,8 +68,8 @@ namespace slideshow
private:
/** Prefetch bitmap for given canvas
*/
- bool prefetch( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const GDIMetaFileSharedPtr& rMtf ) const;
+ bool prefetch( const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas,
+ const GDIMetaFileSharedPtr& rMtf ) const;
/** The view layer this object is part of.
*/
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
index b788a0f..2e6f8bc 100644
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
@@ -41,8 +41,6 @@
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/range/b2irange.hxx>
#include <canvas/canvastools.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
#include <avmedia/mediawindow.hxx>
#include <com/sun/star/media/XManager.hpp>
@@ -81,7 +79,7 @@ namespace slideshow
{
ENSURE_OR_THROW( mxShape.is(), "ViewMediaShape::ViewMediaShape(): Invalid Shape" );
ENSURE_OR_THROW( mpViewLayer, "ViewMediaShape::ViewMediaShape(): Invalid View" );
- ENSURE_OR_THROW( mpViewLayer->getCanvas(), "ViewMediaShape::ViewMediaShape(): Invalid ViewLayer canvas" );
+ ENSURE_OR_THROW( mpViewLayer->getCanvas().is(), "ViewMediaShape::ViewMediaShape(): Invalid ViewLayer canvas" );
ENSURE_OR_THROW( mxComponentContext.is(), "ViewMediaShape::ViewMediaShape(): Invalid component context" );
UnoViewSharedPtr pUnoView (::boost::dynamic_pointer_cast<UnoView>(rViewLayer));
@@ -179,9 +177,9 @@ namespace slideshow
bool ViewMediaShape::render( const ::basegfx::B2DRectangle& rBounds ) const
{
- ::cppcanvas::CanvasSharedPtr pCanvas = mpViewLayer->getCanvas();
+ css::uno::Reference< css::rendering::XCanvas > pCanvas = mpViewLayer->getCanvas();
- if( !pCanvas )
+ if( !pCanvas.is() )
return false;
if( !mpMediaWindow.get() && !mxPlayerWindow.is() )
@@ -193,10 +191,11 @@ namespace slideshow
avmedia::MediaWindow::getAudioLogo() : avmedia::MediaWindow::getEmptyLogo() );
uno::Reference< rendering::XBitmap > xBitmap(vcl::unotools::xBitmapFromBitmapEx(
- pCanvas->getUNOCanvas()->getDevice(), aAudioLogo));
+ pCanvas->getDevice(), aAudioLogo));
rendering::ViewState aViewState;
- aViewState.AffineTransform = pCanvas->getViewState().AffineTransform;
+ // TODO-NYI
+ //aViewState.AffineTransform = pCanvas->getViewState().AffineTransform;
rendering::RenderState aRenderState;
::canvas::tools::initRenderState( aRenderState );
@@ -209,9 +208,9 @@ namespace slideshow
aScale, rBounds.getMinimum()));
::canvas::tools::setRenderStateTransform( aRenderState, aTranslation );
- pCanvas->getUNOCanvas()->drawBitmap( xBitmap,
- aViewState,
- aRenderState );
+ pCanvas->drawBitmap( xBitmap,
+ aViewState,
+ aRenderState );
}
return true;
@@ -221,15 +220,15 @@ namespace slideshow
{
maBounds = rNewBounds;
- ::cppcanvas::CanvasSharedPtr pCanvas = mpViewLayer->getCanvas();
+ css::uno::Reference< css::rendering::XCanvas > pCanvas = mpViewLayer->getCanvas();
- if( !pCanvas )
+ if( !pCanvas.is() )
return false;
if( !mxPlayerWindow.is() )
return true;
- uno::Reference< beans::XPropertySet > xPropSet( pCanvas->getUNOCanvas()->getDevice(),
+ uno::Reference< beans::XPropertySet > xPropSet( pCanvas->getDevice(),
uno::UNO_QUERY );
uno::Reference< awt::XWindow > xParentWindow;
@@ -284,10 +283,10 @@ namespace slideshow
{
if( !mxPlayer.is() && mxShape.is() )
{
- ENSURE_OR_RETURN_FALSE( mpViewLayer->getCanvas(),
- "ViewMediaShape::update(): Invalid layer canvas" );
+ ENSURE_OR_RETURN_FALSE( mpViewLayer->getCanvas().is(),
+ "ViewMediaShape::update(): Invalid layer canvas" );
- uno::Reference< rendering::XCanvas > xCanvas( mpViewLayer->getCanvas()->getUNOCanvas() );
+ uno::Reference< rendering::XCanvas > xCanvas( mpViewLayer->getCanvas() );
if( xCanvas.is() )
{
diff --git a/slideshow/source/engine/shapes/viewshape.cxx b/slideshow/source/engine/shapes/viewshape.cxx
index 1f92acd..e3d8579 100644
--- a/slideshow/source/engine/shapes/viewshape.cxx
+++ b/slideshow/source/engine/shapes/viewshape.cxx
@@ -41,8 +41,6 @@
#include <canvas/verbosetrace.hxx>
#include <canvas/canvastools.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
#include <drawinglayer/processor2d/canvasprocessor2d.hxx>
#include "viewshape.hxx"
@@ -62,16 +60,14 @@ namespace slideshow
// char rotation etc.). Do that via mtf argument at this object
bool ViewShape::prefetch( RendererCacheEntry& io_rCacheEntry,
- const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr ) const
+ const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas,
+ const ShapeAttributeLayerSharedPtr& ) const
{
- ENSURE_OR_RETURN_FALSE( rMtf,
- "ViewShape::prefetch(): no valid metafile!" );
-
- if( rMtf != io_rCacheEntry.mpMtf ||
- rDestinationCanvas != io_rCacheEntry.getDestinationCanvas() )
+ if( rDestinationCanvas != io_rCacheEntry.getDestinationCanvas() )
{
+#if 0
+ // TODO-NYI
+
// buffered renderer invalid, re-create
::cppcanvas::Renderer::Parameters aParms;
@@ -175,27 +171,23 @@ namespace slideshow
io_rCacheEntry.mpLastBitmapCanvas.reset();
io_rCacheEntry.mpLastBitmap.reset();
}
+#endif
}
- return static_cast< bool >(io_rCacheEntry.mpRenderer);
+ //return static_cast< bool >(io_rCacheEntry.mpRenderer);
+ return false;
}
- bool ViewShape::draw( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const uno::Reference<drawing::XShape>& xShape,
- const uno::Reference<drawing::XDrawPage>& xPage,
- const uno::Sequence<uno::Reference<graphic::XPrimitive2D> >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr,
- const ::basegfx::B2DHomMatrix& rTransform,
- const ::basegfx::B2DPolyPolygon* pClip,
- const VectorOfDocTreeNodes& rSubsets ) const
+ bool ViewShape::draw( const uno::Reference<rendering::XCanvas>& rDestinationCanvas,
+ const uno::Reference<drawing::XShape>& ,
+ const uno::Reference<drawing::XDrawPage>& xPage,
+ const uno::Sequence<
+ uno::Reference<graphic::XPrimitive2D> >& xPrimitives,
+ const ShapeAttributeLayerSharedPtr& ,
+ const ::basegfx::B2DHomMatrix& rTransform,
+ const ::basegfx::B2DPolyPolygon* ,
+ const VectorOfDocTreeNodes& ) const
{
- ::cppcanvas::RendererSharedPtr pRenderer(
- getRenderer( rDestinationCanvas, rMtf, rAttr ) );
-
- ENSURE_OR_RETURN_FALSE( pRenderer, "ViewShape::draw(): Invalid renderer" );
-
- pRenderer->setTransformation( rTransform );
#if OSL_DEBUG_LEVEL >= 2
rendering::RenderState aRenderState;
::canvas::tools::initRenderState(aRenderState);
@@ -209,14 +201,17 @@ namespace slideshow
try
{
- rDestinationCanvas->getUNOCanvas()->drawLine( geometry::RealPoint2D(0.0,0.0),
- geometry::RealPoint2D(1.0,1.0),
- rDestinationCanvas->getViewState(),
- aRenderState );
- rDestinationCanvas->getUNOCanvas()->drawLine( geometry::RealPoint2D(1.0,0.0),
- geometry::RealPoint2D(0.0,1.0),
- rDestinationCanvas->getViewState(),
- aRenderState );
+#if 0
+ // TODO-NYI
+ rDestinationCanvas->drawLine( geometry::RealPoint2D(0.0,0.0),
+ geometry::RealPoint2D(1.0,1.0),
+ rDestinationCanvas->getViewState(),
+ aRenderState );
+ rDestinationCanvas->drawLine( geometry::RealPoint2D(1.0,0.0),
+ geometry::RealPoint2D(0.0,1.0),
+ rDestinationCanvas->getViewState(),
+ aRenderState );
+#endif
}
catch( uno::Exception& )
{
@@ -232,7 +227,7 @@ namespace slideshow
drawinglayer::processor2d::CanvasProcessor2D aProcessor(
aViewInfo,
- rDestinationCanvas->getUNOCanvas());
+ rDestinationCanvas);
aProcessor.process(xPrimitives);
@@ -269,7 +264,9 @@ namespace slideshow
// add antialiasing border around the shape (AA
// touches pixel _outside_ the nominal bound rect)
- aBoundsPixel.grow( ::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE );
+
+ // TODO-NYI - make this canvas-dependent!
+ //aBoundsPixel.grow( ::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE );
return aBoundsPixel;
}
@@ -289,19 +286,19 @@ namespace slideshow
}
}
- bool ViewShape::renderSprite( const ViewLayerSharedPtr& rViewLayer,
+ bool ViewShape::renderSprite( const ViewLayerSharedPtr& rViewLayer,
const uno::Reference<drawing::XShape>& xShape,
const uno::Reference<drawing::XDrawPage>& xPage,
- const uno::Sequence<uno::Reference<graphic::XPrimitive2D> >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ::basegfx::B2DRectangle& rOrigBounds,
- const ::basegfx::B2DRectangle& rBounds,
- const ::basegfx::B2DRectangle& rUnitBounds,
- int nUpdateFlags,
- const ShapeAttributeLayerSharedPtr& pAttr,
- const VectorOfDocTreeNodes& rSubsets,
- double nPrio,
- bool bIsVisible ) const
+ const uno::Sequence<uno::Reference<
+ graphic::XPrimitive2D> >& xPrimitives,
+ const ::basegfx::B2DRectangle& rOrigBounds,
+ const ::basegfx::B2DRectangle& rBounds,
+ const ::basegfx::B2DRectangle& rUnitBounds,
+ int nUpdateFlags,
+ const ShapeAttributeLayerSharedPtr& pAttr,
+ const VectorOfDocTreeNodes& rSubsets,
+ double nPrio,
+ bool bIsVisible ) const
{
// TODO(P1): For multiple views, it might pay off to reorg Shape and ViewShape,
// in that all the common setup steps here are refactored to Shape (would then
@@ -408,12 +405,18 @@ namespace slideshow
const ::basegfx::B2DSize& rSpriteCorrectionOffset(
rSpriteBoundsPixel.getMinimum() - rNominalShapeBoundsPixel.getMinimum() );
+#if 0
+ // TODO-NYI - make this canvas-dependent!
+
// offset added top, left for anti-aliasing (otherwise,
// shapes fully filling the sprite will have anti-aliased
// pixel cut off)
const ::basegfx::B2DSize aAAOffset(
::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE,
::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE );
+#else
+ const ::basegfx::B2DSize aAAOffset(2,2);
+#endif
// set pixel output offset to sprite: we always leave
// ANTIALIASING_EXTRA_SIZE room atop and to the left, and,
@@ -464,12 +467,16 @@ namespace slideshow
aViewTransform.set( 0, 2, 0.0 );
aViewTransform.set( 1, 2, 0.0 );
+#if 0
+ // TODO-NYI make this canvas-dependent!
+
// make the clip 2*ANTIALIASING_EXTRA_SIZE larger
// such that it's again centered over the sprite.
aViewTransform.scale(rSpriteSizePixel.getX()/
(rSpriteSizePixel.getX()-2*::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE),
rSpriteSizePixel.getY()/
(rSpriteSizePixel.getY()-2*::cppcanvas::Canvas::ANTIALIASING_EXTRA_SIZE));
+#endif
// transform clip polygon from view to device
// coordinate space
@@ -501,30 +508,29 @@ namespace slideshow
// sprite needs repaint - output to sprite canvas
// ==============================================
- ::cppcanvas::CanvasSharedPtr pContentCanvas( mpSprite->getContentCanvas() );
+ css::uno::Reference< css::rendering::XCanvas > pContentCanvas( mpSprite->getContentCanvas() );
return draw( pContentCanvas,
xShape,
xPage,
xPrimitives,
- rMtf,
pAttr,
aShapeTransformation,
NULL, // clipping is done via Sprite::clip()
rSubsets );
}
- bool ViewShape::render( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const uno::Reference<drawing::XShape>& xShape,
- const uno::Reference<drawing::XDrawPage>& xPage,
- const uno::Sequence<uno::Reference<graphic::XPrimitive2D> >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ::basegfx::B2DRectangle& rBounds,
- const ::basegfx::B2DRectangle& rUpdateBounds,
- int nUpdateFlags,
- const ShapeAttributeLayerSharedPtr& pAttr,
- const VectorOfDocTreeNodes& rSubsets,
- bool bIsVisible ) const
+ bool ViewShape::render( const uno::Reference<rendering::XCanvas >& rDestinationCanvas,
+ const uno::Reference<drawing::XShape>& xShape,
+ const uno::Reference<drawing::XDrawPage>& xPage,
+ const uno::Sequence<uno::Reference<
+ graphic::XPrimitive2D> >& xPrimitives,
+ const ::basegfx::B2DRectangle& rBounds,
+ const ::basegfx::B2DRectangle& ,
+ int nUpdateFlags,
+ const ShapeAttributeLayerSharedPtr& pAttr,
+ const VectorOfDocTreeNodes& rSubsets,
+ bool bIsVisible ) const
{
// TODO(P1): For multiple views, it might pay off to reorg Shape and ViewShape,
// in that all the common setup steps here are refactored to Shape (would then
@@ -578,6 +584,11 @@ namespace slideshow
// a temp bitmap, and then to screen (this would have
// been much easier if we'd be currently a sprite -
// see above)
+
+ // TODO-NYI - scratch that. either use drawing layer
+ // primitive, or make transparency groups a canvas op
+ // in the first place
+#if 0
if( pAttr->isAlphaValid() )
{
const double nAlpha( pAttr->getAlpha() );
@@ -626,7 +637,7 @@ namespace slideshow
aCompositingSurface->mpLastBitmapCanvas->getSize() != aBmpSize )
{
// create a bitmap of appropriate size
- ::cppcanvas::BitmapSharedPtr pBitmap(
+ ::css::uno::Reference< css::rendering::XBitmap > pBitmap(
::cppcanvas::BaseGfxFactory::getInstance().createAlphaBitmap(
rDestinationCanvas,
aBmpSize ) );
@@ -642,10 +653,10 @@ namespace slideshow
// buffer aCompositingSurface iterator content
// - said one might get invalidated during
// draw() below.
- ::cppcanvas::BitmapCanvasSharedPtr pBitmapCanvas(
+ ::css::uno::Reference< css::rendering::XBitmapCanvas > pBitmapCanvas(
aCompositingSurface->mpLastBitmapCanvas );
- ::cppcanvas::BitmapSharedPtr pBitmap(
+ ::css::uno::Reference< css::rendering::XBitmap > pBitmap(
aCompositingSurface->mpLastBitmap);
// setup bitmap canvas transformation -
@@ -715,6 +726,7 @@ namespace slideshow
return true;
}
}
+#endif
}
// retrieve shape transformation, _with_ shape translation
@@ -727,7 +739,6 @@ namespace slideshow
xShape,
xPage,
xPrimitives,
- rMtf,
pAttr,
aTransform,
!aClip ? NULL : &(*aClip),
@@ -752,7 +763,7 @@ namespace slideshow
return mpViewLayer;
}
- ViewShape::RendererCacheVector::iterator ViewShape::getCacheEntry( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas ) const
+ ViewShape::RendererCacheVector::iterator ViewShape::getCacheEntry( const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas ) const
{
// lookup destination canvas - is there already a renderer
// created for that target?
@@ -763,7 +774,7 @@ namespace slideshow
if( (aIter=::std::find_if( maRenderers.begin(),
aEnd,
::boost::bind(
- ::std::equal_to< ::cppcanvas::CanvasSharedPtr >(),
+ ::std::equal_to< css::uno::Reference< css::rendering::XCanvas > >(),
::boost::cref( rDestinationCanvas ),
::boost::bind(
&RendererCacheEntry::getDestinationCanvas,
@@ -791,9 +802,10 @@ namespace slideshow
return aIter;
}
- ::cppcanvas::RendererSharedPtr ViewShape::getRenderer( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr ) const
+ // TODO-NYI - rename this method
+ drawinglayer::primitive2d::Primitive2DSequence ViewShape::getRenderer(
+ const css::uno::Reference< css::rendering::XCanvas >& rDestinationCanvas,
+ const ShapeAttributeLayerSharedPtr& rAttr ) const
{
// lookup destination canvas - is there already a renderer
// created for that target?
@@ -806,15 +818,14 @@ namespace slideshow
// detect that)
if( prefetch( *aIter,
rDestinationCanvas,
- rMtf,
rAttr ) )
{
- return aIter->mpRenderer;
+ return aIter->mpPrimitiveSequence;
}
else
{
// prefetch failed - renderer is invalid
- return ::cppcanvas::RendererSharedPtr();
+ return drawinglayer::primitive2d::Primitive2DSequence();
}
}
@@ -827,12 +838,15 @@ namespace slideshow
::basegfx::B2DSize ViewShape::getAntialiasingBorder() const
{
- ENSURE_OR_THROW( mpViewLayer->getCanvas(),
+ ENSURE_OR_THROW( mpViewLayer->getCanvas().is(),
"ViewShape::getAntialiasingBorder(): Invalid ViewLayer canvas" );
+#if 0
+ // TODO-NYI - move this to canvas!
const ::basegfx::B2DHomMatrix& rViewTransform(
mpViewLayer->getTransformation() );
+
// TODO(F1): As a quick shortcut (did not want to invert
// whole matrix here), taking only scale components of
// view transformation matrix. This will be wrong when
@@ -842,6 +856,9 @@ namespace slideshow
return ::basegfx::B2DSize( nXBorder,
nYBorder );
+#else
+ return ::basegfx::B2DSize( 1, 1 );
+#endif
}
bool ViewShape::enterAnimationMode()
@@ -861,13 +878,14 @@ namespace slideshow
bool ViewShape::update( const uno::Reference<drawing::XShape>& xShape,
const uno::Reference<drawing::XDrawPage>& xPage,
- const uno::Sequence<uno::Reference<graphic::XPrimitive2D> >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
+ const uno::Sequence<uno::Reference<
+ graphic::XPrimitive2D> >& xPrimitives,
const RenderArgs& rArgs,
int nUpdateFlags,
bool bIsVisible ) const
{
- ENSURE_OR_RETURN_FALSE( mpViewLayer->getCanvas(), "ViewShape::update(): Invalid layer canvas" );
+ ENSURE_OR_RETURN_FALSE( mpViewLayer->getCanvas().is(),
+ "ViewShape::update(): Invalid layer canvas" );
// Shall we render to a sprite, or to a plain canvas?
if( isBackgroundDetached() )
@@ -875,7 +893,6 @@ namespace slideshow
xShape,
xPage,
xPrimitives,
- rMtf,
rArgs.maOrigBounds,
rArgs.maBounds,
rArgs.maUnitBounds,
@@ -889,7 +906,6 @@ namespace slideshow
xShape,
xPage,
xPrimitives,
- rMtf,
rArgs.maBounds,
rArgs.maUpdateBounds,
nUpdateFlags,
diff --git a/slideshow/source/engine/shapes/viewshape.hxx b/slideshow/source/engine/shapes/viewshape.hxx
index 8a29c46..52dea11 100644
--- a/slideshow/source/engine/shapes/viewshape.hxx
+++ b/slideshow/source/engine/shapes/viewshape.hxx
@@ -20,11 +20,11 @@
#ifndef INCLUDED_SLIDESHOW_VIEWSHAPE_HXX
#define INCLUDED_SLIDESHOW_VIEWSHAPE_HXX
-#include <cppcanvas/renderer.hxx>
-#include <cppcanvas/bitmap.hxx>
-
#include <basegfx/range/b2drectangle.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
+#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+
+#include <com/sun/star/rendering/XBitmapCanvas.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/utility.hpp>
@@ -177,9 +177,6 @@ namespace slideshow
canvas. This method does not render anything, if the
update flags are 0.
- @param rMtf
- The metafile representation of the shape
-
@param rArgs
Parameter structure, containing all necessary arguments
@@ -192,17 +189,13 @@ namespace slideshow
@return whether the rendering finished successfully.
*/
- bool update( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xPage,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference<
- ::com::sun::star::graphic::XPrimitive2D > >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const RenderArgs& rArgs,
- int nUpdateFlags,
- bool bIsVisible ) const;
+ bool update( const css::uno::Reference<css::drawing::XShape >& xShape,
+ const css::uno::Reference<css::drawing::XDrawPage >& xPage,
+ const css::uno::Sequence<css::uno::Reference<
+ css::graphic::XPrimitive2D > >& xPrimitives,
+ const RenderArgs& rArgs,
+ int nUpdateFlags,
+ bool bIsVisible ) const;
/** Retrieve renderer for given canvas and metafile.
@@ -212,33 +205,30 @@ namespace slideshow
@return a renderer that renders to the given
destination canvas
*/
- ::cppcanvas::RendererSharedPtr getRenderer( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr ) const;
-
+ drawinglayer::primitive2d::Primitive2DSequence getRenderer(
+ const css::uno::Reference<css::rendering::XCanvas>& rDestinationCanvas,
+ const ShapeAttributeLayerSharedPtr& rAttr ) const;
private:
struct RendererCacheEntry
{
RendererCacheEntry() :
mpDestinationCanvas(),
- mpRenderer(),
- mpMtf(),
+ mpPrimitiveSequence(),
mpLastBitmap(),
mpLastBitmapCanvas()
{
}
- ::cppcanvas::CanvasSharedPtr getDestinationCanvas() const
+ css::uno::Reference<css::rendering::XCanvas> getDestinationCanvas() const
{
return mpDestinationCanvas;
}
- ::cppcanvas::CanvasSharedPtr mpDestinationCanvas;
- ::cppcanvas::RendererSharedPtr mpRenderer;
- GDIMetaFileSharedPtr mpMtf;
- ::cppcanvas::BitmapSharedPtr mpLastBitmap;
- ::cppcanvas::BitmapCanvasSharedPtr mpLastBitmapCanvas;
+ css::uno::Reference<css::rendering::XCanvas> mpDestinationCanvas;
+ drawinglayer::primitive2d::Primitive2DSequence mpPrimitiveSequence;
+ ::css::uno::Reference<css::rendering::XBitmap> mpLastBitmap;
+ ::css::uno::Reference<css::rendering::XBitmapCanvas> mpLastBitmapCanvas;
};
typedef ::std::vector< RendererCacheEntry > RendererCacheVector;
@@ -246,67 +236,54 @@ namespace slideshow
/** Prefetch Renderer for given canvas
*/
- bool prefetch( RendererCacheEntry& io_rCacheEntry,
- const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr ) const;
+ bool prefetch( RendererCacheEntry& io_rCacheEntry,
+ const css::uno::Reference<css::rendering::XCanvas>& rDestinationCanvas,
+ const ShapeAttributeLayerSharedPtr& rAttr ) const;
/** Draw with prefetched Renderer to stored canvas
This method draws prefetched Renderer to its
associated canvas (which happens to be mpLastCanvas).
*/
- bool draw( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xPage,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference<
- ::com::sun::star::graphic::XPrimitive2D > >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ShapeAttributeLayerSharedPtr& rAttr,
- const ::basegfx::B2DHomMatrix& rTransform,
- const ::basegfx::B2DPolyPolygon* pClip,
- const VectorOfDocTreeNodes& rSubsets ) const;
+ bool draw( const css::uno::Reference<css::rendering::XCanvas>& rDestinationCanvas,
+ const css::uno::Reference<css::drawing::XShape>& xShape,
+ const css::uno::Reference<css::drawing::XDrawPage>& xPage,
+ const css::uno::Sequence< css::uno::Reference<
+ css::graphic::XPrimitive2D > >& xPrimitives,
+ const ShapeAttributeLayerSharedPtr& rAttr,
+ const ::basegfx::B2DHomMatrix& rTransform,
+ const ::basegfx::B2DPolyPolygon* pClip,
+ const VectorOfDocTreeNodes& rSubsets ) const;
/** Render shape to an active sprite
*/
- bool renderSprite( const ViewLayerSharedPtr& rViewLayer,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xPage,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference<
- ::com::sun::star::graphic::XPrimitive2D > >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ::basegfx::B2DRectangle& rOrigBounds,
- const ::basegfx::B2DRectangle& rBounds,
- const ::basegfx::B2DRectangle& rUnitBounds,
- int nUpdateFlags,
- const ShapeAttributeLayerSharedPtr& pAttr,
- const VectorOfDocTreeNodes& rSubsets,
- double nPrio,
- bool bIsVisible ) const;
+ bool renderSprite( const ViewLayerSharedPtr& rViewLayer,
+ const css::uno::Reference<css::drawing::XShape>& xShape,
+ const css::uno::Reference<css::drawing::XDrawPage>& xPage,
+ const css::uno::Sequence<css::uno::Reference<
+ css::graphic::XPrimitive2D > >& xPrimitives,
+ const ::basegfx::B2DRectangle& rOrigBounds,
+ const ::basegfx::B2DRectangle& rBounds,
+ const ::basegfx::B2DRectangle& rUnitBounds,
+ int nUpdateFlags,
+ const ShapeAttributeLayerSharedPtr& pAttr,
+ const VectorOfDocTreeNodes& rSubsets,
+ double nPrio,
+ bool bIsVisible ) const;
/** Render shape to given canvas
*/
- bool render( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xPage,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference<
- ::com::sun::star::graphic::XPrimitive2D > >& xPrimitives,
- const GDIMetaFileSharedPtr& rMtf,
- const ::basegfx::B2DRectangle& rBounds,
- const ::basegfx::B2DRectangle& rUpdateBounds,
- int nUpdateFlags,
- const ShapeAttributeLayerSharedPtr& pAttr,
- const VectorOfDocTreeNodes& rSubsets,
- bool bIsVisible ) const;
+ bool render( const css::uno::Reference<css::rendering::XCanvas>& rDestinationCanvas,
+ const css::uno::Reference<css::drawing::XShape >& xShape,
+ const css::uno::Reference<css::drawing::XDrawPage >& xPage,
+ const css::uno::Sequence<css::uno::Reference<
+ css::graphic::XPrimitive2D > >& xPrimitives,
+ const ::basegfx::B2DRectangle& rBounds,
+ const ::basegfx::B2DRectangle& rUpdateBounds,
+ int nUpdateFlags,
+ const ShapeAttributeLayerSharedPtr& pAttr,
+ const VectorOfDocTreeNodes& rSubsets,
+ bool bIsVisible ) const;
/** Calc sprite size in pixel
@@ -332,7 +309,8 @@ namespace slideshow
the given canvas. The entry might be
default-constructed (if newly added)
*/
- RendererCacheVector::iterator getCacheEntry( const ::cppcanvas::CanvasSharedPtr& rDestinationCanvas ) const;
+ RendererCacheVector::iterator getCacheEntry( const css::uno::Reference<
+ css::rendering::XCanvas>& rDestinationCanvas ) const;
void invalidateRenderer() const;
diff --git a/slideshow/source/engine/slide/layer.hxx b/slideshow/source/engine/slide/layer.hxx
index 8bc8121..721ac00 100644
--- a/slideshow/source/engine/slide/layer.hxx
+++ b/slideshow/source/engine/slide/layer.hxx
@@ -21,7 +21,6 @@
#define INCLUDED_SLIDESHOW_LAYER_HXX
#include <basegfx/range/b2dpolyrange.hxx>
-#include <cppcanvas/spritecanvas.hxx>
#include "view.hxx"
#include "animatableshape.hxx"
diff --git a/slideshow/source/engine/slide/layermanager.cxx b/slideshow/source/engine/slide/layermanager.cxx
index bbe4578..f6b1e4a 100644
--- a/slideshow/source/engine/slide/layermanager.cxx
+++ b/slideshow/source/engine/slide/layermanager.cxx
@@ -598,7 +598,7 @@ namespace slideshow
class DummyLayer : public ViewLayer
{
public:
- explicit DummyLayer( const ::cppcanvas::CanvasSharedPtr& rCanvas ) :
+ explicit DummyLayer( const css::uno::Reference< css::rendering::XCanvas >& rCanvas ) :
mpCanvas( rCanvas )
{
}
@@ -608,7 +608,7 @@ namespace slideshow
return true; // visible on all views
}
- virtual ::cppcanvas::CanvasSharedPtr getCanvas() const
+ virtual css::uno::Reference< css::rendering::XCanvas > getCanvas() const
{
return mpCanvas;
}
@@ -623,12 +623,12 @@ namespace slideshow
// NOOP
}
- virtual ::cppcanvas::CustomSpriteSharedPtr createSprite( const ::basegfx::B2DSize& /*rSpriteSizePixel*/,
+ virtual css::uno::Reference< css::rendering::XCustomSprite > createSprite( const ::basegfx::B2DSize& /*rSpriteSizePixel*/,
double /*nSpritePrio*/ ) const
{
ENSURE_OR_THROW( false,
"DummyLayer::createSprite(): This method is not supposed to be called!" );
- return ::cppcanvas::CustomSpriteSharedPtr();
+ return css::uno::Reference< css::rendering::XCustomSprite >();
}
virtual void setPriority( const basegfx::B1DRange& /*rRange*/ )
@@ -643,7 +643,9 @@ namespace slideshow
virtual ::basegfx::B2DHomMatrix getTransformation() const
{
- return mpCanvas->getTransformation();
+ // TODO-NYI
+ //return mpCanvas->getTransformation();
+ return ::basegfx::B2DHomMatrix();
}
virtual ::basegfx::B2DHomMatrix getSpriteTransformation() const
@@ -664,11 +666,11 @@ namespace slideshow
}
private:
- ::cppcanvas::CanvasSharedPtr mpCanvas;
+ css::uno::Reference< css::rendering::XCanvas > mpCanvas;
};
}
- bool LayerManager::renderTo( const ::cppcanvas::CanvasSharedPtr& rTargetCanvas ) const
+ bool LayerManager::renderTo( const css::uno::Reference< css::rendering::XCanvas >& rTargetCanvas ) const
{
bool bRet( true );
ViewLayerSharedPtr pTmpLayer( new DummyLayer( rTargetCanvas ) );
diff --git a/slideshow/source/engine/slide/layermanager.hxx b/slideshow/source/engine/slide/layermanager.hxx
index ef404f4..ad868a3 100644
--- a/slideshow/source/engine/slide/layermanager.hxx
+++ b/slideshow/source/engine/slide/layermanager.hxx
@@ -23,8 +23,6 @@
#include <boost/shared_ptr.hpp>
#include <boost/noncopyable.hpp>
-#include <cppcanvas/spritecanvas.hxx>
-
#include "unoview.hxx"
#include "unoviewcontainer.hxx"
#include "attributableshape.hxx"
@@ -223,7 +221,7 @@ namespace slideshow
@param rTargetCanvas
Target canvas to output onto.
*/
- bool renderTo( const ::cppcanvas::CanvasSharedPtr& rTargetCanvas ) const;
+ bool renderTo( const css::uno::Reference< css::rendering::XCanvas >& rTargetCanvas ) const;
private:
/** A hash map which maps the XShape to the corresponding Shape object.
diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx
index a39325b..7777a68 100644
--- a/slideshow/source/engine/slide/slideimpl.cxx
+++ b/slideshow/source/engine/slide/slideimpl.cxx
@@ -22,7 +22,6 @@
#include <canvas/debug.hxx>
#include <tools/diagnose_ex.h>
#include <canvas/canvastools.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/point/b2dpoint.hxx>
@@ -42,6 +41,7 @@
#include <com/sun/star/animations/XAnimationNodeSupplier.hpp>
#include <com/sun/star/animations/XTargetPropertiesCreator.hpp>
#include <com/sun/star/drawing/TextAnimationKind.hpp>
+#include <com/sun/star/rendering/XBitmapCanvas.hpp>
#include <animations/animationnodehelper.hxx>
@@ -309,14 +309,16 @@ public:
rView->clearAll();
SlideBitmapSharedPtr pBitmap( mrSlide.getCurrentSlideBitmap( rView ) );
- ::cppcanvas::CanvasSharedPtr pCanvas( rView->getCanvas() );
+ css::uno::Reference< css::rendering::XCanvas > pCanvas( rView->getCanvas() );
const ::basegfx::B2DHomMatrix aViewTransform( rView->getTransformation() );
const ::basegfx::B2DPoint aOutPosPixel( aViewTransform * ::basegfx::B2DPoint() );
// setup a canvas with device coordinate space, the slide
// bitmap already has the correct dimension.
- ::cppcanvas::CanvasSharedPtr pDevicePixelCanvas( pCanvas->clone() );
+#if 0
+ // TODO-NYI
+ css::uno::Reference< css::rendering::XCanvas > pDevicePixelCanvas( pCanvas->clone() );
pDevicePixelCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
// render at given output position
@@ -326,6 +328,7 @@ public:
// transition)
pBitmap->clip( ::basegfx::B2DPolyPolygon() );
pBitmap->draw( pDevicePixelCanvas );
+#endif
}
private:
@@ -745,27 +748,29 @@ bool SlideImpl::isAnimated()
SlideBitmapSharedPtr SlideImpl::createCurrentSlideBitmap( const UnoViewSharedPtr& rView,
const ::basegfx::B2ISize& rBmpSize ) const
{
- ENSURE_OR_THROW( rView && rView->getCanvas(),
+ ENSURE_OR_THROW( rView && rView->getCanvas().is(),
"SlideImpl::createCurrentSlideBitmap(): Invalid view" );
ENSURE_OR_THROW( mpLayerManager,
"SlideImpl::createCurrentSlideBitmap(): Invalid layer manager" );
ENSURE_OR_THROW( mbShowLoaded,
"SlideImpl::createCurrentSlideBitmap(): No show loaded" );
- ::cppcanvas::CanvasSharedPtr pCanvas( rView->getCanvas() );
+ uno::Reference< rendering::XCanvas > pCanvas(
+ rView->getCanvas() );
// create a bitmap of appropriate size
- ::cppcanvas::BitmapSharedPtr pBitmap(
- ::cppcanvas::BaseGfxFactory::getInstance().createBitmap(
- pCanvas,
- rBmpSize ) );
+ uno::Reference< rendering::XBitmap > pBitmap(
+ pCanvas->getDevice()->createCompatibleBitmap(
+ geometry::IntegerSize2D(
+ rBmpSize.getX(), rBmpSize.getY())) );
- ENSURE_OR_THROW( pBitmap,
+ ENSURE_OR_THROW( pBitmap.is(),
"SlideImpl::createCurrentSlideBitmap(): Cannot create page bitmap" );
- ::cppcanvas::BitmapCanvasSharedPtr pBitmapCanvas( pBitmap->getBitmapCanvas() );
+ uno::Reference< rendering::XBitmapCanvas > pBitmapCanvas(
+ pBitmap, uno::UNO_QUERY_THROW );
- ENSURE_OR_THROW( pBitmapCanvas,
+ ENSURE_OR_THROW( pBitmapCanvas.is(),
"SlideImpl::createCurrentSlideBitmap(): Cannot create page bitmap canvas" );
// apply linear part of destination canvas transformation (linear means in this context:
@@ -773,10 +778,17 @@ SlideBitmapSharedPtr SlideImpl::createCurrentSlideBitmap( const UnoViewSharedPtr
::basegfx::B2DHomMatrix aLinearTransform( rView->getTransformation() );
aLinearTransform.set( 0, 2, 0.0 );
aLinearTransform.set( 1, 2, 0.0 );
+#if 0
+ // TODO-NYI
pBitmapCanvas->setTransformation( aLinearTransform );
+ // clear to white
+ pBitmapCanvas->fill(
+ ::basegfx::BColor(1.0,1.0,1.0).colorToDoubleSequence(
+ pBitmapCanvas->getDevice()) );
+#endif
+
// output all shapes to bitmap
- initSlideBackground( pBitmapCanvas, rBmpSize );
mpLayerManager->renderTo( pBitmapCanvas );
return SlideBitmapSharedPtr( new SlideBitmap( pBitmap ) );
diff --git a/slideshow/source/engine/slide/userpaintoverlay.cxx b/slideshow/source/engine/slide/userpaintoverlay.cxx
index 8634148..788a9bd 100644
--- a/slideshow/source/engine/slide/userpaintoverlay.cxx
+++ b/slideshow/source/engine/slide/userpaintoverlay.cxx
@@ -28,7 +28,8 @@
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/tools/canvastools.hxx>
#include "activity.hxx"
#include "slideshowcontext.hxx"
@@ -144,14 +145,16 @@ namespace slideshow
//get via SlideImpl instance the bitmap of the slide unmodified to redraw it
SlideBitmapSharedPtr pBitmap( mrSlide.getCurrentSlideBitmap( (*aIter) ) );
- ::cppcanvas::CanvasSharedPtr pCanvas( (*aIter)->getCanvas() );
+ css::uno::Reference< css::rendering::XCanvas > pCanvas( (*aIter)->getCanvas() );
const ::basegfx::B2DHomMatrix aViewTransform( (*aIter)->getTransformation() );
const ::basegfx::B2DPoint aOutPosPixel( aViewTransform * ::basegfx::B2DPoint() );
+#if 0
+ // TODO-NYI
// setup a canvas with device coordinate space, the slide
// bitmap already has the correct dimension.
- ::cppcanvas::CanvasSharedPtr pDevicePixelCanvas( pCanvas->clone() );
+ css::uno::Reference< css::rendering::XCanvas > pDevicePixelCanvas( pCanvas->clone() );
pDevicePixelCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
@@ -162,6 +165,7 @@ namespace slideshow
// transition)
pBitmap->clip( ::basegfx::B2DPolyPolygon() );
pBitmap->draw( pDevicePixelCanvas );
+#endif
mrScreenUpdater.notifyUpdate(*aIter,true);
}
@@ -223,7 +227,8 @@ namespace slideshow
aIter!=aEnd;
++aIter )
{
- (*aIter)->draw();
+ // TODO-NYI
+ //(*aIter)->draw();
}
// screen update necessary to show painting
mrScreenUpdater.notifyUpdate();
@@ -362,21 +367,23 @@ namespace slideshow
//The point is to redraw the LastPoint the way it was originally on the bitmap,
//of the slide
- for( UnoViewVector::iterator aIter=maViews.begin(), aEnd=maViews.end();
- aIter!=aEnd;
- ++aIter )
+ for( UnoViewVector::iterator aIter=maViews.begin(), aEnd=maViews.end();
+ aIter!=aEnd;
+ ++aIter )
{
//get via SlideImpl instance the bitmap of the slide unmodified to redraw it
- SlideBitmapSharedPtr pBitmap( mrSlide.getCurrentSlideBitmap( (*aIter) ) );
- ::cppcanvas::CanvasSharedPtr pCanvas( (*aIter)->getCanvas() );
+ SlideBitmapSharedPtr pBitmap( mrSlide.getCurrentSlideBitmap( (*aIter) ) );
+ css::uno::Reference< css::rendering::XCanvas > pCanvas( (*aIter)->getCanvas() );
- ::basegfx::B2DHomMatrix aViewTransform( (*aIter)->getTransformation() );
- const ::basegfx::B2DPoint aOutPosPixel( aViewTransform * ::basegfx::B2DPoint() );
+ ::basegfx::B2DHomMatrix aViewTransform( (*aIter)->getTransformation() );
+ const ::basegfx::B2DPoint aOutPosPixel( aViewTransform * ::basegfx::B2DPoint() );
+#if 0
+ // TODO-NYI
// setup a canvas with device coordinate space, the slide
// bitmap already has the correct dimension.
- ::cppcanvas::CanvasSharedPtr pDevicePixelCanvas( pCanvas->clone() );
+ css::uno::Reference< css::rendering::XCanvas > pDevicePixelCanvas( pCanvas->clone() );
pDevicePixelCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
@@ -389,11 +396,10 @@ namespace slideshow
// set clip so that we just redraw a part of the canvas
pBitmap->clip(aPolyPoly);
pBitmap->draw( pDevicePixelCanvas );
-
+#endif
mrScreenUpdater.notifyUpdate(*aIter,true);
}
-
- }
+ }
else
{
if( !mbIsLastPointValid )
@@ -417,15 +423,19 @@ namespace slideshow
aIter!=aEnd;
++aIter )
{
- ::cppcanvas::PolyPolygonSharedPtr pPolyPoly(
- ::cppcanvas::BaseGfxFactory::getInstance().createPolyPolygon( (*aIter)->getCanvas(),
- aPoly ) );
+ uno::Reference< rendering::XPolyPolygon2D > pPolyPoly(
+ basegfx::unotools::xPolyPolygonFromB2DPolygon(
+ (*aIter)->getCanvas()->getDevice(),
+ aPoly ) );
- if( pPolyPoly )
+ if( pPolyPoly.is() )
{
+#if 0
+ // TODO-NYI
pPolyPoly->setStrokeWidth(mnStrokeWidth);
pPolyPoly->setRGBALineColor( maStrokeColor.getIntegerColor() );
pPolyPoly->draw();
+#endif
maPolygons.push_back(pPolyPoly);
}
}
diff --git a/slideshow/source/engine/slide/userpaintoverlay.hxx b/slideshow/source/engine/slide/userpaintoverlay.hxx
index fb39ef8..6863906 100644
--- a/slideshow/source/engine/slide/userpaintoverlay.hxx
+++ b/slideshow/source/engine/slide/userpaintoverlay.hxx
@@ -40,7 +40,7 @@ namespace slideshow
class PaintOverlayHandler;
typedef ::boost::shared_ptr< class UserPaintOverlay > UserPaintOverlaySharedPtr;
- typedef ::std::vector< ::cppcanvas::PolyPolygonSharedPtr> PolyPolygonVector;
+
/** Slide overlay, which can be painted into by the user.
This class registers itself at the EventMultiplexer,
diff --git a/slideshow/source/engine/slidebitmap.cxx b/slideshow/source/engine/slidebitmap.cxx
index 998f4d1..df9a39b 100644
--- a/slideshow/source/engine/slidebitmap.cxx
+++ b/slideshow/source/engine/slidebitmap.cxx
@@ -42,26 +42,24 @@ namespace slideshow
namespace internal
{
- SlideBitmap::SlideBitmap( const ::cppcanvas::BitmapSharedPtr& rBitmap ) :
+ SlideBitmap::SlideBitmap( const ::css::uno::Reference< css::rendering::XBitmap >& rBitmap ) :
maOutputPos(),
maClipPoly(),
- mxBitmap()
+ mxBitmap(rBitmap)
{
- if( rBitmap )
- mxBitmap = rBitmap->getUNOBitmap();
-
ENSURE_OR_THROW( mxBitmap.is(), "SlideBitmap::SlideBitmap(): Invalid bitmap" );
}
- bool SlideBitmap::draw( const ::cppcanvas::CanvasSharedPtr& rCanvas ) const
+ bool SlideBitmap::draw( const css::uno::Reference< css::rendering::XCanvas >& rCanvas ) const
{
- ENSURE_OR_RETURN_FALSE( rCanvas && rCanvas->getUNOCanvas().is(),
- "SlideBitmap::draw(): Invalid canvas" );
+ ENSURE_OR_RETURN_FALSE( rCanvas.is(),
+ "SlideBitmap::draw(): Invalid canvas" );
// selectively only copy the transformation from current viewstate,
// don't want no clipping here.
rendering::ViewState aViewState;
- aViewState.AffineTransform = rCanvas->getViewState().AffineTransform;
+ // TODO-NYI
+ //aViewState.AffineTransform = rCanvas->getViewState().AffineTransform;
rendering::RenderState aRenderState;
::canvas::tools::initRenderState( aRenderState );
@@ -76,13 +74,13 @@ namespace slideshow
// TODO(P1): Buffer the clip polygon
aRenderState.Clip =
::basegfx::unotools::xPolyPolygonFromB2DPolyPolygon(
- rCanvas->getUNOCanvas()->getDevice(),
+ rCanvas->getDevice(),
maClipPoly );
}
- rCanvas->getUNOCanvas()->drawBitmap( mxBitmap,
- aViewState,
- aRenderState );
+ rCanvas->drawBitmap( mxBitmap,
+ aViewState,
+ aRenderState );
}
catch( uno::Exception& )
{
diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx
index b1fc0b1..22c9f14 100644
--- a/slideshow/source/engine/slideshowimpl.cxx
+++ b/slideshow/source/engine/slideshowimpl.cxx
@@ -36,10 +36,6 @@
#include <comphelper/servicedecl.hxx>
#include <comphelper/namecontainer.hxx>
-#include <cppcanvas/spritecanvas.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
-
#include <tools/debug.hxx>
#include <basegfx/point/b2dpoint.hxx>
@@ -206,8 +202,6 @@ private:
typedef cppu::WeakComponentImplHelper1<presentation::XSlideShow> SlideShowImplBase;
-typedef ::std::vector< ::cppcanvas::PolyPolygonSharedPtr> PolyPolygonVector;
-
/// Maps XDrawPage for annotations persistence
typedef ::std::map< ::com::sun::star::uno::Reference<
::com::sun::star::drawing::XDrawPage>,
@@ -1466,7 +1460,7 @@ void SlideShowImpl::registerUserPaintPolygons( const uno::Reference< lang::XMult
PolygonMap::iterator aIter=maPolygons.begin();
PolyPolygonVector aPolygons;
- ::cppcanvas::PolyPolygonSharedPtr pPolyPoly;
+ uno::Reference<rendering::XPolyPolygon2D> pPolyPoly;
::basegfx::B2DPolyPolygon b2DPolyPoly;
//Register polygons for each slide
@@ -1481,7 +1475,8 @@ void SlideShowImpl::registerUserPaintPolygons( const uno::Reference< lang::XMult
aIterPoly!=aEnd; ++aIterPoly )
{
pPolyPoly = (*aIterPoly);
- b2DPolyPoly = ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(pPolyPoly->getUNOPolyPolygon());
+ b2DPolyPoly = ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(
+ pPolyPoly);
//Normally there is only one polygon
for(sal_uInt32 i=0; i< b2DPolyPoly.count();i++)
@@ -1533,15 +1528,19 @@ void SlideShowImpl::registerUserPaintPolygons( const uno::Reference< lang::XMult
aXPropSet->setPropertyValue("LineStyle", aAny );
//LineColor
- sal_uInt32 nLineColor;
- nLineColor = pPolyPoly->getRGBALineColor();
+ // TODO-NYI
+ //sal_uInt32 nLineColor;
+ // TODO-NYI
+ // nLineColor = pPolyPoly->getRGBALineColor();
//Transform polygon color from RRGGBBAA to AARRGGBB
- aAny <<= RGBAColor2UnoColor(nLineColor);
+ // TODO-NYI
+ //aAny <<= RGBAColor2UnoColor(nLineColor);
aXPropSet->setPropertyValue("LineColor", aAny );
//LineWidth
- double fLineWidth;
- fLineWidth = pPolyPoly->getStrokeWidth();
+ double fLineWidth(0);
+ // TODO-NYI
+ // fLineWidth = pPolyPoly->getStrokeWidth();
aAny <<= (sal_Int32)fLineWidth;
aXPropSet->setPropertyValue("LineWidth", aAny );
diff --git a/slideshow/source/engine/slideview.cxx b/slideshow/source/engine/slideview.cxx
index 2d2c421..2dc354d 100644
--- a/slideshow/source/engine/slideview.cxx
+++ b/slideshow/source/engine/slideview.cxx
@@ -34,16 +34,12 @@
#include <cppuhelper/interfacecontainer.h>
#include <comphelper/make_shared_from_uno.hxx>
-#include <cppcanvas/spritecanvas.hxx>
-#include <cppcanvas/customsprite.hxx>
-#include <cppcanvas/vclfactory.hxx>
-#include <cppcanvas/basegfxfactory.hxx>
-
#include <tools/debug.hxx>
#include <basegfx/range/b1drange.hxx>
#include <basegfx/range/b2drange.hxx>
#include <basegfx/range/b2irange.hxx>
+#include <basegfx/vector/b2dsize.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
@@ -85,8 +81,8 @@ struct StaticUnitRectPoly : public rtl::StaticWithInit<basegfx::B2DPolygon, Stat
*/
struct SpriteEntry
{
- SpriteEntry( const cppcanvas::CustomSpriteSharedPtr& rSprite,
- double nPrio ) :
+ SpriteEntry( const uno::Reference<rendering::XCustomSprite>& rSprite,
+ double nPrio ) :
mpSprite( rSprite ),
mnPriority( nPrio )
{
@@ -97,8 +93,8 @@ struct SpriteEntry
return mnPriority < rRHS.mnPriority;
}
- boost::weak_ptr< cppcanvas::CustomSprite > mpSprite;
- double mnPriority;
+ uno::WeakReference< rendering::XCustomSprite > mpSprite;
+ double mnPriority;
};
typedef std::vector< SpriteEntry > SpriteVector;
@@ -119,9 +115,9 @@ typedef std::vector< SpriteEntry > SpriteVector;
@return the view clip polygon, in view coordinates, which is
guaranteed to at least clip to the view size.
*/
-basegfx::B2DPolyPolygon createClipPolygon( const basegfx::B2DPolyPolygon& rClip,
- const cppcanvas::CanvasSharedPtr& /*rCanvas*/,
- const basegfx::B2DSize& rUserSize )
+basegfx::B2DPolyPolygon createClipPolygon( const basegfx::B2DPolyPolygon& rClip,
+ const uno::Reference<rendering::XCanvas>& /*rCanvas*/,
+ const basegfx::B2DSize& rUserSize )
{
// setup canvas clipping
// =====================
@@ -166,33 +162,36 @@ basegfx::B2DPolyPolygon prepareClip( const basegfx::B2DPolyPolygon& rClip )
}
-void clearRect( ::cppcanvas::CanvasSharedPtr const& pCanvas,
- basegfx::B2IRange const& rArea )
+void clearRect( const basegfx::B2IRange& )
{
+#if 0
+ // TODO-NYI
+ pCanvas = getCanvas(); ...
+
// convert clip polygon to device coordinate system
::basegfx::B2DPolyPolygon const* pClipPoly( pCanvas->getClip() );
if( pClipPoly )
{
::basegfx::B2DPolyPolygon aClipPoly( *pClipPoly );
aClipPoly.transform( pCanvas->getTransformation() );
- pCanvas->setClip( aClipPoly );
+ // TODO-NYI
+ //pCanvas->setClip( aClipPoly );
}
// set transformation to identitiy (->device pixel)
- pCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
+ // TODO-NYI
+ //pCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
// #i42440# Fill the _full_ background in
// black. Since we had to extend the bitmap by one
// pixel, and the bitmap is initialized white,
// depending on the slide content a one pixel wide
// line will show to the bottom and the right.
- const ::basegfx::B2DPolygon aPoly(
- ::basegfx::tools::createPolygonFromRect(
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list