2004-03-18 09:44:39 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
|
|
|
* $RCSfile: activitiesqueue.cxx,v $
|
|
|
|
*
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
* $Revision: 1.3 $
|
2004-03-18 09:44:39 +00:00
|
|
|
*
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
* last change: $Author: rt $ $Date: 2004-11-26 18:45:21 $
|
2004-03-18 09:44:39 +00:00
|
|
|
*
|
|
|
|
* The Contents of this file are made available subject to the terms of
|
|
|
|
* either of the following licenses
|
|
|
|
*
|
|
|
|
* - GNU Lesser General Public License Version 2.1
|
|
|
|
* - Sun Industry Standards Source License Version 1.1
|
|
|
|
*
|
|
|
|
* Sun Microsystems Inc., October, 2000
|
|
|
|
*
|
|
|
|
* GNU Lesser General Public License Version 2.1
|
|
|
|
* =============================================
|
|
|
|
* Copyright 2000 by Sun Microsystems, Inc.
|
|
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
|
|
* MA 02111-1307 USA
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Sun Industry Standards Source License Version 1.1
|
|
|
|
* =================================================
|
|
|
|
* The contents of this file are subject to the Sun Industry Standards
|
|
|
|
* Source License Version 1.1 (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.openoffice.org/license.html.
|
|
|
|
*
|
|
|
|
* Software provided under this License is provided on an "AS IS" basis,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
|
|
|
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
|
|
|
|
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
|
|
|
|
* See the License for the specific provisions governing your rights and
|
|
|
|
* obligations concerning the Software.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
|
|
|
|
*
|
|
|
|
* Copyright: 2000 by Sun Microsystems, Inc.
|
|
|
|
*
|
|
|
|
* All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s): _______________________________________
|
|
|
|
*
|
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
// must be first
|
|
|
|
#include <canvas/debug.hxx>
|
|
|
|
|
2004-03-18 09:44:39 +00:00
|
|
|
#ifndef _CANVAS_VERBOSETRACE_HXX
|
|
|
|
#include <canvas/verbosetrace.hxx>
|
|
|
|
#endif
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
#ifndef BOOST_BIND_HPP_INCLUDED
|
|
|
|
#include <boost/bind.hpp>
|
|
|
|
#endif
|
|
|
|
#ifndef BOOST_MEM_FN_HPP_INCLUDED
|
|
|
|
#include <boost/mem_fn.hpp>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
#include <slideshowexceptions.hxx>
|
|
|
|
#include <activity.hxx>
|
|
|
|
#include <activitiesqueue.hxx>
|
|
|
|
|
2004-03-18 09:44:39 +00:00
|
|
|
|
|
|
|
using namespace ::drafts::com::sun::star;
|
|
|
|
using namespace ::com::sun::star;
|
|
|
|
|
|
|
|
namespace presentation
|
|
|
|
{
|
|
|
|
namespace internal
|
|
|
|
{
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
ActivitiesQueue::ActivitiesQueue( const UnoViewContainer& rViews ) :
|
|
|
|
mpLayerManager(),
|
2004-03-18 09:44:39 +00:00
|
|
|
maCurrentActivitiesWaiting(),
|
|
|
|
maCurrentActivitiesReinsert(),
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
mrViews( rViews ),
|
2004-03-18 09:44:39 +00:00
|
|
|
mbCurrentRoundNeedsScreenUpdate( false )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
ActivitiesQueue::~ActivitiesQueue()
|
|
|
|
{
|
|
|
|
// dispose all queues
|
|
|
|
::std::for_each( maCurrentActivitiesWaiting.begin(),
|
|
|
|
maCurrentActivitiesWaiting.end(),
|
|
|
|
::boost::mem_fn(&Disposable::dispose) );
|
|
|
|
::std::for_each( maCurrentActivitiesReinsert.begin(),
|
|
|
|
maCurrentActivitiesReinsert.end(),
|
|
|
|
::boost::mem_fn(&Disposable::dispose) );
|
|
|
|
}
|
|
|
|
|
2004-03-18 09:44:39 +00:00
|
|
|
bool ActivitiesQueue::addActivity( const ActivitySharedPtr& pActivity )
|
|
|
|
{
|
|
|
|
OSL_ENSURE( pActivity.get() != NULL, "ActivitiesQueue::addActivity: activity ptr NULL" );
|
|
|
|
|
|
|
|
if( pActivity.get() == NULL )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
// add entry to waiting list
|
|
|
|
maCurrentActivitiesWaiting.push_back( pActivity );
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
void ActivitiesQueue::process()
|
|
|
|
{
|
|
|
|
VERBOSE_TRACE( "ActivitiesQueue: outer loop heartbeat" );
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
bool bPerformScreenUpdate( false );
|
|
|
|
|
|
|
|
// was:
|
|
|
|
// if( !maCurrentActivitiesWaiting.empty() )
|
|
|
|
// for low-prio activities
|
|
|
|
|
2004-03-18 09:44:39 +00:00
|
|
|
// process list of activities
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
while( !maCurrentActivitiesWaiting.empty() )
|
2004-03-18 09:44:39 +00:00
|
|
|
{
|
|
|
|
// process topmost activity
|
|
|
|
ActivitySharedPtr pActivity( maCurrentActivitiesWaiting.front() );
|
|
|
|
maCurrentActivitiesWaiting.pop_front();
|
|
|
|
|
|
|
|
bool bReinsert( false );
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
// fire up activity
|
|
|
|
bReinsert = pActivity->perform();
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
}
|
|
|
|
catch( uno::Exception& )
|
|
|
|
{
|
|
|
|
// catch anything here, we don't want
|
|
|
|
// to leave this scope under _any_
|
|
|
|
// circumstance. Although, do _not_
|
|
|
|
// reinsert an activity that threw
|
|
|
|
// once.
|
2004-03-18 09:44:39 +00:00
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
// NOTE: we explicitely don't catch(...) here,
|
|
|
|
// since this will also capture segmentation
|
|
|
|
// violations and the like. In such a case, we
|
|
|
|
// still better let our clients now...
|
|
|
|
OSL_TRACE( "::presentation::internal::ActivitiesQueue: Activity threw a uno::Exception, removing from ring" );
|
2004-03-18 09:44:39 +00:00
|
|
|
}
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
catch( SlideShowException& )
|
2004-03-18 09:44:39 +00:00
|
|
|
{
|
|
|
|
// catch anything here, we don't want
|
|
|
|
// to leave this scope under _any_
|
|
|
|
// circumstance. Although, do _not_
|
|
|
|
// reinsert an activity that threw
|
|
|
|
// once.
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
|
|
|
|
// NOTE: we explicitely don't catch(...) here,
|
|
|
|
// since this will also capture segmentation
|
|
|
|
// violations and the like. In such a case, we
|
|
|
|
// still better let our clients now...
|
|
|
|
OSL_TRACE( "::presentation::internal::ActivitiesQueue: Activity threw a SlideShowException, removing from ring" );
|
2004-03-18 09:44:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// always query need for screen updates. Note that
|
|
|
|
// ending activities (i.e. those that return
|
|
|
|
// bReinsert=false) might also need one last screen
|
|
|
|
// update
|
|
|
|
if( pActivity->needsScreenUpdate() )
|
|
|
|
mbCurrentRoundNeedsScreenUpdate = true;
|
|
|
|
|
|
|
|
if( bReinsert )
|
|
|
|
maCurrentActivitiesReinsert.push_back( pActivity );
|
|
|
|
|
|
|
|
VERBOSE_TRACE( "ActivitiesQueue: inner loop heartbeat" );
|
|
|
|
}
|
|
|
|
|
|
|
|
// waiting activities exhausted? Then update screen, and
|
|
|
|
// reinsert
|
|
|
|
if( maCurrentActivitiesWaiting.empty() )
|
|
|
|
{
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
if( mbCurrentRoundNeedsScreenUpdate )
|
2004-03-18 09:44:39 +00:00
|
|
|
{
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
bPerformScreenUpdate = true;
|
2004-03-18 09:44:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// always clear update flag. There's no need to update
|
|
|
|
// yesterday's display, even if the canvas sometimes
|
|
|
|
// become valid
|
|
|
|
mbCurrentRoundNeedsScreenUpdate = false;
|
|
|
|
|
|
|
|
if( !maCurrentActivitiesReinsert.empty() )
|
|
|
|
{
|
|
|
|
// reinsert all processed, but not finished
|
|
|
|
// activities back to waiting queue. With swap(),
|
|
|
|
// we kill two birds with one stone: we reuse the
|
|
|
|
// list nodes, and we clear the
|
|
|
|
// maCurrentActivitiesReinsert list
|
|
|
|
maCurrentActivitiesWaiting.swap( maCurrentActivitiesReinsert );
|
|
|
|
}
|
|
|
|
}
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
|
|
|
|
// perform screen update (not only if one of the
|
|
|
|
// activities requested that, but also if the layer
|
|
|
|
// manager signals that it needs one. This frees us from
|
|
|
|
// introducing dummy activities, just to trigger screen
|
|
|
|
// updates. OTOH, this makes it necessary to always call
|
|
|
|
// BOTH event queue and activities queue, such that no
|
|
|
|
// pending update is unduly delayed)
|
|
|
|
if( bPerformScreenUpdate ||
|
|
|
|
(mpLayerManager.get() &&
|
|
|
|
mpLayerManager->isUpdatePending() ) )
|
|
|
|
{
|
|
|
|
// call update() on the registered
|
|
|
|
// LayerManager. This will only update the
|
|
|
|
// backbuffer, not flush anything to screen
|
|
|
|
if( mpLayerManager.get() )
|
|
|
|
mpLayerManager->update();
|
|
|
|
|
|
|
|
// call updateScreen() on all registered views (which
|
|
|
|
// will copy the backbuffers to the front). Do NOT use
|
|
|
|
// LayerManager::updateScreen(), we might need screen
|
|
|
|
// updates independent from a valid LayerManager.
|
|
|
|
::std::for_each( mrViews.begin(),
|
|
|
|
mrViews.end(),
|
|
|
|
::boost::mem_fn( &View::updateScreen ) );
|
|
|
|
|
|
|
|
VERBOSE_TRACE( "ActivitiesQueue: update done" );
|
|
|
|
}
|
2004-03-18 09:44:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
bool ActivitiesQueue::isEmpty()
|
|
|
|
{
|
|
|
|
return maCurrentActivitiesWaiting.empty() && maCurrentActivitiesReinsert.empty();
|
|
|
|
}
|
|
|
|
|
INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/11/01 22:28:42 thb 1.2.2.14: #110496# Various fixes: Added true shape bound functionality (to limit e.g. sprite size to area actually painted into); Added explicit check in ActivitiesQueue, whether the LayerManager has any pending updates; Factored out a generic lerp from ActivitiesFactory; Improved docs; Performance optimizations: added profiling traces
2004/10/08 20:08:14 thb 1.2.2.13: #i34997# Fixed several node state inconsistencies, which led to start/end activities not correctly updating the shapes; added proper updating behaviour to LayerManager (several display-changing cases were missing); fixed SLIDEWIPE for shape transitions; improved docs and structure slightly
2004/09/12 21:03:38 thb 1.2.2.12: #110496# Now painting views black, intially. The slide now has an explicit shape, which, if necessary, paints the page background in white. Furthermore, slide transitions now handle the case correctly, when the leaving slide is invalid
2004/08/27 18:54:29 thb 1.2.2.11: #110496# Implemented slide transitions, fixed some minor sd integration probs (repaints, updateScreen
2004/08/26 12:33:52 thb 1.2.2.10: #110496# Fixed the problem that a slide's LayerManager stayed registered at the ActivitiesQueue; work-arounded various basegfx clipper bugs; fixed the problem that the SlideChanger painted repeatedly into its sprites
2004/08/19 00:17:16 thb 1.2.2.9: #110496# Mostly fixes for correct text animation and iteration, plus a first working version of an optimized redraw
2004/08/09 11:50:05 thb 1.2.2.8: #i10000# Fixed various const-incorrectnesses (made the stuff compile under Linux and Solaris)
2004/08/01 20:08:11 thb 1.2.2.7: #110496# Changed slideshow API to match the needs of sd more closely
2004/07/26 14:10:08 thb 1.2.2.6: #i10000# Madebind and mem_fn build under Solaris
2004/07/22 19:41:56 thb 1.2.2.5: #110496# Slideshow milestone, all smil attributes implemented, effects basically working, UI events basically working, text iterations working
2004/05/27 20:51:30 thb 1.2.2.4: #110496#
Added classification code to all TODO/HACK/FIXME comments.
There are four categories:
- code quality (C)
- performance (P)
- missing functionality (F)
- and missing/incomplete error handling (E)
Furthermore, every category has a severity number between
1 and 3 associated, where 1 is lowest and 3 highest
severity
2004/05/27 15:04:59 thb 1.2.2.3: Initial revision
2004/05/23 08:22:35 thb 1.2.2.2: #110496# First working version with SMIL support (basic effects only
2004/04/05 16:06:00 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 17:45:21 +00:00
|
|
|
void ActivitiesQueue::setLayerManager( const LayerManagerSharedPtr& rMgr )
|
|
|
|
{
|
|
|
|
mpLayerManager = rMgr;
|
|
|
|
}
|
|
|
|
|
|
|
|
void ActivitiesQueue::clear()
|
|
|
|
{
|
|
|
|
ActivityQueue aTmp0;
|
|
|
|
maCurrentActivitiesWaiting.swap( aTmp0 );
|
|
|
|
|
|
|
|
ActivityQueue aTmp1;
|
|
|
|
maCurrentActivitiesReinsert.swap( aTmp1 );
|
|
|
|
|
|
|
|
mbCurrentRoundNeedsScreenUpdate = false;
|
|
|
|
}
|
2004-03-18 09:44:39 +00:00
|
|
|
}
|
|
|
|
}
|