2010-10-12 15:51:52 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-07-11 09:51:50 +01:00
|
|
|
/*
|
|
|
|
* 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/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2006-09-17 07:29:32 +00:00
|
|
|
|
2005-11-02 13:04:07 +00:00
|
|
|
#include <canvas/debug.hxx>
|
2008-06-24 11:04:00 +00:00
|
|
|
#include <tools/diagnose_ex.h>
|
2005-11-02 13:04:07 +00:00
|
|
|
#include <canvas/canvastools.hxx>
|
|
|
|
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
#include <math.h>
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
|
|
|
#include <com/sun/star/beans/NamedValue.hpp>
|
2006-12-13 14:21:20 +00:00
|
|
|
#include <com/sun/star/awt/Rectangle.hpp>
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
#include <com/sun/star/animations/ValuePair.hpp>
|
|
|
|
#include <com/sun/star/drawing/FillStyle.hpp>
|
|
|
|
#include <com/sun/star/drawing/LineStyle.hpp>
|
|
|
|
#include <com/sun/star/awt/FontSlant.hpp>
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
#include <basegfx/polygon/b2dpolygon.hxx>
|
|
|
|
#include <basegfx/polygon/b2dpolygontools.hxx>
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
#include <basegfx/range/b2drange.hxx>
|
|
|
|
#include <basegfx/vector/b2dvector.hxx>
|
|
|
|
#include <basegfx/vector/b2ivector.hxx>
|
|
|
|
#include <basegfx/matrix/b2dhommatrix.hxx>
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
#include <basegfx/numeric/ftools.hxx>
|
2009-10-16 00:43:16 +02:00
|
|
|
#include <basegfx/tools/lerp.hxx>
|
2009-09-22 18:14:05 +02:00
|
|
|
#include <basegfx/matrix/b2dhommatrixtools.hxx>
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
#include <cppcanvas/basegfxfactory.hxx>
|
|
|
|
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
#include "unoview.hxx"
|
|
|
|
#include "smilfunctionparser.hxx"
|
|
|
|
#include "tools.hxx"
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
#include <limits>
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
using namespace ::com::sun::star;
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
namespace slideshow
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
namespace internal
|
|
|
|
{
|
|
|
|
namespace
|
|
|
|
{
|
|
|
|
class NamedValueStringComparator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
NamedValueStringComparator( const ::rtl::OUString& rSearchString ) :
|
|
|
|
mrSearchString( rSearchString )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2010-11-25 11:10:48 +00:00
|
|
|
bool operator()( const beans::NamedValue& rValue ) const
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
return rValue.Name == mrSearchString;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
const ::rtl::OUString& mrSearchString;
|
|
|
|
};
|
|
|
|
|
|
|
|
class NamedValueComparator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
NamedValueComparator( const beans::NamedValue& rKey ) :
|
|
|
|
mrKey( rKey )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2010-11-25 11:10:48 +00:00
|
|
|
bool operator()( const beans::NamedValue& rValue ) const
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
return rValue.Name == mrKey.Name && rValue.Value == mrKey.Value;
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
const beans::NamedValue& mrKey;
|
|
|
|
};
|
2005-04-18 08:48:56 +00:00
|
|
|
|
|
|
|
::basegfx::B2DHomMatrix getAttributedShapeTransformation( const ::basegfx::B2DRectangle& rShapeBounds,
|
|
|
|
const ShapeAttributeLayerSharedPtr& pAttr )
|
|
|
|
{
|
|
|
|
::basegfx::B2DHomMatrix aTransform;
|
|
|
|
const ::basegfx::B2DSize& rSize( rShapeBounds.getRange() );
|
|
|
|
|
|
|
|
const double nShearX( pAttr->isShearXAngleValid() ?
|
|
|
|
pAttr->getShearXAngle() :
|
|
|
|
0.0 );
|
|
|
|
const double nShearY( pAttr->isShearYAngleValid() ?
|
|
|
|
pAttr->getShearYAngle() :
|
|
|
|
0.0 );
|
|
|
|
const double nRotation( pAttr->isRotationAngleValid() ?
|
|
|
|
pAttr->getRotationAngle()*M_PI/180.0 :
|
|
|
|
0.0 );
|
|
|
|
|
|
|
|
// scale, shear and rotation pivot point is the shape
|
|
|
|
// center - adapt origin accordingly
|
|
|
|
aTransform.translate( -0.5, -0.5 );
|
|
|
|
|
|
|
|
// ensure valid size (zero size will inevitably lead
|
|
|
|
// to a singular transformation matrix)
|
|
|
|
aTransform.scale( ::basegfx::pruneScaleValue(
|
|
|
|
rSize.getX() ),
|
|
|
|
::basegfx::pruneScaleValue(
|
|
|
|
rSize.getY() ) );
|
|
|
|
|
|
|
|
const bool bNeedShearX( !::basegfx::fTools::equalZero(nShearX) );
|
|
|
|
const bool bNeedShearY( !::basegfx::fTools::equalZero(nShearY) );
|
|
|
|
const bool bNeedRotation( !::basegfx::fTools::equalZero(nRotation) );
|
|
|
|
|
|
|
|
if( bNeedRotation || bNeedShearX || bNeedShearY )
|
|
|
|
{
|
|
|
|
if( bNeedShearX )
|
|
|
|
aTransform.shearX( nShearX );
|
|
|
|
|
|
|
|
if( bNeedShearY )
|
|
|
|
aTransform.shearY( nShearY );
|
|
|
|
|
|
|
|
if( bNeedRotation )
|
|
|
|
aTransform.rotate( nRotation );
|
|
|
|
}
|
|
|
|
|
|
|
|
// move left, top corner back to position of the
|
|
|
|
// shape. Since we've already translated the
|
|
|
|
// center of the shape to the origin (the
|
|
|
|
// translate( -0.5, -0.5 ) above), translate to
|
|
|
|
// center of final shape position here.
|
|
|
|
aTransform.translate( rShapeBounds.getCenterX(),
|
|
|
|
rShapeBounds.getCenterY() );
|
|
|
|
|
|
|
|
return aTransform;
|
|
|
|
}
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Value extraction from Any
|
|
|
|
// =========================
|
|
|
|
|
|
|
|
/// extract unary double value from Any
|
2009-06-29 15:15:41 +02:00
|
|
|
bool extractValue( double& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
|
|
|
const ShapeSharedPtr& rShape,
|
|
|
|
const ::basegfx::B2DVector& rSlideBounds )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
// try to extract numeric value (double, or smaller POD, like float or int)
|
|
|
|
if( (rSourceAny >>= o_rValue) )
|
|
|
|
{
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// try to extract string
|
|
|
|
::rtl::OUString aString;
|
|
|
|
if( !(rSourceAny >>= aString) )
|
|
|
|
return false; // nothing left to try
|
|
|
|
|
|
|
|
// parse the string into an ExpressionNode
|
|
|
|
try
|
|
|
|
{
|
|
|
|
// Parse string into ExpressionNode, eval node at time 0.0
|
|
|
|
o_rValue = (*SmilFunctionParser::parseSmilValue(
|
|
|
|
aString,
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
calcRelativeShapeBounds(rSlideBounds,
|
|
|
|
rShape->getBounds()) ))(0.0);
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
|
|
|
catch( ParseError& )
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// extract enum/constant group value from Any
|
2006-12-13 14:21:20 +00:00
|
|
|
bool extractValue( sal_Int32& o_rValue,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
const uno::Any& rSourceAny,
|
2006-10-12 12:56:01 +00:00
|
|
|
const ShapeSharedPtr& /*rShape*/,
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
const ::basegfx::B2DVector& /*rSlideBounds*/ )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
// try to extract numeric value (int, or smaller POD, like byte)
|
|
|
|
if( (rSourceAny >>= o_rValue) )
|
|
|
|
{
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// okay, no plain int. Maybe one of the domain-specific enums?
|
|
|
|
drawing::FillStyle eFillStyle;
|
|
|
|
if( (rSourceAny >>= eFillStyle) )
|
|
|
|
{
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
o_rValue = sal::static_int_cast<sal_Int16>(eFillStyle);
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
drawing::LineStyle eLineStyle;
|
|
|
|
if( (rSourceAny >>= eLineStyle) )
|
|
|
|
{
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
o_rValue = sal::static_int_cast<sal_Int16>(eLineStyle);
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
awt::FontSlant eFontSlant;
|
|
|
|
if( (rSourceAny >>= eFontSlant) )
|
|
|
|
{
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
o_rValue = sal::static_int_cast<sal_Int16>(eFontSlant);
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// nothing left to try. Failure
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
/// extract enum/constant group value from Any
|
|
|
|
bool extractValue( sal_Int16& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
|
|
|
const ShapeSharedPtr& rShape,
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
const ::basegfx::B2DVector& rSlideBounds )
|
2006-12-13 14:21:20 +00:00
|
|
|
{
|
|
|
|
sal_Int32 aValue;
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
if( !extractValue(aValue,rSourceAny,rShape,rSlideBounds) )
|
2006-12-13 14:21:20 +00:00
|
|
|
return false;
|
|
|
|
|
|
|
|
if( std::numeric_limits<sal_Int16>::max() < aValue ||
|
|
|
|
std::numeric_limits<sal_Int16>::min() > aValue )
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
o_rValue = static_cast<sal_Int16>(aValue);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
/// extract color value from Any
|
|
|
|
bool extractValue( RGBColor& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
2006-10-12 12:56:01 +00:00
|
|
|
const ShapeSharedPtr& /*rShape*/,
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
const ::basegfx::B2DVector& /*rSlideBounds*/ )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
// try to extract numeric value (double, or smaller POD, like float or int)
|
|
|
|
{
|
2006-11-21 16:27:21 +00:00
|
|
|
double nTmp = 0;
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
if( (rSourceAny >>= nTmp) )
|
|
|
|
{
|
|
|
|
sal_uInt32 aIntColor( static_cast< sal_uInt32 >(nTmp) );
|
|
|
|
|
|
|
|
// TODO(F2): Handle color values correctly, here
|
|
|
|
o_rValue = unoColor2RGBColor( aIntColor );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try double sequence
|
|
|
|
{
|
|
|
|
uno::Sequence< double > aTmp;
|
|
|
|
if( (rSourceAny >>= aTmp) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( aTmp.getLength() == 3,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
"extractValue(): inappropriate length for RGB color value" );
|
|
|
|
|
|
|
|
o_rValue = RGBColor( aTmp[0], aTmp[1], aTmp[2] );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try sal_Int32 sequence
|
|
|
|
{
|
|
|
|
uno::Sequence< sal_Int32 > aTmp;
|
|
|
|
if( (rSourceAny >>= aTmp) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( aTmp.getLength() == 3,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
"extractValue(): inappropriate length for RGB color value" );
|
|
|
|
|
|
|
|
// truncate to byte
|
|
|
|
o_rValue = RGBColor( ::cppcanvas::makeColor(
|
|
|
|
static_cast<sal_uInt8>(aTmp[0]),
|
|
|
|
static_cast<sal_uInt8>(aTmp[1]),
|
|
|
|
static_cast<sal_uInt8>(aTmp[2]),
|
|
|
|
255 ) );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try sal_Int8 sequence
|
|
|
|
{
|
|
|
|
uno::Sequence< sal_Int8 > aTmp;
|
|
|
|
if( (rSourceAny >>= aTmp) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( aTmp.getLength() == 3,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
"extractValue(): inappropriate length for RGB color value" );
|
|
|
|
|
|
|
|
o_rValue = RGBColor( ::cppcanvas::makeColor( aTmp[0], aTmp[1], aTmp[2], 255 ) );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try to extract string
|
|
|
|
::rtl::OUString aString;
|
|
|
|
if( !(rSourceAny >>= aString) )
|
|
|
|
return false; // nothing left to try
|
|
|
|
|
|
|
|
// TODO(F2): Provide symbolic color values here
|
|
|
|
o_rValue = RGBColor( 0.5, 0.5, 0.5 );
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// extract color value from Any
|
|
|
|
bool extractValue( HSLColor& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
2006-10-12 12:56:01 +00:00
|
|
|
const ShapeSharedPtr& /*rShape*/,
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
const ::basegfx::B2DVector& /*rSlideBounds*/ )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
// try double sequence
|
|
|
|
{
|
|
|
|
uno::Sequence< double > aTmp;
|
|
|
|
if( (rSourceAny >>= aTmp) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( aTmp.getLength() == 3,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
"extractValue(): inappropriate length for HSL color value" );
|
|
|
|
|
|
|
|
o_rValue = HSLColor( aTmp[0], aTmp[1], aTmp[2] );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// try sal_Int8 sequence
|
|
|
|
{
|
|
|
|
uno::Sequence< sal_Int8 > aTmp;
|
|
|
|
if( (rSourceAny >>= aTmp) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( aTmp.getLength() == 3,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
"extractValue(): inappropriate length for HSL color value" );
|
|
|
|
|
|
|
|
o_rValue = HSLColor( aTmp[0]*360.0/255.0, aTmp[1]/255.0, aTmp[2]/255.0 );
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return false; // nothing left to try
|
|
|
|
}
|
|
|
|
|
|
|
|
/// extract plain string from Any
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
bool extractValue( ::rtl::OUString& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
|
|
|
const ShapeSharedPtr& /*rShape*/,
|
|
|
|
const ::basegfx::B2DVector& /*rSlideBounds*/ )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
// try to extract string
|
|
|
|
if( !(rSourceAny >>= o_rValue) )
|
|
|
|
return false; // nothing left to try
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// extract bool value from Any
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
bool extractValue( bool& o_rValue,
|
|
|
|
const uno::Any& rSourceAny,
|
|
|
|
const ShapeSharedPtr& /*rShape*/,
|
|
|
|
const ::basegfx::B2DVector& /*rSlideBounds*/ )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
2006-10-12 12:56:01 +00:00
|
|
|
sal_Bool nTmp = sal_Bool();
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
// try to extract bool value
|
|
|
|
if( (rSourceAny >>= nTmp) )
|
|
|
|
{
|
|
|
|
o_rValue = nTmp;
|
|
|
|
|
|
|
|
// succeeded
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// try to extract string
|
|
|
|
::rtl::OUString aString;
|
|
|
|
if( !(rSourceAny >>= aString) )
|
|
|
|
return false; // nothing left to try
|
|
|
|
|
|
|
|
// we also take the strings "true" and "false",
|
|
|
|
// as well as "on" and "off" here
|
2012-02-21 01:06:12 +09:00
|
|
|
if( aString.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("true")) ||
|
|
|
|
aString.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("on")) )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
o_rValue = true;
|
|
|
|
return true;
|
|
|
|
}
|
2012-02-21 01:06:12 +09:00
|
|
|
if( aString.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("false")) ||
|
|
|
|
aString.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("off")) )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
o_rValue = false;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// ultimately failed.
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// extract double 2-tuple from Any
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
bool extractValue( ::basegfx::B2DTuple& o_rPair,
|
|
|
|
const uno::Any& rSourceAny,
|
|
|
|
const ShapeSharedPtr& rShape,
|
|
|
|
const ::basegfx::B2DVector& rSlideBounds )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
|
|
|
animations::ValuePair aPair;
|
|
|
|
|
|
|
|
if( !(rSourceAny >>= aPair) )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
double nFirst;
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
if( !extractValue( nFirst, aPair.First, rShape, rSlideBounds ) )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
return false;
|
|
|
|
|
|
|
|
double nSecond;
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
if( !extractValue( nSecond, aPair.Second, rShape, rSlideBounds ) )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
return false;
|
|
|
|
|
|
|
|
o_rPair.setX( nFirst );
|
|
|
|
o_rPair.setY( nSecond );
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2005-10-11 07:36:16 +00:00
|
|
|
bool findNamedValue( uno::Sequence< beans::NamedValue > const& rSequence,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
const beans::NamedValue& rSearchKey )
|
|
|
|
{
|
2005-10-11 07:36:16 +00:00
|
|
|
const beans::NamedValue* pArray = rSequence.getConstArray();
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
const size_t nLen( rSequence.getLength() );
|
|
|
|
|
|
|
|
if( nLen == 0 )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
const beans::NamedValue* pFound = ::std::find_if( pArray,
|
|
|
|
pArray + nLen,
|
|
|
|
NamedValueComparator( rSearchKey ) );
|
|
|
|
|
2012-01-09 18:04:58 +01:00
|
|
|
if( pFound == rSequence.getConstArray() + nLen )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
return false;
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
basegfx::B2DRange calcRelativeShapeBounds( const basegfx::B2DVector& rPageSize,
|
|
|
|
const basegfx::B2DRange& rShapeBounds )
|
|
|
|
{
|
|
|
|
return basegfx::B2DRange( rShapeBounds.getMinX() / rPageSize.getX(),
|
|
|
|
rShapeBounds.getMinY() / rPageSize.getY(),
|
|
|
|
rShapeBounds.getMaxX() / rPageSize.getX(),
|
|
|
|
rShapeBounds.getMaxY() / rPageSize.getY() );
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
// TODO(F2): Currently, the positional attributes DO NOT mirror the XShape properties.
|
|
|
|
// First and foremost, this is because we must operate with the shape boundrect,
|
|
|
|
// not position and size (the conversion between logic rect, snap rect and boundrect
|
|
|
|
// are non-trivial for draw shapes, and I won't duplicate them here). Thus, shapes
|
|
|
|
// rotated on the page will still have 0.0 rotation angle, as the metafile
|
|
|
|
// representation fetched over the API is our default zero case.
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
::basegfx::B2DHomMatrix getShapeTransformation( const ::basegfx::B2DRectangle& rShapeBounds,
|
|
|
|
const ShapeAttributeLayerSharedPtr& pAttr )
|
|
|
|
{
|
2006-12-13 14:21:20 +00:00
|
|
|
if( !pAttr )
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
{
|
2009-09-22 18:14:05 +02:00
|
|
|
const basegfx::B2DHomMatrix aTransform(basegfx::tools::createScaleTranslateB2DHomMatrix(
|
|
|
|
rShapeBounds.getWidth(), rShapeBounds.getHeight(),
|
|
|
|
rShapeBounds.getMinX(), rShapeBounds.getMinY()));
|
2005-04-18 08:48:56 +00:00
|
|
|
|
|
|
|
return aTransform;
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2005-04-18 08:48:56 +00:00
|
|
|
return getAttributedShapeTransformation( rShapeBounds,
|
|
|
|
pAttr );
|
|
|
|
}
|
|
|
|
}
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
::basegfx::B2DHomMatrix getSpriteTransformation( const ::basegfx::B2DVector& rPixelSize,
|
|
|
|
const ::basegfx::B2DVector& rOrigSize,
|
2005-04-18 08:48:56 +00:00
|
|
|
const ShapeAttributeLayerSharedPtr& pAttr )
|
|
|
|
{
|
|
|
|
::basegfx::B2DHomMatrix aTransform;
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
if( pAttr )
|
2005-04-18 08:48:56 +00:00
|
|
|
{
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
const double nShearX( pAttr->isShearXAngleValid() ?
|
|
|
|
pAttr->getShearXAngle() :
|
|
|
|
0.0 );
|
|
|
|
const double nShearY( pAttr->isShearYAngleValid() ?
|
|
|
|
pAttr->getShearYAngle() :
|
|
|
|
0.0 );
|
|
|
|
const double nRotation( pAttr->isRotationAngleValid() ?
|
|
|
|
pAttr->getRotationAngle()*M_PI/180.0 :
|
|
|
|
0.0 );
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
// scale, shear and rotation pivot point is the
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
// sprite's pixel center - adapt origin accordingly
|
2005-04-18 08:48:56 +00:00
|
|
|
aTransform.translate( -0.5*rPixelSize.getX(),
|
|
|
|
-0.5*rPixelSize.getY() );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
const ::basegfx::B2DSize aSize(
|
|
|
|
pAttr->isWidthValid() ? pAttr->getWidth() : rOrigSize.getX(),
|
|
|
|
pAttr->isHeightValid() ? pAttr->getHeight() : rOrigSize.getY() );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
// ensure valid size (zero size will inevitably lead
|
|
|
|
// to a singular transformation matrix).
|
|
|
|
aTransform.scale( ::basegfx::pruneScaleValue(
|
|
|
|
aSize.getX() /
|
|
|
|
::basegfx::pruneScaleValue(
|
|
|
|
rOrigSize.getX() ) ),
|
|
|
|
::basegfx::pruneScaleValue(
|
|
|
|
aSize.getY() /
|
|
|
|
::basegfx::pruneScaleValue(
|
|
|
|
rOrigSize.getY() ) ) );
|
|
|
|
|
|
|
|
const bool bNeedShearX( !::basegfx::fTools::equalZero(nShearX) );
|
|
|
|
const bool bNeedShearY( !::basegfx::fTools::equalZero(nShearY) );
|
|
|
|
const bool bNeedRotation( !::basegfx::fTools::equalZero(nRotation) );
|
|
|
|
|
|
|
|
if( bNeedRotation || bNeedShearX || bNeedShearY )
|
|
|
|
{
|
|
|
|
if( bNeedShearX )
|
|
|
|
aTransform.shearX( nShearX );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
if( bNeedShearY )
|
|
|
|
aTransform.shearY( nShearY );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
if( bNeedRotation )
|
|
|
|
aTransform.rotate( nRotation );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
2005-04-18 08:48:56 +00:00
|
|
|
|
|
|
|
// move left, top corner back to original position of
|
|
|
|
// the sprite (we've translated the center of the
|
|
|
|
// sprite to the origin above).
|
|
|
|
aTransform.translate( 0.5*rPixelSize.getX(),
|
|
|
|
0.5*rPixelSize.getY() );
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
// return identity transform for un-attributed
|
|
|
|
// shapes. This renders the sprite as-is, in it's
|
|
|
|
// document-supplied size.
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
return aTransform;
|
|
|
|
}
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
::basegfx::B2DRectangle getShapeUpdateArea( const ::basegfx::B2DRectangle& rUnitBounds,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
const ::basegfx::B2DHomMatrix& rShapeTransform,
|
|
|
|
const ShapeAttributeLayerSharedPtr& pAttr )
|
|
|
|
{
|
|
|
|
::basegfx::B2DHomMatrix aTransform;
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
if( pAttr &&
|
|
|
|
pAttr->isCharScaleValid() &&
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
fabs(pAttr->getCharScale()) > 1.0 )
|
|
|
|
{
|
|
|
|
// enlarge shape bounds. Have to consider the worst
|
|
|
|
// case here (the text fully fills the shape)
|
|
|
|
|
|
|
|
const double nCharScale( pAttr->getCharScale() );
|
|
|
|
|
|
|
|
// center of scaling is the middle of the shape
|
|
|
|
aTransform.translate( -0.5, -0.5 );
|
|
|
|
aTransform.scale( nCharScale, nCharScale );
|
|
|
|
aTransform.translate( 0.5, 0.5 );
|
|
|
|
}
|
|
|
|
|
|
|
|
aTransform *= rShapeTransform;
|
|
|
|
|
|
|
|
::basegfx::B2DRectangle aRes;
|
|
|
|
|
|
|
|
// apply shape transformation to unit rect
|
|
|
|
return ::canvas::tools::calcTransformedRectBounds(
|
|
|
|
aRes,
|
2005-04-18 08:48:56 +00:00
|
|
|
rUnitBounds,
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
aTransform );
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
::basegfx::B2DRange getShapeUpdateArea( const ::basegfx::B2DRange& rUnitBounds,
|
|
|
|
const ::basegfx::B2DRange& rShapeBounds )
|
2005-04-18 08:48:56 +00:00
|
|
|
{
|
|
|
|
return ::basegfx::B2DRectangle(
|
2009-10-16 00:43:16 +02:00
|
|
|
basegfx::tools::lerp( rShapeBounds.getMinX(),
|
|
|
|
rShapeBounds.getMaxX(),
|
|
|
|
rUnitBounds.getMinX() ),
|
|
|
|
basegfx::tools::lerp( rShapeBounds.getMinY(),
|
|
|
|
rShapeBounds.getMaxY(),
|
|
|
|
rUnitBounds.getMinY() ),
|
|
|
|
basegfx::tools::lerp( rShapeBounds.getMinX(),
|
|
|
|
rShapeBounds.getMaxX(),
|
|
|
|
rUnitBounds.getMaxX() ),
|
|
|
|
basegfx::tools::lerp( rShapeBounds.getMinY(),
|
|
|
|
rShapeBounds.getMaxY(),
|
|
|
|
rUnitBounds.getMaxY() ) );
|
2005-04-18 08:48:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
::basegfx::B2DRectangle getShapePosSize( const ::basegfx::B2DRectangle& rOrigBounds,
|
|
|
|
const ShapeAttributeLayerSharedPtr& pAttr )
|
|
|
|
{
|
|
|
|
// an already empty shape bound need no further
|
|
|
|
// treatment. In fact, any changes applied below would
|
|
|
|
// actually remove the special empty state, thus, don't
|
|
|
|
// change!
|
2006-12-13 14:21:20 +00:00
|
|
|
if( !pAttr ||
|
2005-04-18 08:48:56 +00:00
|
|
|
rOrigBounds.isEmpty() )
|
|
|
|
{
|
|
|
|
return rOrigBounds;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
// cannot use maBounds anymore, attributes might have been
|
|
|
|
// changed by now.
|
|
|
|
// Have to use absolute values here, as negative sizes
|
|
|
|
// (aka mirrored shapes) _still_ have the same bounds,
|
|
|
|
// only with mirrored content.
|
|
|
|
::basegfx::B2DSize aSize;
|
|
|
|
aSize.setX( fabs( pAttr->isWidthValid() ?
|
|
|
|
pAttr->getWidth() :
|
|
|
|
rOrigBounds.getWidth() ) );
|
|
|
|
aSize.setY( fabs( pAttr->isHeightValid() ?
|
|
|
|
pAttr->getHeight() :
|
|
|
|
rOrigBounds.getHeight() ) );
|
|
|
|
|
|
|
|
::basegfx::B2DPoint aPos;
|
|
|
|
aPos.setX( pAttr->isPosXValid() ?
|
|
|
|
pAttr->getPosX() :
|
|
|
|
rOrigBounds.getCenterX() );
|
|
|
|
aPos.setY( pAttr->isPosYValid() ?
|
|
|
|
pAttr->getPosY() :
|
|
|
|
rOrigBounds.getCenterY() );
|
|
|
|
|
|
|
|
// the positional attribute retrieved from the
|
|
|
|
// ShapeAttributeLayer actually denotes the _middle_
|
|
|
|
// of the shape (do it as the PPTs do...)
|
|
|
|
return ::basegfx::B2DRectangle( aPos - 0.5*aSize,
|
|
|
|
aPos + 0.5*aSize );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
RGBColor unoColor2RGBColor( sal_Int32 nColor )
|
|
|
|
{
|
|
|
|
return RGBColor(
|
|
|
|
::cppcanvas::makeColor(
|
|
|
|
// convert from API color to IntSRGBA color
|
|
|
|
// (0xAARRGGBB -> 0xRRGGBBAA)
|
|
|
|
static_cast< sal_uInt8 >( nColor >> 16U ),
|
|
|
|
static_cast< sal_uInt8 >( nColor >> 8U ),
|
|
|
|
static_cast< sal_uInt8 >( nColor ),
|
|
|
|
static_cast< sal_uInt8 >( nColor >> 24U ) ) );
|
|
|
|
}
|
2005-04-18 08:48:56 +00:00
|
|
|
|
2009-12-16 08:20:42 +01:00
|
|
|
sal_Int32 RGBAColor2UnoColor( ::cppcanvas::Color::IntSRGBA aColor )
|
|
|
|
{
|
|
|
|
return ::cppcanvas::makeColorARGB(
|
|
|
|
// convert from IntSRGBA color to API color
|
|
|
|
// (0xRRGGBBAA -> 0xAARRGGBB)
|
|
|
|
static_cast< sal_uInt8 >(0),
|
|
|
|
::cppcanvas::getRed(aColor),
|
|
|
|
::cppcanvas::getGreen(aColor),
|
|
|
|
::cppcanvas::getBlue(aColor));
|
|
|
|
}
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
void fillRect( const ::cppcanvas::CanvasSharedPtr& rCanvas,
|
|
|
|
const ::basegfx::B2DRectangle& rRect,
|
|
|
|
::cppcanvas::Color::IntSRGBA aFillColor )
|
|
|
|
{
|
|
|
|
const ::basegfx::B2DPolygon aPoly(
|
|
|
|
::basegfx::tools::createPolygonFromRect( rRect ));
|
|
|
|
|
|
|
|
::cppcanvas::PolyPolygonSharedPtr pPolyPoly(
|
|
|
|
::cppcanvas::BaseGfxFactory::getInstance().createPolyPolygon( rCanvas,
|
|
|
|
aPoly ) );
|
|
|
|
|
|
|
|
if( pPolyPoly )
|
|
|
|
{
|
|
|
|
pPolyPoly->setRGBAFillColor( aFillColor );
|
|
|
|
pPolyPoly->draw();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-04-18 08:48:56 +00:00
|
|
|
void initSlideBackground( const ::cppcanvas::CanvasSharedPtr& rCanvas,
|
|
|
|
const ::basegfx::B2ISize& rSize )
|
|
|
|
{
|
|
|
|
::cppcanvas::CanvasSharedPtr pCanvas( rCanvas->clone() );
|
|
|
|
|
|
|
|
// set transformation to identitiy (->device pixel)
|
|
|
|
pCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
|
|
|
|
|
|
|
|
// #i42440# Fill the _full_ background in
|
|
|
|
// black. Since we had to extend the bitmap by one
|
|
|
|
// pixel, and the bitmap is initialized white,
|
|
|
|
// depending on the slide content a one pixel wide
|
|
|
|
// line will show to the bottom and the right.
|
2006-12-13 14:21:20 +00:00
|
|
|
fillRect( pCanvas,
|
|
|
|
::basegfx::B2DRectangle( 0.0, 0.0,
|
|
|
|
rSize.getX(),
|
|
|
|
rSize.getY() ),
|
|
|
|
0x000000FFU );
|
2005-04-18 08:48:56 +00:00
|
|
|
|
|
|
|
// fill the bounds rectangle in white. Subtract one pixel
|
|
|
|
// from both width and height, because the slide size is
|
|
|
|
// chosen one pixel larger than given by the drawing
|
|
|
|
// layer. This is because shapes with line style, that
|
|
|
|
// have the size of the slide would otherwise be cut
|
|
|
|
// off. OTOH, every other slide background (solid fill,
|
|
|
|
// gradient, bitmap) render one pixel less, thus revealing
|
|
|
|
// ugly white pixel to the right and the bottom.
|
2006-12-13 14:21:20 +00:00
|
|
|
fillRect( pCanvas,
|
|
|
|
::basegfx::B2DRectangle( 0.0, 0.0,
|
|
|
|
rSize.getX()-1,
|
|
|
|
rSize.getY()-1 ),
|
|
|
|
0xFFFFFFFFU );
|
|
|
|
}
|
2005-04-18 08:48:56 +00:00
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
::basegfx::B2DRectangle getAPIShapeBounds( const uno::Reference< drawing::XShape >& xShape )
|
|
|
|
{
|
|
|
|
uno::Reference< beans::XPropertySet > xPropSet( xShape,
|
|
|
|
uno::UNO_QUERY_THROW );
|
|
|
|
// read bound rect
|
|
|
|
awt::Rectangle aTmpRect;
|
|
|
|
if( !(xPropSet->getPropertyValue(
|
|
|
|
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("BoundRect") ) ) >>= aTmpRect) )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( false,
|
2006-12-13 14:21:20 +00:00
|
|
|
"getAPIShapeBounds(): Could not get \"BoundRect\" property from shape" );
|
|
|
|
}
|
|
|
|
|
|
|
|
return ::basegfx::B2DRectangle( aTmpRect.X,
|
|
|
|
aTmpRect.Y,
|
|
|
|
aTmpRect.X+aTmpRect.Width,
|
|
|
|
aTmpRect.Y+aTmpRect.Height );
|
|
|
|
}
|
2005-04-18 08:48:56 +00:00
|
|
|
|
2010-12-04 21:21:24 +00:00
|
|
|
/*
|
|
|
|
TODO(F1): When ZOrder someday becomes usable enable this
|
|
|
|
|
2006-12-13 14:21:20 +00:00
|
|
|
double getAPIShapePrio( const uno::Reference< drawing::XShape >& xShape )
|
|
|
|
{
|
|
|
|
uno::Reference< beans::XPropertySet > xPropSet( xShape,
|
|
|
|
uno::UNO_QUERY_THROW );
|
|
|
|
// read prio
|
2007-01-18 13:16:50 +00:00
|
|
|
sal_Int32 nPrio(0);
|
2006-12-13 14:21:20 +00:00
|
|
|
if( !(xPropSet->getPropertyValue(
|
|
|
|
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("ZOrder") ) ) >>= nPrio) )
|
2005-04-18 08:48:56 +00:00
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW( false,
|
2006-12-13 14:21:20 +00:00
|
|
|
"getAPIShapePrio(): Could not get \"ZOrder\" property from shape" );
|
2005-04-18 08:48:56 +00:00
|
|
|
}
|
2006-12-13 14:21:20 +00:00
|
|
|
|
|
|
|
// TODO(F2): Check and adapt the range of possible values here.
|
|
|
|
// Maybe we can also take the total number of shapes here
|
|
|
|
return nPrio / 65535.0;
|
2005-04-18 08:48:56 +00:00
|
|
|
}
|
2010-12-04 21:21:24 +00:00
|
|
|
*/
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
|
|
|
|
basegfx::B2IVector getSlideSizePixel( const basegfx::B2DVector& rSlideSize,
|
|
|
|
const UnoViewSharedPtr& pView )
|
|
|
|
{
|
2008-06-24 11:04:00 +00:00
|
|
|
ENSURE_OR_THROW(pView, "getSlideSizePixel(): invalid view");
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
|
|
|
|
// determine transformed page bounds
|
|
|
|
const basegfx::B2DRange aRect( 0,0,
|
2009-06-29 15:15:41 +02:00
|
|
|
rSlideSize.getX(),
|
|
|
|
rSlideSize.getY() );
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
basegfx::B2DRange aTmpRect;
|
|
|
|
canvas::tools::calcTransformedRectBounds( aTmpRect,
|
2009-06-29 15:15:41 +02:00
|
|
|
aRect,
|
|
|
|
pView->getTransformation() );
|
INTEGRATION: CWS presfixes12 (1.11.4); FILE MERGED
2007/05/02 21:37:23 thb 1.11.4.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional)
2007/03/11 00:17:57 thb 1.11.4.4: #i37778# Necessary adaptions for cppcanvas clip behaviour (extra setClip() methods to clear clip, instead of empty polygon, which denotes everything clipped on canvas); removed cyclic references for intrinsically animated shapes (GIF and drawing layer scroll text); fixed a few coding style inconsistencies
2007/02/06 17:35:36 thb 1.11.4.3: #i37778# Sun CC does not seem to like prototype and function to differ in type aliases
2007/02/02 08:47:50 thb 1.11.4.2: #i37778# Moved all old-style casts to sal::static_int_cast
2007/01/29 14:01:57 thb 1.11.4.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:41:48 +00:00
|
|
|
|
|
|
|
// #i42440# Returned slide size is one pixel too small, as
|
|
|
|
// rendering happens one pixel to the right and below the
|
|
|
|
// actual bound rect.
|
|
|
|
return basegfx::B2IVector(
|
|
|
|
basegfx::fround( aTmpRect.getRange().getX() ) + 1,
|
|
|
|
basegfx::fround( aTmpRect.getRange().getY() ) + 1 );
|
|
|
|
}
|
INTEGRATION: CWS presentationengine01 (1.1.2); FILE ADDED
2004/09/22 17:57:59 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/09/09 15:38:32 thb 1.1.2.9: #110496# Changed slideshow API to handle properties more flexible; added start slide index to show(); internally, wired user paint mode into slideshow
2004/08/27 18:54:33 thb 1.1.2.8: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/25 15:56:27 thb 1.1.2.7: #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:16 thb 1.1.2.6: #110496# Implemented remaining attribute animations, fixed some performance problems
2004/08/19 17:31:22 thb 1.1.2.5: #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/13 20:33:36 thb 1.1.2.4: #110496# Implemented color animations
2004/07/22 19:42:15 thb 1.1.2.3: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 15:04:55 thb 1.1.2.2: Initial revision
2004/05/23 08:22:38 thb 1.1.2.1: #110496# First working version with SMIL support (basic effects only
2004-11-26 18:00:12 +00:00
|
|
|
}
|
|
|
|
}
|
2010-10-12 15:51:52 +02:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|