[Libreoffice-commits] core.git: Branch 'feature/slideshow_onlySprites' - slideshow/source
Michael Jaumann
meta_dev at yahoo.com
Fri Mar 6 03:12:19 PST 2015
slideshow/source/engine/slide/shapemanagerimpl.cxx | 17 +++++++++++++++++
slideshow/source/engine/slide/shapemanagerimpl.hxx | 5 +++++
slideshow/source/engine/slide/slideimpl.cxx | 8 ++++----
3 files changed, 26 insertions(+), 4 deletions(-)
New commits:
commit f7f8706b404b5b61856fbc3e96985b5ca70ee78c
Author: Michael Jaumann <meta_dev at yahoo.com>
Date: Fri Mar 6 10:58:34 2015 +0000
addShape for shapemanagerimpl
Change-Id: I965760aa642126cf4616e7f89b4d4859efb0823a
diff --git a/slideshow/source/engine/slide/shapemanagerimpl.cxx b/slideshow/source/engine/slide/shapemanagerimpl.cxx
index f364b2d..a2e68b0 100644
--- a/slideshow/source/engine/slide/shapemanagerimpl.cxx
+++ b/slideshow/source/engine/slide/shapemanagerimpl.cxx
@@ -397,6 +397,23 @@ void ShapeManagerImpl::implAddShape( const ShapeSharedPtr& rShape )
notifyShapeUpdate( rShape );
}
+void ShapeManagerImpl::addShape( const ShapeSharedPtr& rShape )
+{
+ ENSURE_OR_THROW( rShape, "ShapeManagerImpl::addShape(): invalid Shape" );
+
+ // add shape to XShape hash map
+ if( !maXShapeHash.insert(
+ XShapeHash::value_type( rShape->getXShape(),
+ rShape) ).second )
+ {
+ // entry already present, nothing to do
+ return;
+ }
+
+ // add shape to appropriate layer
+ implAddShape( rShape );
+}
+
void ShapeManagerImpl::implRemoveShape( const ShapeSharedPtr& rShape )
{
ENSURE_OR_THROW( rShape, "ShapeManagerImpl::implRemoveShape(): invalid Shape" );
diff --git a/slideshow/source/engine/slide/shapemanagerimpl.hxx b/slideshow/source/engine/slide/shapemanagerimpl.hxx
index 05d94e2..108e58a 100644
--- a/slideshow/source/engine/slide/shapemanagerimpl.hxx
+++ b/slideshow/source/engine/slide/shapemanagerimpl.hxx
@@ -68,6 +68,11 @@ public:
CursorManager& rCursorManager,
const ShapeEventListenerMap& rGlobalListenersMap,
const ShapeCursorMap& rGlobalCursorMap );
+ /** Add the shape to this object
+
+ This method adds a shape to the page.
+ */
+ void addShape( const ShapeSharedPtr& rShape );
/** Enables event listening.
diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx
index 4c7f294..7d7ef62 100644
--- a/slideshow/source/engine/slide/slideimpl.cxx
+++ b/slideshow/source/engine/slide/slideimpl.cxx
@@ -1049,15 +1049,15 @@ bool SlideImpl::loadShapes()
0, /* shape num starts at 0 */
true );
- /* mpLayerManager->addShape(
- aMPShapesFunctor.importBackgroundShape() );*/
+ mpShapeManager->addShape(
+ aMPShapesFunctor.importBackgroundShape() );
while( !aMPShapesFunctor.isImportDone() )
{
ShapeSharedPtr const& rShape(
aMPShapesFunctor.importShape() );
if( rShape )
- /* mpLayerManager->addShape( rShape );*/;
+ mpShapeManager->addShape( rShape );;
}
addPolygons(aMPShapesFunctor.getPolygons());
@@ -1102,7 +1102,7 @@ bool SlideImpl::loadShapes()
ShapeSharedPtr const& rShape(
aShapesFunctor.importShape() );
if( rShape )
- /*mpLayerManager->addShape( rShape );*/;
+ mpShapeManager->addShape( rShape );;
}
addPolygons(aShapesFunctor.getPolygons());
}
More information about the Libreoffice-commits
mailing list