Files
libreoffice/slideshow/source/engine/slide/slideimpl.cxx

1133 lines
40 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include <osl/diagnose.hxx>
#include <tools/diagnose_ex.h>
#include <sal/log.hxx>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include <canvas/canvastools.hxx>
#include <cppcanvas/basegfxfactory.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/numeric/ftools.hxx>
#include <com/sun/star/awt/SystemPointer.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/drawing/XMasterPageTarget.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/presentation/ParagraphTarget.hpp>
#include <com/sun/star/presentation/EffectNodeType.hpp>
#include <com/sun/star/drawing/TextAnimationKind.hpp>
#include <cppuhelper/exc_hlp.hxx>
#include <comphelper/anytostring.hxx>
#include <slide.hxx>
#include <slideshowcontext.hxx>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include "slideanimations.hxx"
#include <doctreenode.hxx>
#include <screenupdater.hxx>
#include <cursormanager.hxx>
#include <shapeimporter.hxx>
#include <slideshowexceptions.hxx>
#include <eventqueue.hxx>
#include <activitiesqueue.hxx>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include "layermanager.hxx"
#include "shapemanagerimpl.hxx"
#include <usereventqueue.hxx>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include "userpaintoverlay.hxx"
#include <event.hxx>
#include "targetpropertiescreator.hxx"
#include <tools.hxx>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
#include <iterator>
#include <functional>
#include <iostream>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
using namespace ::com::sun::star;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
namespace slideshow
{
namespace internal
{
namespace
{
class SlideImpl : public Slide,
public CursorManager,
public ViewEventHandler,
public ::osl::DebugBase<SlideImpl>
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
public:
SlideImpl( const uno::Reference<drawing::XDrawPage>& xDrawPage,
const uno::Reference<drawing::XDrawPagesSupplier>& xDrawPages,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const uno::Reference<animations::XAnimationNode>& xRootNode,
EventQueue& rEventQueue,
EventMultiplexer& rEventMultiplexer,
ScreenUpdater& rScreenUpdater,
ActivitiesQueue& rActivitiesQueue,
UserEventQueue& rUserEventQueue,
CursorManager& rCursorManager,
MediaFileManager& rMediaFileManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const UnoViewContainer& rViewContainer,
const uno::Reference<uno::XComponentContext>& xContext,
const ShapeEventListenerMap& rShapeListenerMap,
const ShapeCursorMap& rShapeCursorMap,
const PolyPolygonVector& rPolyPolygonVector,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
RGBColor const& rUserPaintColor,
double dUserPaintStrokeWidth,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bool bUserPaintEnabled,
bool bIntrinsicAnimationsAllowed,
bool bDisableAnimationZOrder );
virtual ~SlideImpl() override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// Slide interface
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
virtual void prefetch() override;
virtual void show( bool ) override;
virtual void hide() override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
virtual basegfx::B2ISize getSlideSize() const override;
virtual uno::Reference<drawing::XDrawPage > getXDrawPage() const override;
virtual uno::Reference<animations::XAnimationNode> getXAnimationNode() const override;
virtual PolyPolygonVector getPolygons() override;
virtual void drawPolygons() const override;
virtual bool isPaintOverlayActive() const override;
virtual void enablePaintOverlay() override;
virtual void disablePaintOverlay() override;
virtual void update_settings( bool bUserPaintEnabled, RGBColor const& aUserPaintColor, double dUserPaintStrokeWidth ) override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// TODO(F2): Rework SlideBitmap to no longer be based on XBitmap,
// but on canvas-independent basegfx bitmaps
virtual SlideBitmapSharedPtr getCurrentSlideBitmap( const UnoViewSharedPtr& rView ) const override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
private:
// ViewEventHandler
virtual void viewAdded( const UnoViewSharedPtr& rView ) override;
virtual void viewRemoved( const UnoViewSharedPtr& rView ) override;
virtual void viewChanged( const UnoViewSharedPtr& rView ) override;
virtual void viewsChanged() override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// CursorManager
virtual bool requestCursor( sal_Int16 nCursorShape ) override;
virtual void resetCursor() override;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
void activatePaintOverlay();
void deactivatePaintOverlay();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
/** Query whether the slide has animations at all
If the slide doesn't have animations, show() displays
only static content. If an event is registered with
registerSlideEndEvent(), this event will be
immediately activated at the end of the show() method.
@return true, if this slide has animations, false
otherwise
*/
bool isAnimated();
/// Set all Shapes to their initial attributes for slideshow
bool applyInitialShapeAttributes( const css::uno::Reference< css::animations::XAnimationNode >& xRootAnimationNode );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
/// Set shapes to attributes corresponding to initial or final state of slide
void applyShapeAttributes(
const css::uno::Reference< css::animations::XAnimationNode >& xRootAnimationNode,
bool bInitial) const;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
/// Renders current slide content to bitmap
SlideBitmapSharedPtr createCurrentSlideBitmap(
const UnoViewSharedPtr& rView,
::basegfx::B2ISize const & rSlideSize ) const;
/// Prefetch all shapes (not the animations)
bool loadShapes();
/// Retrieve slide size from XDrawPage
basegfx::B2ISize getSlideSizeImpl() const;
/// Prefetch show, but don't call applyInitialShapeAttributes()
bool implPrefetchShow();
/// Add Polygons to the member maPolygons
void addPolygons(const PolyPolygonVector& rPolygons);
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// Types
// =====
enum SlideAnimationState
{
CONSTRUCTING_STATE=0,
INITIAL_STATE=1,
SHOWING_STATE=2,
FINAL_STATE=3,
SlideAnimationState_NUM_ENTRIES=4
};
typedef std::vector< SlideBitmapSharedPtr > VectorOfSlideBitmaps;
/** Vector of slide bitmaps.
Since the bitmap content is sensitive to animation
effects, we have an inner vector containing a distinct
bitmap for each of the SlideAnimationStates.
*/
typedef ::std::vector< std::pair< UnoViewSharedPtr,
VectorOfSlideBitmaps > > VectorOfVectorOfSlideBitmaps;
// Member variables
// ================
/// The page model object
uno::Reference< drawing::XDrawPage > mxDrawPage;
uno::Reference< drawing::XDrawPagesSupplier > mxDrawPagesSupplier;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
uno::Reference< animations::XAnimationNode > mxRootNode;
LayerManagerSharedPtr mpLayerManager;
std::shared_ptr<ShapeManagerImpl> mpShapeManager;
std::shared_ptr<SubsettableShapeManager> mpSubsettableShapeManager;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
/// Contains common objects needed throughout the slideshow
SlideShowContext maContext;
/// parent cursor manager
CursorManager& mrCursorManager;
/// Handles the animation and event generation for us
SlideAnimations maAnimations;
PolyPolygonVector maPolygons;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
RGBColor maUserPaintColor;
double mdUserPaintStrokeWidth;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
UserPaintOverlaySharedPtr mpPaintOverlay;
/// Bitmaps with slide content at various states
mutable VectorOfVectorOfSlideBitmaps maSlideBitmaps;
SlideAnimationState meAnimationState;
const basegfx::B2ISize maSlideSize;
sal_Int16 mnCurrentCursor;
/// True, when intrinsic shape animations are allowed
bool const mbIntrinsicAnimationsAllowed;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
/// True, when user paint overlay is enabled
bool mbUserPaintOverlayEnabled;
/// True, if initial load of all page shapes succeeded
bool mbShapesLoaded;
/// True, if initial load of all animation info succeeded
bool mbShowLoaded;
/** True, if this slide is not static.
If this slide has animated content, this variable will
be true, and false otherwise.
*/
bool mbHaveAnimations;
/** True, if this slide has a main animation sequence.
If this slide has animation content, which in turn has
a main animation sequence (which must be fully run
before EventMultiplexer::notifySlideAnimationsEnd() is
called), this member is true.
*/
bool mbMainSequenceFound;
/// When true, show() was called. Slide hidden otherwise.
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bool mbActive;
/// When true, enablePaintOverlay was called and mbUserPaintOverlay = true
bool mbPaintOverlayActive;
/// When true, final state attributes are already applied to shapes
bool mbFinalStateApplied;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
};
void slideRenderer( SlideImpl const * pSlide, const UnoViewSharedPtr& rView )
{
// fully clear view content to background color
rView->clearAll();
SlideBitmapSharedPtr pBitmap( pSlide->getCurrentSlideBitmap( rView ) );
::cppcanvas::CanvasSharedPtr 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() );
pDevicePixelCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
// render at given output position
pBitmap->move( aOutPosPixel );
// clear clip (might have been changed, e.g. from comb
// transition)
pBitmap->clip( ::basegfx::B2DPolyPolygon() );
pBitmap->draw( pDevicePixelCanvas );
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
SlideImpl::SlideImpl( const uno::Reference< drawing::XDrawPage >& xDrawPage,
const uno::Reference<drawing::XDrawPagesSupplier>& xDrawPages,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const uno::Reference< animations::XAnimationNode >& xRootNode,
EventQueue& rEventQueue,
EventMultiplexer& rEventMultiplexer,
ScreenUpdater& rScreenUpdater,
ActivitiesQueue& rActivitiesQueue,
UserEventQueue& rUserEventQueue,
CursorManager& rCursorManager,
MediaFileManager& rMediaFileManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const UnoViewContainer& rViewContainer,
const uno::Reference< uno::XComponentContext >& xComponentContext,
const ShapeEventListenerMap& rShapeListenerMap,
const ShapeCursorMap& rShapeCursorMap,
const PolyPolygonVector& rPolyPolygonVector,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
RGBColor const& aUserPaintColor,
double dUserPaintStrokeWidth,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bool bUserPaintEnabled,
bool bIntrinsicAnimationsAllowed,
bool bDisableAnimationZOrder ) :
mxDrawPage( xDrawPage ),
2010-01-26 17:21:57 +01:00
mxDrawPagesSupplier( xDrawPages ),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
mxRootNode( xRootNode ),
mpLayerManager( new LayerManager(
rViewContainer,
bDisableAnimationZOrder) ),
mpShapeManager( new ShapeManagerImpl(
rEventMultiplexer,
mpLayerManager,
rCursorManager,
rShapeListenerMap,
rShapeCursorMap)),
mpSubsettableShapeManager( mpShapeManager ),
maContext( mpSubsettableShapeManager,
rEventQueue,
rEventMultiplexer,
rScreenUpdater,
rActivitiesQueue,
rUserEventQueue,
*this,
rMediaFileManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
rViewContainer,
xComponentContext ),
mrCursorManager( rCursorManager ),
maAnimations( maContext,
basegfx::B2DSize( getSlideSizeImpl() ) ),
maPolygons(rPolyPolygonVector),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
maUserPaintColor(aUserPaintColor),
mdUserPaintStrokeWidth(dUserPaintStrokeWidth),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
mpPaintOverlay(),
maSlideBitmaps(),
meAnimationState( CONSTRUCTING_STATE ),
maSlideSize(getSlideSizeImpl()),
mnCurrentCursor( awt::SystemPointer::ARROW ),
mbIntrinsicAnimationsAllowed( bIntrinsicAnimationsAllowed ),
mbUserPaintOverlayEnabled(bUserPaintEnabled),
mbShapesLoaded( false ),
mbShowLoaded( false ),
mbHaveAnimations( false ),
mbMainSequenceFound( false ),
mbActive( false ),
mbPaintOverlayActive( false ),
mbFinalStateApplied( false )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
// clone already existing views for slide bitmaps
for( const auto& rView : rViewContainer )
viewAdded( rView );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// register screen update (LayerManager needs to signal pending
// updates)
maContext.mrScreenUpdater.addViewUpdate(mpShapeManager);
}
void SlideImpl::update_settings( bool bUserPaintEnabled, RGBColor const& aUserPaintColor, double dUserPaintStrokeWidth )
{
maUserPaintColor = aUserPaintColor;
mdUserPaintStrokeWidth = dUserPaintStrokeWidth;
mbUserPaintOverlayEnabled = bUserPaintEnabled;
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
SlideImpl::~SlideImpl()
{
if( mpShapeManager )
{
maContext.mrScreenUpdater.removeViewUpdate(mpShapeManager);
mpShapeManager->dispose();
// TODO(Q3): Make sure LayerManager (and thus Shapes) dies
// first, because SlideShowContext has SubsettableShapeManager
// as reference member.
mpLayerManager.reset();
}
}
void SlideImpl::prefetch()
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
if( !mxRootNode.is() )
return;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
applyInitialShapeAttributes(mxRootNode);
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
void SlideImpl::show( bool bSlideBackgoundPainted )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
if( mbActive )
return; // already active
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
if( !mpShapeManager || !mpLayerManager )
return; // disposed
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// set initial shape attributes (e.g. hide shapes that have
// 'appear' effect set)
if( !applyInitialShapeAttributes(mxRootNode) )
return;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// activate and take over view - clears view, if necessary
mbActive = true;
requestCursor( mnCurrentCursor );
// enable shape management & event broadcasting for shapes of this
// slide. Also enables LayerManager to record updates. Currently,
// never let LayerManager render initial slide content, use
// buffered slide bitmaps instead.
mpShapeManager->activate();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// render slide to screen, if requested
if( !bSlideBackgoundPainted )
{
for( const auto& rContext : maContext.mrViewContainer )
slideRenderer( this, rContext );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
maContext.mrScreenUpdater.notifyUpdate();
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// fire up animations
const bool bIsAnimated( isAnimated() );
if( bIsAnimated )
maAnimations.start(); // feeds initial events into queue
// NOTE: this looks slightly weird, but is indeed correct:
// as isAnimated() might return false, _although_ there is
// a main sequence (because the animation nodes don't
// contain any executable effects), we gotta check both
// conditions here.
if( !bIsAnimated || !mbMainSequenceFound )
{
// manually trigger a slide animation end event (we don't have
// animations at all, or we don't have a main animation
// sequence, but if we had, it'd end now). Note that having
// animations alone does not matter here, as only main
// sequence animations prevents showing the next slide on
// nextEvent().
maContext.mrEventMultiplexer.notifySlideAnimationsEnd();
}
// enable shape-intrinsic animations (drawing layer animations or
// GIF animations)
if( mbIntrinsicAnimationsAllowed )
mpSubsettableShapeManager->notifyIntrinsicAnimationsEnabled();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// enable paint overlay, if maUserPaintColor is valid
activatePaintOverlay();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// from now on, animations might be showing
meAnimationState = SHOWING_STATE;
}
void SlideImpl::hide()
{
if( !mbActive || !mpShapeManager )
return; // already hidden/disposed
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// from now on, all animations are stopped
meAnimationState = FINAL_STATE;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// disable user paint overlay under all circumstances,
// this slide now ceases to be active.
deactivatePaintOverlay();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// switch off all shape-intrinsic animations.
mpSubsettableShapeManager->notifyIntrinsicAnimationsDisabled();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// force-end all SMIL animations, too
maAnimations.end();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// disable shape management & event broadcasting for shapes of this
// slide. Also disables LayerManager.
mpShapeManager->deactivate();
// vanish from view
resetCursor();
mbActive = false;
}
basegfx::B2ISize SlideImpl::getSlideSize() const
{
return maSlideSize;
}
uno::Reference<drawing::XDrawPage > SlideImpl::getXDrawPage() const
{
return mxDrawPage;
}
uno::Reference<animations::XAnimationNode> SlideImpl::getXAnimationNode() const
{
return mxRootNode;
}
PolyPolygonVector SlideImpl::getPolygons()
{
if(mbPaintOverlayActive)
maPolygons = mpPaintOverlay->getPolygons();
return maPolygons;
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
SlideBitmapSharedPtr SlideImpl::getCurrentSlideBitmap( const UnoViewSharedPtr& rView ) const
{
// search corresponding entry in maSlideBitmaps (which
// contains the views as the key)
VectorOfVectorOfSlideBitmaps::iterator aIter;
const VectorOfVectorOfSlideBitmaps::iterator aEnd( maSlideBitmaps.end() );
if( (aIter=std::find_if( maSlideBitmaps.begin(),
aEnd,
[&rView]
( const VectorOfVectorOfSlideBitmaps::value_type& cp )
{ return rView == cp.first; } ) ) == aEnd )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
// corresponding view not found - maybe view was not
// added to Slide?
ENSURE_OR_THROW( false,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::getInitialSlideBitmap(): view does not "
"match any of the added ones" );
}
// ensure that the show is loaded
if( !mbShowLoaded )
{
// only prefetch and init shapes when not done already
// (otherwise, at least applyInitialShapeAttributes() will be
// called twice for initial slide rendering). Furthermore,
// applyInitialShapeAttributes() _always_ performs
// initializations, which would be highly unwanted during a
// running show. OTOH, a slide whose mbShowLoaded is false is
// guaranteed not be running a show.
// set initial shape attributes (e.g. hide 'appear' effect
// shapes)
if( !const_cast<SlideImpl*>(this)->applyInitialShapeAttributes( mxRootNode ) )
ENSURE_OR_THROW(false,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::getCurrentSlideBitmap(): Cannot "
"apply initial attributes");
}
SlideBitmapSharedPtr& rBitmap( aIter->second.at( meAnimationState ));
const ::basegfx::B2ISize& rSlideSize(
getSlideSizePixel( ::basegfx::B2DSize( getSlideSize() ),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
rView ));
// is the bitmap valid (actually existent, and of correct
// size)?
if( !rBitmap || rBitmap->getSize() != rSlideSize )
{
// no bitmap there yet, or wrong size - create one
rBitmap = createCurrentSlideBitmap(rView, rSlideSize);
}
return rBitmap;
}
// private methods
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
void SlideImpl::viewAdded( const UnoViewSharedPtr& rView )
{
maSlideBitmaps.emplace_back( rView,
VectorOfSlideBitmaps(SlideAnimationState_NUM_ENTRIES) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
if( mpLayerManager )
mpLayerManager->viewAdded( rView );
}
void SlideImpl::viewRemoved( const UnoViewSharedPtr& rView )
{
if( mpLayerManager )
mpLayerManager->viewRemoved( rView );
const VectorOfVectorOfSlideBitmaps::iterator aEnd( maSlideBitmaps.end() );
maSlideBitmaps.erase(
std::remove_if( maSlideBitmaps.begin(),
aEnd,
[&rView]
( const VectorOfVectorOfSlideBitmaps::value_type& cp )
{ return rView == cp.first; } ),
aEnd );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
void SlideImpl::viewChanged( const UnoViewSharedPtr& rView )
{
// nothing to do for the Slide - getCurrentSlideBitmap() lazily
// handles bitmap resizes
if( mbActive && mpLayerManager )
mpLayerManager->viewChanged(rView);
}
void SlideImpl::viewsChanged()
{
// nothing to do for the Slide - getCurrentSlideBitmap() lazily
// handles bitmap resizes
if( mbActive && mpLayerManager )
mpLayerManager->viewsChanged();
}
bool SlideImpl::requestCursor( sal_Int16 nCursorShape )
{
mnCurrentCursor = nCursorShape;
return mrCursorManager.requestCursor(mnCurrentCursor);
}
void SlideImpl::resetCursor()
{
mnCurrentCursor = awt::SystemPointer::ARROW;
mrCursorManager.resetCursor();
}
bool SlideImpl::isAnimated()
{
// prefetch, but don't apply initial shape attributes
if( !implPrefetchShow() )
return false;
return mbHaveAnimations && maAnimations.isAnimated();
}
SlideBitmapSharedPtr SlideImpl::createCurrentSlideBitmap( const UnoViewSharedPtr& rView,
const ::basegfx::B2ISize& rBmpSize ) const
{
ENSURE_OR_THROW( rView && rView->getCanvas(),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::createCurrentSlideBitmap(): Invalid view" );
ENSURE_OR_THROW( mpLayerManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::createCurrentSlideBitmap(): Invalid layer manager" );
ENSURE_OR_THROW( mbShowLoaded,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::createCurrentSlideBitmap(): No show loaded" );
// tdf#96083 ensure end state settings are applied to shapes once when bitmap gets re-rendered
// in that state
if(!mbFinalStateApplied && FINAL_STATE == meAnimationState && mxRootNode.is())
{
const_cast< SlideImpl* >(this)->mbFinalStateApplied = true;
applyShapeAttributes(mxRootNode, false);
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
::cppcanvas::CanvasSharedPtr pCanvas( rView->getCanvas() );
// create a bitmap of appropriate size
::cppcanvas::BitmapSharedPtr pBitmap(
::cppcanvas::BaseGfxFactory::createBitmap(
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
pCanvas,
rBmpSize ) );
ENSURE_OR_THROW( pBitmap,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::createCurrentSlideBitmap(): Cannot create page bitmap" );
::cppcanvas::BitmapCanvasSharedPtr pBitmapCanvas( pBitmap->getBitmapCanvas() );
ENSURE_OR_THROW( pBitmapCanvas,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::createCurrentSlideBitmap(): Cannot create page bitmap canvas" );
// apply linear part of destination canvas transformation (linear means in this context:
// transformation without any translational components)
::basegfx::B2DHomMatrix aLinearTransform( rView->getTransformation() );
aLinearTransform.set( 0, 2, 0.0 );
aLinearTransform.set( 1, 2, 0.0 );
pBitmapCanvas->setTransformation( aLinearTransform );
// output all shapes to bitmap
initSlideBackground( pBitmapCanvas, rBmpSize );
mpLayerManager->renderTo( pBitmapCanvas );
return std::make_shared<SlideBitmap>( pBitmap );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
class MainSequenceSearcher
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
public:
MainSequenceSearcher()
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
maSearchKey.Name = "node-type";
maSearchKey.Value <<= presentation::EffectNodeType::MAIN_SEQUENCE;
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
void operator()( const uno::Reference< animations::XAnimationNode >& xChildNode )
{
uno::Sequence< beans::NamedValue > aUserData( xChildNode->getUserData() );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
if( findNamedValue( aUserData, maSearchKey ) )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
maMainSequence = xChildNode;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const uno::Reference< animations::XAnimationNode >& getMainSequence() const
{
return maMainSequence;
}
private:
beans::NamedValue maSearchKey;
uno::Reference< animations::XAnimationNode > maMainSequence;
};
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bool SlideImpl::implPrefetchShow()
{
if( mbShowLoaded )
return true;
ENSURE_OR_RETURN_FALSE( mxDrawPage.is(),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::implPrefetchShow(): Invalid draw page" );
ENSURE_OR_RETURN_FALSE( mpLayerManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::implPrefetchShow(): Invalid layer manager" );
// fetch desired page content
// ==========================
if( !loadShapes() )
return false;
// New animations framework: import the shape effect info
// ======================================================
try
{
if( mxRootNode.is() )
{
if( !maAnimations.importAnimations( mxRootNode ) )
{
OSL_FAIL( "SlideImpl::implPrefetchShow(): have animation nodes, "
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"but import animations failed." );
// could not import animation framework,
// _although_ some animation nodes are there -
// this is an error (not finding animations at
// all is okay - might be a static slide)
return false;
}
// now check whether we've got a main sequence (if
// not, we must manually call
// EventMultiplexer::notifySlideAnimationsEnd()
// above, as e.g. interactive sequences alone
// don't block nextEvent() from issuing the next
// slide)
MainSequenceSearcher aSearcher;
if( for_each_childNode( mxRootNode, aSearcher ) )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
mbMainSequenceFound = aSearcher.getMainSequence().is();
// import successfully done
mbHaveAnimations = true;
}
}
catch( uno::RuntimeException& )
{
throw;
}
catch( uno::Exception& )
{
SAL_WARN( "slideshow", exceptionToString(cppu::getCaughtException()) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// TODO(E2): Error handling. For now, bail out
}
mbShowLoaded = true;
return true;
}
void SlideImpl::enablePaintOverlay()
{
if( !mbUserPaintOverlayEnabled || !mbPaintOverlayActive )
{
mbUserPaintOverlayEnabled = true;
activatePaintOverlay();
}
}
void SlideImpl::disablePaintOverlay()
{
}
void SlideImpl::activatePaintOverlay()
{
if( mbUserPaintOverlayEnabled || !maPolygons.empty() )
{
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
mpPaintOverlay = UserPaintOverlay::create( maUserPaintColor,
mdUserPaintStrokeWidth,
maContext,
maPolygons,
mbUserPaintOverlayEnabled );
mbPaintOverlayActive = true;
}
}
void SlideImpl::drawPolygons() const
{
if( mpPaintOverlay )
mpPaintOverlay->drawPolygons();
}
void SlideImpl::addPolygons(const PolyPolygonVector& rPolygons)
{
for (const auto& rxPolygon : rPolygons)
maPolygons.push_back(rxPolygon);
}
bool SlideImpl::isPaintOverlayActive() const
{
return mbPaintOverlayActive;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
void SlideImpl::deactivatePaintOverlay()
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
if(mbPaintOverlayActive)
maPolygons = mpPaintOverlay->getPolygons();
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
mpPaintOverlay.reset();
mbPaintOverlayActive = false;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
void SlideImpl::applyShapeAttributes(
const css::uno::Reference< css::animations::XAnimationNode >& xRootAnimationNode,
bool bInitial) const
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
uno::Sequence< animations::TargetProperties > aProps(
TargetPropertiesCreator::createTargetProperties( xRootAnimationNode, bInitial ) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
// apply extracted values to our shapes
const ::std::size_t nSize( aProps.getLength() );
for( ::std::size_t i=0; i<nSize; ++i )
{
sal_Int16 nParaIndex( -1 );
uno::Reference< drawing::XShape > xShape( aProps[i].Target,
uno::UNO_QUERY );
if( !xShape.is() )
{
// not a shape target. Maybe a ParagraphTarget?
presentation::ParagraphTarget aParaTarget;
if( aProps[i].Target >>= aParaTarget )
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
// yep, ParagraphTarget found - extract shape
// and index
xShape = aParaTarget.Shape;
nParaIndex = aParaTarget.Paragraph;
}
}
if( xShape.is() )
{
ShapeSharedPtr pShape( mpLayerManager->lookupShape( xShape ) );
if( !pShape )
{
OSL_FAIL( "SlideImpl::applyInitialShapeAttributes(): no shape found for given target" );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
continue;
}
AttributableShapeSharedPtr pAttrShape(
::std::dynamic_pointer_cast< AttributableShape >( pShape ) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
if( !pAttrShape )
{
OSL_FAIL( "SlideImpl::applyInitialShapeAttributes(): shape found does not "
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"implement AttributableShape interface" );
continue;
}
if( nParaIndex != -1 )
{
// our target is a paragraph subset, thus look
// this up first.
const DocTreeNodeSupplier& rNodeSupplier( pAttrShape->getTreeNodeSupplier() );
if( rNodeSupplier.getNumberOfTreeNodes(
DocTreeNode::NodeType::LogicalParagraph ) <= nParaIndex )
{
OSL_FAIL( "SlideImpl::applyInitialShapeAttributes(): shape found does not "
"provide a subset for requested paragraph index" );
continue;
}
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
pAttrShape = pAttrShape->getSubset(
rNodeSupplier.getTreeNode(
nParaIndex,
DocTreeNode::NodeType::LogicalParagraph ) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
if( !pAttrShape )
{
OSL_FAIL( "SlideImpl::applyInitialShapeAttributes(): shape found does not "
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"provide a subset for requested paragraph index" );
continue;
}
}
const uno::Sequence< beans::NamedValue >& rShapeProps( aProps[i].Properties );
const ::std::size_t nShapePropSize( rShapeProps.getLength() );
for( ::std::size_t j=0; j<nShapePropSize; ++j )
{
bool bVisible=false;
if( rShapeProps[j].Name.equalsIgnoreAsciiCase("visibility") &&
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
extractValue( bVisible,
rShapeProps[j].Value,
pShape,
::basegfx::B2DSize( getSlideSize() ) ))
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
{
pAttrShape->setVisibility( bVisible );
}
else
{
OSL_FAIL( "SlideImpl::applyInitialShapeAttributes(): Unexpected "
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"(and unimplemented) property encountered" );
}
}
}
}
}
bool SlideImpl::applyInitialShapeAttributes(
const uno::Reference< animations::XAnimationNode >& xRootAnimationNode )
{
if( !implPrefetchShow() )
return false;
if( !xRootAnimationNode.is() )
{
meAnimationState = INITIAL_STATE;
return true; // no animations - no attributes to apply -
// succeeded
}
applyShapeAttributes(xRootAnimationNode, true);
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
meAnimationState = INITIAL_STATE;
return true;
}
bool SlideImpl::loadShapes()
{
if( mbShapesLoaded )
return true;
ENSURE_OR_RETURN_FALSE( mxDrawPage.is(),
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::loadShapes(): Invalid draw page" );
ENSURE_OR_RETURN_FALSE( mpLayerManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
"SlideImpl::loadShapes(): Invalid layer manager" );
// fetch desired page content
// ==========================
// also take master page content
uno::Reference< drawing::XDrawPage > xMasterPage;
uno::Reference< drawing::XShapes > xMasterPageShapes;
sal_Int32 nCurrCount(0);
uno::Reference< drawing::XMasterPageTarget > xMasterPageTarget( mxDrawPage,
uno::UNO_QUERY );
if( xMasterPageTarget.is() )
{
xMasterPage = xMasterPageTarget->getMasterPage();
xMasterPageShapes.set( xMasterPage,
uno::UNO_QUERY );
if( xMasterPage.is() && xMasterPageShapes.is() )
{
// TODO(P2): maybe cache master pages here (or treat the
// masterpage as a single metafile. At least currently,
// masterpages do not contain animation effects)
try
{
// load the masterpage shapes
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
ShapeImporter aMPShapesFunctor( xMasterPage,
mxDrawPage,
mxDrawPagesSupplier,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
maContext,
0, /* shape num starts at 0 */
true );
mpLayerManager->addShape(
aMPShapesFunctor.importBackgroundShape() );
while( !aMPShapesFunctor.isImportDone() )
{
ShapeSharedPtr const& rShape(
aMPShapesFunctor.importShape() );
if( rShape )
mpLayerManager->addShape( rShape );
}
addPolygons(aMPShapesFunctor.getPolygons());
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
nCurrCount = static_cast<sal_Int32>(aMPShapesFunctor.getImportedShapesCount());
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
catch( uno::RuntimeException& )
{
throw;
}
catch( ShapeLoadFailedException& )
{
// TODO(E2): Error handling. For now, bail out
OSL_FAIL( "SlideImpl::loadShapes(): caught ShapeLoadFailedException" );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
return false;
}
catch( uno::Exception& )
{
SAL_WARN( "slideshow", exceptionToString( cppu::getCaughtException() ) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
return false;
}
}
}
try
{
// load the normal page shapes
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
ShapeImporter aShapesFunctor( mxDrawPage,
mxDrawPage,
mxDrawPagesSupplier,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
maContext,
nCurrCount,
false );
while( !aShapesFunctor.isImportDone() )
{
ShapeSharedPtr const& rShape(
aShapesFunctor.importShape() );
if( rShape )
mpLayerManager->addShape( rShape );
}
addPolygons(aShapesFunctor.getPolygons());
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
}
catch( uno::RuntimeException& )
{
throw;
}
catch( ShapeLoadFailedException& )
{
// TODO(E2): Error handling. For now, bail out
OSL_FAIL( "SlideImpl::loadShapes(): caught ShapeLoadFailedException" );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
return false;
}
catch( uno::Exception& )
{
SAL_WARN( "slideshow", exceptionToString( cppu::getCaughtException() ) );
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
return false;
}
mbShapesLoaded = true;
return true;
}
basegfx::B2ISize SlideImpl::getSlideSizeImpl() const
{
uno::Reference< beans::XPropertySet > xPropSet(
mxDrawPage, uno::UNO_QUERY_THROW );
sal_Int32 nDocWidth = 0;
sal_Int32 nDocHeight = 0;
xPropSet->getPropertyValue("Width") >>= nDocWidth;
xPropSet->getPropertyValue("Height") >>= nDocHeight;
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
return basegfx::B2ISize( nDocWidth, nDocHeight );
}
} // namespace
SlideSharedPtr createSlide( const uno::Reference< drawing::XDrawPage >& xDrawPage,
const uno::Reference<drawing::XDrawPagesSupplier>& xDrawPages,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const uno::Reference< animations::XAnimationNode >& xRootNode,
EventQueue& rEventQueue,
EventMultiplexer& rEventMultiplexer,
ScreenUpdater& rScreenUpdater,
ActivitiesQueue& rActivitiesQueue,
UserEventQueue& rUserEventQueue,
CursorManager& rCursorManager,
MediaFileManager& rMediaFileManager,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
const UnoViewContainer& rViewContainer,
const uno::Reference< uno::XComponentContext >& xComponentContext,
const ShapeEventListenerMap& rShapeListenerMap,
const ShapeCursorMap& rShapeCursorMap,
const PolyPolygonVector& rPolyPolygonVector,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
RGBColor const& rUserPaintColor,
double dUserPaintStrokeWidth,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bool bUserPaintEnabled,
bool bIntrinsicAnimationsAllowed,
bool bDisableAnimationZOrder )
{
std::shared_ptr<SlideImpl> pRet( new SlideImpl( xDrawPage, xDrawPages, xRootNode, rEventQueue,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
rEventMultiplexer, rScreenUpdater,
rActivitiesQueue, rUserEventQueue,
rCursorManager, rMediaFileManager, rViewContainer,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
xComponentContext, rShapeListenerMap,
rShapeCursorMap, rPolyPolygonVector, rUserPaintColor,
dUserPaintStrokeWidth, bUserPaintEnabled,
INTEGRATION: CWS presfixes12 (1.1.2); FILE ADDED 2007/05/14 00:55:29 thb 1.1.2.14: #i77154# Moved intrinsic animation notification from global EventMultiplexer to ShapeManager (which is local to each slide). This is a temporary workaround, the proper fix would demote the EventMultiplexer to each Slide 2007/05/10 20:32:40 thb 1.1.2.13: #i37778# Reworked LayerManager::updateShapeLayers - now much better aligned with general shape update, and avoids superfluous rendering; made unit tests work again; passing down slide background repaint status to LayerManager; relaxed preconditions for Shape::getUpdateArea() - no longer requires views to work; now catching singular view matrix and using sensible default at API border 2007/05/02 21:37:23 thb 1.1.2.12: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/04/30 07:26:33 thb 1.1.2.11: #i37778# Rendering slide bitmap at the end of a slide transition, instead of during Slide::show(), to avoid temporary display of previous slide after transition sprite vanished. 2007/03/11 00:17:59 thb 1.1.2.10: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies 2007/03/06 21:54:18 thb 1.1.2.9: #i37778# Added bool property to disable z order correct animations 2007/02/25 01:10:27 thb 1.1.2.8: #i37778# Cleared up error handling a lot: no longer quenching RuntimeExceptions; reporting assertions in the debug case; ViewLayer now reports resized sprite (which needs re-render from all shapes); fixed missing subset area reduction for glyph-level animations; added return of resize state from Layer::commitLayerBounds(); adapted unit tests to corrected behaviour 2007/02/20 22:41:15 thb 1.1.2.7: #i37778# Emulating old sprite behaviour to clear content on getContentCanvas() in AnimatedSprite; corrected handling of full and partial view clears; corrected layer update when shapes are added or removed 2007/02/12 02:14:52 thb 1.1.2.6: #i37778# Added workaround to have ViewLayer always return valid canvas (even if no size has been set); fixed silly reference-instead-of-byvalue bug in SlideAnimations for slide size; fixed member initialization order problem in SlideImpl (also affecting slide size); adapted shape import for new LayerManager (which no longer gracefully ignores addition of NULL shapes); extended unit tests to catch fixed bugs 2007/02/06 17:18:13 thb 1.1.2.5: #i37778# Moved clear() method from View to ViewLayer (also sprites need to be cleared); fixed a few more cases of local code style violations; removed redundant inline keywords; finished Layer/LayerManager rework (Layer now represents ViewLayers, shapes and rendering are fully under LayerManager control); made shape comparator reusable 2007/01/31 14:30:33 thb 1.1.2.4: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/30 16:43:50 thb 1.1.2.3: #i37778# Made view update/repaint/resize work again; swapped BackgroundShape parameters for correct mtf import 2007/01/29 16:29:30 thb 1.1.2.2: #i37778# Build fixes for msvc; added shapes lib to util link line 2007/01/29 14:02:15 thb 1.1.2.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
2007-07-17 13:57:53 +00:00
bIntrinsicAnimationsAllowed,
bDisableAnimationZOrder ));
rEventMultiplexer.addViewHandler( pRet );
return pRet;
}
} // namespace internal
} // namespace slideshow
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */