Files
libreoffice/slideshow/source/engine/animationfactory.cxx

1370 lines
70 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 presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
#include <tools/diagnose_ex.h>
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
#include <animationfactory.hxx>
#include <attributemap.hxx>
#include <com/sun/star/animations/AnimationAdditiveMode.hpp>
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
#include <com/sun/star/animations/AnimationTransformType.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/drawing/LineStyle.hpp>
#include <com/sun/star/awt/FontSlant.hpp>
#include <com/sun/star/awt/FontUnderline.hpp>
#include <com/sun/star/awt/FontWeight.hpp>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <functional>
using namespace ::com::sun::star;
namespace slideshow
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
namespace internal
{
namespace
{
// attention, there is a similar implementation of Animation in
// transitions/transitionfactory.cxx
template< typename ValueT > class TupleAnimation : public PairAnimation
{
public:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
TupleAnimation( const ShapeManagerSharedPtr& rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags,
bool (ShapeAttributeLayer::*pIs1stValid)() const,
bool (ShapeAttributeLayer::*pIs2ndValid)() const,
const ValueT& rDefaultValue,
const ::basegfx::B2DSize& rReferenceSize,
double (ShapeAttributeLayer::*pGet1stValue)() const,
double (ShapeAttributeLayer::*pGet2ndValue)() const,
void (ShapeAttributeLayer::*pSetValue)( const ValueT& ) ) :
mpShape(),
mpAttrLayer(),
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager( rShapeManager ),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
mpIs1stValidFunc(pIs1stValid),
mpIs2ndValidFunc(pIs2ndValid),
mpGet1stValueFunc(pGet1stValue),
mpGet2ndValueFunc(pGet2ndValue),
mpSetValueFunc(pSetValue),
mnFlags( nFlags ),
maReferenceSize( rReferenceSize ),
maDefaultValue( rDefaultValue ),
mbAnimationStarted( false )
{
ENSURE_OR_THROW( rShapeManager,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
"TupleAnimation::TupleAnimation(): Invalid ShapeManager" );
ENSURE_OR_THROW( pIs1stValid && pIs2ndValid && pGet1stValue && pGet2ndValue && pSetValue,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::TupleAnimation(): One of the method pointers is NULL" );
}
virtual ~TupleAnimation() override
{
end_();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// Animation interface
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
virtual void prefetch( const AnimatableShapeSharedPtr&,
const ShapeAttributeLayerSharedPtr& ) override
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
virtual void start( const AnimatableShapeSharedPtr& rShape,
const ShapeAttributeLayerSharedPtr& rAttrLayer ) override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
OSL_ENSURE( !mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::start(): Shape already set" );
OSL_ENSURE( !mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::start(): Attribute layer already set" );
mpShape = rShape;
mpAttrLayer = rAttrLayer;
ENSURE_OR_THROW( rShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::start(): Invalid shape" );
ENSURE_OR_THROW( rAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::start(): Invalid attribute layer" );
if( !mbAnimationStarted )
{
mbAnimationStarted = true;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->enterAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
virtual void end() override { end_(); }
void end_()
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
if( mbAnimationStarted )
{
mbAnimationStarted = false;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->leaveAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
// PairAnimation interface
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
virtual bool operator()( const ::basegfx::B2DTuple& rValue ) override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
ENSURE_OR_RETURN_FALSE( mpAttrLayer && mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::operator(): Invalid ShapeAttributeLayer" );
ValueT aValue( rValue.getX(),
rValue.getY() );
// Activities get values from the expression parser,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// which returns _relative_ sizes/positions.
// Convert back relative to reference coordinate system
aValue *= maReferenceSize;
((*mpAttrLayer).*mpSetValueFunc)( aValue );
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return true;
}
virtual ::basegfx::B2DTuple getUnderlyingValue() const override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
ENSURE_OR_THROW( mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"TupleAnimation::getUnderlyingValue(): Invalid ShapeAttributeLayer" );
::basegfx::B2DTuple aRetVal;
// deviated from the (*shared_ptr).*mpFuncPtr
// notation here, since gcc does not seem to parse
// that as a member function call anymore.
aRetVal.setX( (mpAttrLayer.get()->*mpIs1stValidFunc)() ?
(mpAttrLayer.get()->*mpGet1stValueFunc)() :
maDefaultValue.getX() );
aRetVal.setY( (mpAttrLayer.get()->*mpIs2ndValidFunc)() ?
(mpAttrLayer.get()->*mpGet2ndValueFunc)() :
maDefaultValue.getY() );
// Activities get values from the expression
// parser, which returns _relative_
// sizes/positions. Convert start value to the
// same coordinate space (i.e. relative to given
// reference size).
aRetVal /= maReferenceSize;
return aRetVal;
}
private:
AnimatableShapeSharedPtr mpShape;
ShapeAttributeLayerSharedPtr mpAttrLayer;
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
ShapeManagerSharedPtr mpShapeManager;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
bool (ShapeAttributeLayer::*mpIs1stValidFunc)() const;
bool (ShapeAttributeLayer::*mpIs2ndValidFunc)() const;
double (ShapeAttributeLayer::*mpGet1stValueFunc)() const;
double (ShapeAttributeLayer::*mpGet2ndValueFunc)() const;
void (ShapeAttributeLayer::*mpSetValueFunc)( const ValueT& );
const int mnFlags;
const ::basegfx::B2DSize maReferenceSize;
const ValueT maDefaultValue;
bool mbAnimationStarted;
};
class PathAnimation : public NumberAnimation
{
public:
PathAnimation( const OUString& rSVGDPath,
sal_Int16 nAdditive,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags ) :
maPathPoly(),
mpShape(),
mpAttrLayer(),
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager( rShapeManager ),
maPageSize( rSlideSize ),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
maShapeOrig(),
mnFlags( nFlags ),
mbAnimationStarted( false ),
mnAdditive( nAdditive )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
ENSURE_OR_THROW( rShapeManager,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
"PathAnimation::PathAnimation(): Invalid ShapeManager" );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
::basegfx::B2DPolyPolygon aPolyPoly;
ENSURE_OR_THROW( ::basegfx::tools::importFromSvgD( aPolyPoly, rSVGDPath, false, nullptr ),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::PathAnimation(): failed to parse SVG:d path" );
ENSURE_OR_THROW( aPolyPoly.count() == 1,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::PathAnimation(): motion path consists of multiple/zero polygon(s)" );
// TODO(F2): Since getPositionRelative() currently
// cannot handle beziers, have to subdivide.
// AW: Should be no longer necessary; getPositionRelative is now bezier-safe
maPathPoly = ::basegfx::tools::adaptiveSubdivideByAngle(aPolyPoly.getB2DPolygon(0) );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
virtual ~PathAnimation() override
{
end_();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// Animation interface
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
virtual void prefetch( const AnimatableShapeSharedPtr&,
const ShapeAttributeLayerSharedPtr& ) override
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
virtual void start( const AnimatableShapeSharedPtr& rShape,
const ShapeAttributeLayerSharedPtr& rAttrLayer ) override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
OSL_ENSURE( !mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::start(): Shape already set" );
OSL_ENSURE( !mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::start(): Attribute layer already set" );
mpShape = rShape;
mpAttrLayer = rAttrLayer;
ENSURE_OR_THROW( rShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::start(): Invalid shape" );
ENSURE_OR_THROW( rAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::start(): Invalid attribute layer" );
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
if( mnAdditive == animations::AnimationAdditiveMode::SUM )
maShapeOrig = mpShape->getBounds().getCenter();
else
maShapeOrig = mpShape->getDomBounds().getCenter();
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
if( !mbAnimationStarted )
{
mbAnimationStarted = true;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->enterAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
virtual void end() override { end_(); }
void end_()
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
if( mbAnimationStarted )
{
mbAnimationStarted = false;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->leaveAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
// NumberAnimation interface
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
virtual bool operator()( double nValue ) override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
ENSURE_OR_RETURN_FALSE( mpAttrLayer && mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::operator(): Invalid ShapeAttributeLayer" );
::basegfx::B2DPoint rOutPos = ::basegfx::tools::getPositionRelative( maPathPoly,
nValue );
// TODO(F1): Determine whether the path is
// absolute, or shape-relative.
// interpret path as page-relative. Scale up with page size
rOutPos *= maPageSize;
// TODO(F1): Determine whether the path origin is
// absolute, or shape-relative.
// interpret path as shape-originated. Offset to shape position
rOutPos += maShapeOrig;
mpAttrLayer->setPosition( rOutPos );
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return true;
}
virtual double getUnderlyingValue() const override
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
ENSURE_OR_THROW( mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"PathAnimation::getUnderlyingValue(): Invalid ShapeAttributeLayer" );
return 0.0; // though this should be used in concert with
// ActivitiesFactory::createSimpleActivity, better
2011-12-01 23:41:42 +02:00
// explicitly name our start value.
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// Permissible range for operator() above is [0,1]
}
private:
::basegfx::B2DPolygon maPathPoly;
AnimatableShapeSharedPtr mpShape;
ShapeAttributeLayerSharedPtr mpAttrLayer;
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
ShapeManagerSharedPtr mpShapeManager;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
const ::basegfx::B2DSize maPageSize;
::basegfx::B2DPoint maShapeOrig;
const int mnFlags;
bool mbAnimationStarted;
sal_Int16 mnAdditive;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
};
/** GenericAnimation template
This template makes heavy use of SFINAE, only one of
the operator()() methods will compile for each of the
base classes.
Note that we omit the virtual keyword on the
operator()() overrides and getUnderlyingValue() methods on
purpose; those that actually do override baseclass
virtual methods inherit the property, and the others
won't increase our vtable. What's more, having all
those methods in the vtable actually creates POIs for
them, which breaks the whole SFINAE concept (IOW, this
template won't compile any longer).
@tpl AnimationBase
Type of animation to generate (determines the
interface GenericAnimation will implement). Must be
one of NumberAnimation, ColorAnimation,
StringAnimation, PairAnimation or BoolAnimation.
@tpl ModifierFunctor
Type of a functor object, which can optionally be used to
modify the getter/setter values.
*/
template< typename AnimationBase, typename ModifierFunctor > class GenericAnimation : public AnimationBase
{
public:
typedef typename AnimationBase::ValueType ValueT;
/** Create generic animation
@param pIsValid
Function pointer to one of the is*Valid
methods. Used to either take the given getter
method, or the given default value for the start value.
@param rDefaultValue
Default value, to take as the start value if
is*Valid returns false.
@param pGetValue
Getter method, to fetch start value if valid.
@param pSetValue
Setter method. This one puts the current animation
value to the ShapeAttributeLayer.
@param rGetterModifier
Modifies up values retrieved from the pGetValue method.
Must provide operator()( const ValueT& ) method.
@param rSetterModifier
Modifies up values before passing them to the pSetValue method.
Must provide operator()( const ValueT& ) method.
*/
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
GenericAnimation( const ShapeManagerSharedPtr& rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags,
bool (ShapeAttributeLayer::*pIsValid)() const,
const ValueT& rDefaultValue,
ValueT (ShapeAttributeLayer::*pGetValue)() const,
void (ShapeAttributeLayer::*pSetValue)( const ValueT& ),
const ModifierFunctor& rGetterModifier,
const ModifierFunctor& rSetterModifier ) :
mpShape(),
mpAttrLayer(),
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager( rShapeManager ),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
mpIsValidFunc(pIsValid),
mpGetValueFunc(pGetValue),
mpSetValueFunc(pSetValue),
maGetterModifier( rGetterModifier ),
maSetterModifier( rSetterModifier ),
mnFlags( nFlags ),
maDefaultValue(rDefaultValue),
mbAnimationStarted( false )
{
ENSURE_OR_THROW( rShapeManager,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
"GenericAnimation::GenericAnimation(): Invalid ShapeManager" );
ENSURE_OR_THROW( pIsValid && pGetValue && pSetValue,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::GenericAnimation(): One of the method pointers is NULL" );
}
~GenericAnimation()
{
end();
}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// Animation interface
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
virtual void prefetch( const AnimatableShapeSharedPtr&,
const ShapeAttributeLayerSharedPtr& )
{}
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
virtual void start( const AnimatableShapeSharedPtr& rShape,
const ShapeAttributeLayerSharedPtr& rAttrLayer )
{
OSL_ENSURE( !mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::start(): Shape already set" );
OSL_ENSURE( !mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::start(): Attribute layer already set" );
mpShape = rShape;
mpAttrLayer = rAttrLayer;
ENSURE_OR_THROW( rShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::start(): Invalid shape" );
ENSURE_OR_THROW( rAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::start(): Invalid attribute layer" );
// only start animation once per repeated start() call,
// and only if sprites should be used for display
if( !mbAnimationStarted )
{
mbAnimationStarted = true;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->enterAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
void end()
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
// TODO(Q2): Factor out common code (most
// prominently start() and end()) into base class
// only stop animation once per repeated end() call,
// and only if sprites are used for display
if( mbAnimationStarted )
{
mbAnimationStarted = false;
if( !(mnFlags & AnimationFactory::FLAG_NO_SPRITE) )
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
mpShapeManager->leaveAnimationMode( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// Attention, this notifyShapeUpdate() is
// somewhat delicate here. Calling it
// unconditional (i.e. not guarded by
// mbAnimationStarted) will lead to shapes
// snapping back to their original state just
// before the slide ends. Not calling it at
// all might swallow final animation
// states. The current implementation relies
// on the fact that end() is either called by
// the Activity (then, the last animation
// state has been set, and corresponds to the
// shape's hold state), or by the animation
// node (then, it's a forced end, and we
// _have_ to snap back).
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
// To reiterate: normally, we're called from
// the Activity first, thus the
// notifyShapeUpdate() below will update to
// the last activity value.
// force shape update, activity might have changed
// state in the last round.
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
}
// Derived Animation interface
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
/** For by-reference interfaces (B2DTuple, OUString)
*/
bool operator()( const ValueT& x )
{
ENSURE_OR_RETURN_FALSE( mpAttrLayer && mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::operator(): Invalid ShapeAttributeLayer" );
((*mpAttrLayer).*mpSetValueFunc)( maSetterModifier( x ) );
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return true;
}
/** For by-value interfaces (bool, double)
*/
bool operator()( ValueT x )
{
ENSURE_OR_RETURN_FALSE( mpAttrLayer && mpShape,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::operator(): Invalid ShapeAttributeLayer" );
((*mpAttrLayer).*mpSetValueFunc)( maSetterModifier( x ) );
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
if( mpShape->isContentChanged() )
mpShapeManager->notifyShapeUpdate( mpShape );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return true;
}
ValueT getUnderlyingValue() const
{
ENSURE_OR_THROW( mpAttrLayer,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"GenericAnimation::getUnderlyingValue(): Invalid ShapeAttributeLayer" );
// deviated from the (*shared_ptr).*mpFuncPtr
// notation here, since gcc does not seem to parse
// that as a member function call anymore.
if( (mpAttrLayer.get()->*mpIsValidFunc)() )
return maGetterModifier( ((*mpAttrLayer).*mpGetValueFunc)() );
else
return maDefaultValue;
}
private:
AnimatableShapeSharedPtr mpShape;
ShapeAttributeLayerSharedPtr mpAttrLayer;
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
ShapeManagerSharedPtr mpShapeManager;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
bool (ShapeAttributeLayer::*mpIsValidFunc)() const;
ValueT (ShapeAttributeLayer::*mpGetValueFunc)() const;
void (ShapeAttributeLayer::*mpSetValueFunc)( const ValueT& );
ModifierFunctor maGetterModifier;
ModifierFunctor maSetterModifier;
const int mnFlags;
const ValueT maDefaultValue;
bool mbAnimationStarted;
};
2010-11-23 15:49:53 +00:00
//Current c++0x draft (apparently) has std::identity, but not operator()
template<typename T> struct SGI_identity : public std::unary_function<T,T>
{
T& operator()(T& x) const { return x; }
const T& operator()(const T& x) const { return x; }
};
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
/** Function template wrapper around GenericAnimation template
@tpl AnimationBase
Type of animation to generate (determines the
interface GenericAnimation will implement).
*/
template< typename AnimationBase > ::std::shared_ptr< AnimationBase >
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
makeGenericAnimation( const ShapeManagerSharedPtr& rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags,
bool (ShapeAttributeLayer::*pIsValid)() const,
const typename AnimationBase::ValueType& rDefaultValue,
typename AnimationBase::ValueType (ShapeAttributeLayer::*pGetValue)() const,
void (ShapeAttributeLayer::*pSetValue)( const typename AnimationBase::ValueType& ) )
{
return ::std::shared_ptr< AnimationBase >(
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
new GenericAnimation< AnimationBase,
2010-11-23 15:49:53 +00:00
SGI_identity< typename AnimationBase::ValueType > >(
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
pIsValid,
rDefaultValue,
pGetValue,
pSetValue,
// no modification necessary, use identity functor here
2010-11-23 15:49:53 +00:00
SGI_identity< typename AnimationBase::ValueType >(),
SGI_identity< typename AnimationBase::ValueType >() ) );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
class Scaler
{
public:
explicit Scaler( double nScale ) :
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
mnScale( nScale )
{
}
double operator()( double nVal ) const
{
return mnScale * nVal;
}
private:
double mnScale;
};
/** Overload for NumberAnimations which need scaling (width,height,x,y currently)
*/
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
NumberAnimationSharedPtr makeGenericAnimation( const ShapeManagerSharedPtr& rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags,
bool (ShapeAttributeLayer::*pIsValid)() const,
double nDefaultValue,
double (ShapeAttributeLayer::*pGetValue)() const,
void (ShapeAttributeLayer::*pSetValue)( const double& ),
double nScaleValue )
{
return NumberAnimationSharedPtr(
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
new GenericAnimation< NumberAnimation, Scaler >( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
pIsValid,
nDefaultValue / nScaleValue,
pGetValue,
pSetValue,
Scaler( 1.0/nScaleValue ),
Scaler( nScaleValue ) ) );
}
uno::Any getShapeDefault( const AnimatableShapeSharedPtr& rShape,
const OUString& rPropertyName )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
uno::Reference< drawing::XShape > xShape( rShape->getXShape() );
if( !xShape.is() )
return uno::Any(); // no regular shape, no defaults available
// extract relevant value from XShape's PropertySet
uno::Reference< beans::XPropertySet > xPropSet( xShape,
uno::UNO_QUERY );
ENSURE_OR_THROW( xPropSet.is(),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"getShapeDefault(): Cannot query property set from shape" );
return xPropSet->getPropertyValue( rPropertyName );
}
template< typename ValueType > ValueType getDefault( const AnimatableShapeSharedPtr& rShape,
const OUString& rPropertyName )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
const uno::Any& rAny( getShapeDefault( rShape,
rPropertyName ) );
if( !rAny.hasValue() )
{
SAL_WARN("slideshow", "getDefault(): cannot get shape property " << rPropertyName );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return ValueType();
}
else
{
ValueType aValue = ValueType();
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
if( !(rAny >>= aValue) )
{
SAL_WARN("slideshow", "getDefault(): cannot extract shape property " << rPropertyName);
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return ValueType();
}
return aValue;
}
}
template<> RGBColor getDefault< RGBColor >( const AnimatableShapeSharedPtr& rShape,
const OUString& rPropertyName )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
const uno::Any& rAny( getShapeDefault( rShape,
rPropertyName ) );
if( !rAny.hasValue() )
{
SAL_WARN("slideshow", "getDefault(): cannot get shape color property " << rPropertyName);
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return RGBColor();
}
else
{
sal_Int32 nValue = 0;
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
if( !(rAny >>= nValue) )
{
SAL_INFO("slideshow", "getDefault(): cannot extract shape color property " << rPropertyName);
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
return RGBColor();
}
// convert from 0xAARRGGBB API color to 0xRRGGBB00
// canvas color
return RGBColor( (nValue << 8U) & 0xFFFFFF00U );
}
}
}
AnimationFactory::AttributeClass AnimationFactory::classifyAttributeName( const OUString& rAttrName )
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
{
// ATTENTION: When changing this map, also the create*PropertyAnimation() methods must
// be checked and possibly adapted in their switch statements
// TODO(Q2): Since this map must be coherent with the various switch statements
// in the create*PropertyAnimation methods, try to unify into a single method or table
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
return CLASS_UNKNOWN_PROPERTY;
case ATTRIBUTE_CHAR_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_DIMCOLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_COLOR:
return CLASS_COLOR_PROPERTY;
case ATTRIBUTE_CHAR_FONT_NAME:
return CLASS_STRING_PROPERTY;
case ATTRIBUTE_VISIBILITY:
return CLASS_BOOL_PROPERTY;
case ATTRIBUTE_CHAR_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_WEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_ROTATION:
// FALLTHROUGH intended
case ATTRIBUTE_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_OPACITY:
// FALLTHROUGH intended
case ATTRIBUTE_ROTATE:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_X:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_Y:
// FALLTHROUGH intended
case ATTRIBUTE_WIDTH:
// FALLTHROUGH intended
case ATTRIBUTE_POS_X:
// FALLTHROUGH intended
case ATTRIBUTE_POS_Y:
return CLASS_NUMBER_PROPERTY;
case ATTRIBUTE_CHAR_UNDERLINE:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_POSTURE:
return CLASS_ENUM_PROPERTY;
}
}
NumberAnimationSharedPtr AnimationFactory::createNumberPropertyAnimation( const OUString& rAttrName,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
const AnimatableShapeSharedPtr& rShape,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
// ATTENTION: When changing this map, also the classifyAttributeName() method must
// be checked and possibly adapted in their switch statement
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createNumberPropertyAnimation(): Unknown attribute" );
break;
case ATTRIBUTE_CHAR_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_FONT_NAME:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_POSTURE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_UNDERLINE:
// FALLTHROUGH intended
case ATTRIBUTE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_DIMCOLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_VISIBILITY:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createNumberPropertyAnimation(): Attribute type mismatch" );
break;
case ATTRIBUTE_CHAR_HEIGHT:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isCharScaleValid,
1.0, // CharHeight is a relative attribute, thus
// default is 1.0
&ShapeAttributeLayer::getCharScale,
&ShapeAttributeLayer::setCharScale );
case ATTRIBUTE_CHAR_WEIGHT:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isCharWeightValid,
getDefault<double>( rShape, rAttrName ),
&ShapeAttributeLayer::getCharWeight,
&ShapeAttributeLayer::setCharWeight );
case ATTRIBUTE_CHAR_ROTATION:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isCharRotationAngleValid,
getDefault<double>( rShape, rAttrName ),
&ShapeAttributeLayer::getCharRotationAngle,
&ShapeAttributeLayer::setCharRotationAngle );
case ATTRIBUTE_HEIGHT:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isHeightValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShape->getBounds().getHeight(),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getHeight,
&ShapeAttributeLayer::setHeight,
// convert expression parser value from relative page size
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rSlideSize.getY() );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
case ATTRIBUTE_OPACITY:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isAlphaValid,
// TODO(F1): Provide shape default here (FillTransparency?)
1.0,
&ShapeAttributeLayer::getAlpha,
&ShapeAttributeLayer::setAlpha );
case ATTRIBUTE_ROTATE:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isRotationAngleValid,
// NOTE: Since we paint the shape as-is from metafile,
// rotation angle is always 0.0, even for rotated shapes
0.0,
&ShapeAttributeLayer::getRotationAngle,
&ShapeAttributeLayer::setRotationAngle );
case ATTRIBUTE_SKEW_X:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isShearXAngleValid,
// TODO(F1): Is there any shape property for skew?
0.0,
&ShapeAttributeLayer::getShearXAngle,
&ShapeAttributeLayer::setShearXAngle );
case ATTRIBUTE_SKEW_Y:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<NumberAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isShearYAngleValid,
// TODO(F1): Is there any shape property for skew?
0.0,
&ShapeAttributeLayer::getShearYAngle,
&ShapeAttributeLayer::setShearYAngle );
case ATTRIBUTE_WIDTH:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isWidthValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShape->getBounds().getWidth(),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getWidth,
&ShapeAttributeLayer::setWidth,
// convert expression parser value from relative page size
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rSlideSize.getX() );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
case ATTRIBUTE_POS_X:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isPosXValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShape->getBounds().getCenterX(),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getPosX,
&ShapeAttributeLayer::setPosX,
// convert expression parser value from relative page size
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rSlideSize.getX() );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
case ATTRIBUTE_POS_Y:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isPosYValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShape->getBounds().getCenterY(),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getPosY,
&ShapeAttributeLayer::setPosY,
// convert expression parser value from relative page size
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rSlideSize.getY() );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
}
return NumberAnimationSharedPtr();
}
EnumAnimationSharedPtr AnimationFactory::createEnumPropertyAnimation( const OUString& rAttrName,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
const AnimatableShapeSharedPtr& rShape,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& /*rSlideSize*/,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
// ATTENTION: When changing this map, also the classifyAttributeName() method must
// be checked and possibly adapted in their switch statement
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createEnumPropertyAnimation(): Unknown attribute" );
break;
case ATTRIBUTE_CHAR_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_FONT_NAME:
// FALLTHROUGH intended
case ATTRIBUTE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_DIMCOLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_VISIBILITY:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_WEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_ROTATION:
// FALLTHROUGH intended
case ATTRIBUTE_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_OPACITY:
// FALLTHROUGH intended
case ATTRIBUTE_ROTATE:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_X:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_Y:
// FALLTHROUGH intended
case ATTRIBUTE_WIDTH:
// FALLTHROUGH intended
case ATTRIBUTE_POS_X:
// FALLTHROUGH intended
case ATTRIBUTE_POS_Y:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createEnumPropertyAnimation(): Attribute type mismatch" );
break;
case ATTRIBUTE_FILL_STYLE:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<EnumAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isFillStyleValid,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
sal::static_int_cast<sal_Int16>(
getDefault<drawing::FillStyle>( rShape, rAttrName )),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getFillStyle,
&ShapeAttributeLayer::setFillStyle );
case ATTRIBUTE_LINE_STYLE:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<EnumAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isLineStyleValid,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
sal::static_int_cast<sal_Int16>(
getDefault<drawing::LineStyle>( rShape, rAttrName )),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getLineStyle,
&ShapeAttributeLayer::setLineStyle );
case ATTRIBUTE_CHAR_POSTURE:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<EnumAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isCharPostureValid,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
sal::static_int_cast<sal_Int16>(
getDefault<awt::FontSlant>( rShape, rAttrName )),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getCharPosture,
&ShapeAttributeLayer::setCharPosture );
case ATTRIBUTE_CHAR_UNDERLINE:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<EnumAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isUnderlineModeValid,
getDefault<sal_Int16>( rShape, rAttrName ),
&ShapeAttributeLayer::getUnderlineMode,
&ShapeAttributeLayer::setUnderlineMode );
}
return EnumAnimationSharedPtr();
}
ColorAnimationSharedPtr AnimationFactory::createColorPropertyAnimation( const OUString& rAttrName,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
const AnimatableShapeSharedPtr& rShape,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& /*rSlideSize*/,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
// ATTENTION: When changing this map, also the classifyAttributeName() method must
// be checked and possibly adapted in their switch statement
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createColorPropertyAnimation(): Unknown attribute" );
break;
case ATTRIBUTE_CHAR_FONT_NAME:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_POSTURE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_ROTATION:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_UNDERLINE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_WEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_OPACITY:
// FALLTHROUGH intended
case ATTRIBUTE_ROTATE:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_X:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_Y:
// FALLTHROUGH intended
case ATTRIBUTE_VISIBILITY:
// FALLTHROUGH intended
case ATTRIBUTE_WIDTH:
// FALLTHROUGH intended
case ATTRIBUTE_POS_X:
// FALLTHROUGH intended
case ATTRIBUTE_POS_Y:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createColorPropertyAnimation(): Attribute type mismatch" );
break;
case ATTRIBUTE_CHAR_COLOR:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<ColorAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isCharColorValid,
getDefault<RGBColor>( rShape, rAttrName ),
&ShapeAttributeLayer::getCharColor,
&ShapeAttributeLayer::setCharColor );
case ATTRIBUTE_COLOR:
// TODO(F2): This is just mapped to fill color to make it work
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<ColorAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isFillColorValid,
getDefault<RGBColor>( rShape, rAttrName ),
&ShapeAttributeLayer::getFillColor,
&ShapeAttributeLayer::setFillColor );
case ATTRIBUTE_DIMCOLOR:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<ColorAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isDimColorValid,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
getDefault<RGBColor>( rShape, rAttrName ),
&ShapeAttributeLayer::getDimColor,
&ShapeAttributeLayer::setDimColor );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
case ATTRIBUTE_FILL_COLOR:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<ColorAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isFillColorValid,
getDefault<RGBColor>( rShape, rAttrName ),
&ShapeAttributeLayer::getFillColor,
&ShapeAttributeLayer::setFillColor );
case ATTRIBUTE_LINE_COLOR:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<ColorAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isLineColorValid,
getDefault<RGBColor>( rShape, rAttrName ),
&ShapeAttributeLayer::getLineColor,
&ShapeAttributeLayer::setLineColor );
}
return ColorAnimationSharedPtr();
}
PairAnimationSharedPtr AnimationFactory::createPairPropertyAnimation( const AnimatableShapeSharedPtr& rShape,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
sal_Int16 nTransformType,
int nFlags )
{
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ::basegfx::B2DRectangle& rBounds( rShape->getBounds() );
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
switch( nTransformType )
{
case animations::AnimationTransformType::SCALE:
return PairAnimationSharedPtr(
new TupleAnimation< ::basegfx::B2DSize >(
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isWidthValid,
&ShapeAttributeLayer::isHeightValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
rBounds.getRange(),
rBounds.getRange(),
&ShapeAttributeLayer::getWidth,
&ShapeAttributeLayer::getHeight,
&ShapeAttributeLayer::setSize ) );
case animations::AnimationTransformType::TRANSLATE:
return PairAnimationSharedPtr(
new TupleAnimation< ::basegfx::B2DPoint >(
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isPosXValid,
&ShapeAttributeLayer::isPosYValid,
// TODO(F1): Check whether _shape_ bounds are correct here.
// Theoretically, our AttrLayer is way down the stack, and
// we only have to consider _that_ value, not the one from
// the top of the stack as returned by Shape::getBounds()
rBounds.getCenter(),
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getPosX,
&ShapeAttributeLayer::getPosY,
&ShapeAttributeLayer::setPosition ) );
default:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createPairPropertyAnimation(): Attribute type mismatch" );
break;
}
return PairAnimationSharedPtr();
}
StringAnimationSharedPtr AnimationFactory::createStringPropertyAnimation( const OUString& rAttrName,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
const AnimatableShapeSharedPtr& rShape,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& /*rSlideSize*/,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
// ATTENTION: When changing this map, also the classifyAttributeName() method must
// be checked and possibly adapted in their switch statement
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createStringPropertyAnimation(): Unknown attribute" );
break;
case ATTRIBUTE_CHAR_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_ROTATION:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_UNDERLINE:
// FALLTHROUGH intended
case ATTRIBUTE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_DIMCOLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_OPACITY:
// FALLTHROUGH intended
case ATTRIBUTE_ROTATE:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_X:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_Y:
// FALLTHROUGH intended
case ATTRIBUTE_VISIBILITY:
// FALLTHROUGH intended
case ATTRIBUTE_WIDTH:
// FALLTHROUGH intended
case ATTRIBUTE_POS_X:
// FALLTHROUGH intended
case ATTRIBUTE_POS_Y:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_POSTURE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_WEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_STYLE:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createStringPropertyAnimation(): Attribute type mismatch" );
break;
case ATTRIBUTE_CHAR_FONT_NAME:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<StringAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isFontFamilyValid,
getDefault< OUString >( rShape, rAttrName ),
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
&ShapeAttributeLayer::getFontFamily,
&ShapeAttributeLayer::setFontFamily );
}
return StringAnimationSharedPtr();
}
BoolAnimationSharedPtr AnimationFactory::createBoolPropertyAnimation( const OUString& rAttrName,
const AnimatableShapeSharedPtr& /*rShape*/,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& /*rSlideSize*/,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
// ATTENTION: When changing this map, also the classifyAttributeName() method must
// be checked and possibly adapted in their switch statement
switch( mapAttributeName( rAttrName ) )
{
default:
// FALLTHROUGH intended
case ATTRIBUTE_INVALID:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createBoolPropertyAnimation(): Unknown attribute" );
break;
case ATTRIBUTE_CHAR_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_FONT_NAME:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_POSTURE:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_ROTATION:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_WEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_DIMCOLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_FILL_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_HEIGHT:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_COLOR:
// FALLTHROUGH intended
case ATTRIBUTE_LINE_STYLE:
// FALLTHROUGH intended
case ATTRIBUTE_OPACITY:
// FALLTHROUGH intended
case ATTRIBUTE_ROTATE:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_X:
// FALLTHROUGH intended
case ATTRIBUTE_SKEW_Y:
// FALLTHROUGH intended
case ATTRIBUTE_WIDTH:
// FALLTHROUGH intended
case ATTRIBUTE_POS_X:
// FALLTHROUGH intended
case ATTRIBUTE_POS_Y:
// FALLTHROUGH intended
case ATTRIBUTE_CHAR_UNDERLINE:
ENSURE_OR_THROW( false,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
"AnimationFactory::createBoolPropertyAnimation(): Attribute type mismatch" );
break;
case ATTRIBUTE_VISIBILITY:
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
return makeGenericAnimation<BoolAnimation>( rShapeManager,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags,
&ShapeAttributeLayer::isVisibilityValid,
// TODO(F1): Is there a corresponding shape property?
true,
&ShapeAttributeLayer::getVisibility,
&ShapeAttributeLayer::setVisibility );
}
return BoolAnimationSharedPtr();
}
NumberAnimationSharedPtr AnimationFactory::createPathMotionAnimation( const OUString& rSVGDPath,
sal_Int16 nAdditive,
const AnimatableShapeSharedPtr& /*rShape*/,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
const ShapeManagerSharedPtr& rShapeManager,
const ::basegfx::B2DVector& rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
int nFlags )
{
return NumberAnimationSharedPtr(
new PathAnimation( rSVGDPath, nAdditive,
INTEGRATION: CWS presfixes12 (1.10.12); FILE MERGED 2007/02/02 08:47:50 thb 1.10.12.3: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 11:25:16 thb 1.10.12.2: #i37778# Added prefetch to Animation interface (to facilitate prefetching - nice for slide transitions, which otherwise lag noticeably while generating the slide bitmap); brought tests up to par, re-enabling unit tests and demo show 2007/01/29 14:01:52 thb 1.10.12.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:34:05 +00:00
rShapeManager,
rSlideSize,
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED 2004/10/21 23:24:34 thb 1.1.2.12: #i35043# Added Event and EventTrigger functionality for after effect (but also for most of the other EventTrigger types); faked a DimColor implementation (currently based on fillcolor); refactored a little bit 2004/10/13 17:56:53 thb 1.1.2.11: #i10000# Gcc doesn't seem to grok (*shared_ptr).*mpFunc any longer (parses it as a function pointer declaration?). Changed to alternative notation 2004/09/22 17:57:57 thb 1.1.2.10: #110496# Fixed various issues reported by QA: shape positions, when controlled via animations, are now all relative to the shape center; unified scheduleActivationEvent, to interpret missing begin times as 0 for all nodes (not only leaf nodes, as before); added two new function keywords to the expression parser (min and max), this was needed for Zoom from bottom effect; temporarily implemented SLIDEWIPE by BARWIPE for shapes; corrected various transition mapping issues in the transitionfactorytab.cxx; clarified documentation at various places 2004/08/25 15:56:25 thb 1.1.2.9: #110496# Fixed set effect making shapes visible immediately before the actual effect starts; Fixed wrong handling of deceleration value (especially, acc=0, dec=1 did not work); Fixed wrong to- and by-effect semantics (now according to SMIL spec) 2004/08/23 19:17:15 thb 1.1.2.8: #110496# Implemented remaining attribute animations, fixed some performance problems 2004/08/19 23:21:09 thb 1.1.2.7: #110496# Fixed repaint bug for exit effects (they painted visible just before end of slide) 2004/08/19 17:31:20 thb 1.1.2.6: #110496# Converted concrete shape class to interface, to support different shape flavours (actual trigger was the need to have video/sound objects). Fixed a problem for shape repaint, where instead of the correctly transformed bound rect the original shape bounds where taken 2004/08/19 00:17:16 thb 1.1.2.5: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw 2004/08/17 16:01:11 thb 1.1.2.4: #110496# Finished text iteration and text animation handling, fixed some state change problems in AnimationActivity and Animation implementations 2004/08/13 20:33:35 thb 1.1.2.3: #110496# Implemented color animations 2004/08/06 14:02:03 thb 1.1.2.2: #110496# Adapted Sprite API to match reality (the way it was simply wasn't logical). Finished transition effect framework (not the bunch of transitions) 2004/07/22 19:01:21 thb 1.1.2.1: #110496# Initial revision
2004-11-26 17:47:20 +00:00
nFlags ) );
}
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */