INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
/*************************************************************************
|
|
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* $RCSfile: slidechangebase.cxx,v $
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2006-12-13 14:45:24 +00:00
|
|
|
* $Revision: 1.7 $
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2006-12-13 14:45:24 +00:00
|
|
|
* last change: $Author: kz $ $Date: 2006-12-13 15:45:24 $
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* The Contents of this file are made available subject to
|
|
|
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
|
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* GNU Lesser General Public License Version 2.1
|
|
|
|
|
* =============================================
|
|
|
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
|
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* 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.
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* 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.
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
2005-09-07 19:58:22 +00:00
|
|
|
* 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
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
*
|
|
|
|
|
************************************************************************/
|
|
|
|
|
|
2006-09-17 07:41:26 +00:00
|
|
|
// MARKER(update_precomp.py): autogen include statement, do not remove
|
|
|
|
|
#include "precompiled_slideshow.hxx"
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
#include <canvas/debug.hxx>
|
|
|
|
|
#include <basegfx/numeric/ftools.hxx>
|
|
|
|
|
#include <basegfx/polygon/b2dpolygontools.hxx>
|
|
|
|
|
#include <basegfx/polygon/b2dpolypolygontools.hxx>
|
|
|
|
|
#include <cppcanvas/basegfxfactory.hxx>
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
#include "slidechangebase.hxx"
|
2006-12-13 14:45:24 +00:00
|
|
|
|
|
|
|
|
#include <boost/bind.hpp>
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
#include <algorithm>
|
|
|
|
|
|
|
|
|
|
using namespace com::sun::star;
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
namespace slideshow {
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
namespace internal {
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
SlideChangeBase::SlideChangeBase( boost::optional<SlideSharedPtr> const & leavingSlide,
|
|
|
|
|
const SlideSharedPtr& pEnteringSlide,
|
|
|
|
|
const SoundPlayerSharedPtr& pSoundPlayer,
|
|
|
|
|
const UnoViewContainer& rViewContainer,
|
|
|
|
|
EventMultiplexer& rEventMultiplexer,
|
|
|
|
|
bool bCreateLeavingSprites,
|
|
|
|
|
bool bCreateEnteringSprites ) :
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mpSoundPlayer( pSoundPlayer ),
|
2006-12-13 14:45:24 +00:00
|
|
|
mrViewContainer(rViewContainer),
|
|
|
|
|
mrEventMultiplexer(rEventMultiplexer),
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mLeavingSlide( leavingSlide ),
|
|
|
|
|
mpEnteringSlide( pEnteringSlide ),
|
2006-12-13 14:45:24 +00:00
|
|
|
maViewData(),
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mbCreateLeavingSprites(bCreateLeavingSprites),
|
|
|
|
|
mbCreateEnteringSprites(bCreateEnteringSprites),
|
2005-10-11 07:46:00 +00:00
|
|
|
mbSpritesVisible(false)
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
ENSURE_AND_THROW(
|
2006-12-13 14:45:24 +00:00
|
|
|
pEnteringSlide,
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
"SlideChangeBase::SlideChangeBase(): Invalid entering slide!" );
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
SlideBitmapSharedPtr SlideChangeBase::getLeavingBitmap( const ViewEntry& rViewEntry ) const
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( !rViewEntry.mpLeavingBitmap )
|
|
|
|
|
rViewEntry.mpLeavingBitmap = createBitmap(rViewEntry.mpView,
|
|
|
|
|
mLeavingSlide);
|
|
|
|
|
|
|
|
|
|
return rViewEntry.mpLeavingBitmap;
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
SlideBitmapSharedPtr SlideChangeBase::getEnteringBitmap( const ViewEntry& rViewEntry ) const
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( !rViewEntry.mpEnteringBitmap )
|
|
|
|
|
rViewEntry.mpEnteringBitmap = createBitmap( rViewEntry.mpView,
|
|
|
|
|
boost::optional<SlideSharedPtr>(mpEnteringSlide) );
|
|
|
|
|
|
|
|
|
|
return rViewEntry.mpEnteringBitmap;
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
SlideBitmapSharedPtr SlideChangeBase::createBitmap( const UnoViewSharedPtr& rView,
|
|
|
|
|
const boost::optional<SlideSharedPtr>& rSlide ) const
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
SlideBitmapSharedPtr pRet;
|
2006-12-13 14:45:24 +00:00
|
|
|
if( !rSlide )
|
|
|
|
|
return pRet;
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
SlideSharedPtr const & pSlide = *rSlide;
|
|
|
|
|
if( !pSlide )
|
|
|
|
|
{
|
|
|
|
|
// TODO(P3): No need to generate a bitmap here. This only made
|
|
|
|
|
// the code more uniform. Faster would be to simply clear the
|
|
|
|
|
// sprite to black.
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
// create empty, black-filled bitmap
|
|
|
|
|
const basegfx::B2ISize slideSizePixel(
|
|
|
|
|
getEnteringSizePixel( rView ));
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
cppcanvas::CanvasSharedPtr pCanvas( rView->getCanvas() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
// create a bitmap of appropriate size
|
|
|
|
|
cppcanvas::BitmapSharedPtr pBitmap(
|
|
|
|
|
cppcanvas::BaseGfxFactory::getInstance().createBitmap(
|
|
|
|
|
pCanvas,
|
|
|
|
|
slideSizePixel ) );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
ENSURE_AND_THROW(
|
|
|
|
|
pBitmap,
|
|
|
|
|
"SlideChangeBase::createBitmap(): Cannot create page bitmap" );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
cppcanvas::BitmapCanvasSharedPtr pBitmapCanvas(
|
|
|
|
|
pBitmap->getBitmapCanvas() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
ENSURE_AND_THROW( pBitmapCanvas,
|
|
|
|
|
"SlideChangeBase::createBitmap(): "
|
|
|
|
|
"Cannot create page bitmap canvas" );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
// set transformation to identitiy (->device pixel)
|
|
|
|
|
pBitmapCanvas->setTransformation( ::basegfx::B2DHomMatrix() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
// clear bitmap to black
|
|
|
|
|
fillRect( pBitmapCanvas,
|
|
|
|
|
::basegfx::B2DRectangle( 0.0, 0.0,
|
|
|
|
|
slideSizePixel.getX(),
|
|
|
|
|
slideSizePixel.getY() ),
|
|
|
|
|
0x000000FFU );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
pRet.reset( new SlideBitmap( pBitmap ));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pRet = pSlide->getCurrentSlideBitmap( rView );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
2006-12-13 14:45:24 +00:00
|
|
|
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
return pRet;
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
basegfx::B2ISize SlideChangeBase::getEnteringSizePixel( const UnoViewSharedPtr& pView ) const
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
return mpEnteringSlide->getSlideSizePixel( pView );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SlideChangeBase::renderBitmap(
|
|
|
|
|
SlideBitmapSharedPtr const & pSlideBitmap,
|
|
|
|
|
cppcanvas::CanvasSharedPtr const & pCanvas )
|
|
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( pSlideBitmap && pCanvas )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
// need to render without any transformation (we
|
|
|
|
|
// assume device units):
|
|
|
|
|
const basegfx::B2DHomMatrix viewTransform(
|
|
|
|
|
pCanvas->getTransformation() );
|
|
|
|
|
const basegfx::B2DPoint pageOrigin(
|
|
|
|
|
viewTransform * basegfx::B2DPoint() );
|
|
|
|
|
const cppcanvas::CanvasSharedPtr pDevicePixelCanvas(
|
|
|
|
|
pCanvas->clone() );
|
|
|
|
|
basegfx::B2DHomMatrix transform;
|
|
|
|
|
// render at output position, don't modify bitmap object (no move!):
|
|
|
|
|
transform.translate( pageOrigin.getX(), pageOrigin.getY() );
|
|
|
|
|
|
|
|
|
|
pDevicePixelCanvas->setTransformation( transform );
|
|
|
|
|
pSlideBitmap->draw( pDevicePixelCanvas );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SlideChangeBase::start( const AnimatableShapeSharedPtr&,
|
|
|
|
|
const ShapeAttributeLayerSharedPtr& )
|
|
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
// register ourselves for view change events
|
|
|
|
|
mrEventMultiplexer.addViewHandler( shared_from_this() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
// init views and create slide bitmaps
|
|
|
|
|
std::for_each( mrViewContainer.begin(),
|
|
|
|
|
mrViewContainer.end(),
|
|
|
|
|
boost::bind( &SlideChangeBase::viewAdded,
|
|
|
|
|
this,
|
|
|
|
|
_1 ));
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
|
|
|
|
// start accompanying sound effect, if any
|
2006-12-13 14:45:24 +00:00
|
|
|
if( mpSoundPlayer )
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mpSoundPlayer->startPlayback();
|
2005-10-11 07:46:00 +00:00
|
|
|
// xxx todo: for now, presentation.cxx takes care about the slide
|
|
|
|
|
// #i50492# transition sound object, so just release it here
|
|
|
|
|
mpSoundPlayer.reset();
|
|
|
|
|
}
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
|
2005-10-11 07:46:00 +00:00
|
|
|
void SlideChangeBase::end()
|
|
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// draw fully entered bitmap:
|
|
|
|
|
ViewsVecT::const_iterator aCurr( beginViews() );
|
|
|
|
|
const ViewsVecT::const_iterator aEnd( endViews() );
|
|
|
|
|
while( aCurr != aEnd )
|
|
|
|
|
{
|
|
|
|
|
const SlideBitmapSharedPtr pSlideBitmap( getEnteringBitmap( *aCurr ));
|
|
|
|
|
pSlideBitmap->clip( basegfx::B2DPolyPolygon() /* no clipping */ );
|
|
|
|
|
renderBitmap( pSlideBitmap,
|
|
|
|
|
aCurr->mpView->getCanvas() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
++aCurr;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch( uno::Exception& )
|
|
|
|
|
{
|
|
|
|
|
// make sure releasing below happens
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO(P3): Slide::show() initial Sliderendering may be obsolete
|
|
|
|
|
// now
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mbSpritesVisible = false;
|
|
|
|
|
|
|
|
|
|
// drop all references
|
2006-12-13 14:45:24 +00:00
|
|
|
ViewsVecT().swap(maViewData);
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
mLeavingSlide.reset();
|
|
|
|
|
mpEnteringSlide.reset();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool SlideChangeBase::operator()( double nValue )
|
|
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( maViewData.empty() )
|
|
|
|
|
return false;
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
const std::size_t nEntries( maViewData.size() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
ENSURE_AND_RETURN(
|
2006-12-13 14:45:24 +00:00
|
|
|
mrViewContainer.size() == nEntries,
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
"SlideChangeBase::operator(): Mismatching sprite/view numbers" );
|
|
|
|
|
|
|
|
|
|
bool bSpritesVisible( mbSpritesVisible );
|
|
|
|
|
|
|
|
|
|
for( ::std::size_t i=0; i<nEntries; ++i )
|
|
|
|
|
{
|
|
|
|
|
// calc sprite offsets. The enter/leaving bitmaps are only
|
|
|
|
|
// as large as the actual slides. For scaled-down
|
|
|
|
|
// presentations, we have to move the left, top edge of
|
|
|
|
|
// those bitmaps to the actual position, governed by the
|
|
|
|
|
// given view transform. The aSpritePosPixel local
|
|
|
|
|
// variable is already in device coordinate space
|
|
|
|
|
// (i.e. pixel).
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
ViewEntry& rViewEntry( maViewData[i] );
|
|
|
|
|
const ::cppcanvas::CanvasSharedPtr& rCanvas( rViewEntry.mpView->getCanvas() );
|
|
|
|
|
::cppcanvas::CustomSpriteSharedPtr& rInSprite( rViewEntry.mpInSprite );
|
|
|
|
|
::cppcanvas::CustomSpriteSharedPtr& rOutSprite( rViewEntry.mpOutSprite );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
|
|
|
|
// TODO(F2): Properly respect clip here.
|
|
|
|
|
|
|
|
|
|
// Might have to be transformed, too.
|
|
|
|
|
const ::basegfx::B2DHomMatrix aViewTransform(
|
2006-12-13 14:45:24 +00:00
|
|
|
rCanvas->getTransformation() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
const ::basegfx::B2DPoint aSpritePosPixel(
|
|
|
|
|
aViewTransform * ::basegfx::B2DPoint() );
|
|
|
|
|
|
|
|
|
|
// move sprite to final output position, in
|
|
|
|
|
// device coordinates
|
2006-12-13 14:45:24 +00:00
|
|
|
if( rOutSprite )
|
|
|
|
|
rOutSprite->movePixel( aSpritePosPixel );
|
|
|
|
|
if( rInSprite )
|
|
|
|
|
rInSprite->movePixel( aSpritePosPixel );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
if( !mbSpritesVisible )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( rOutSprite )
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// only render once: clipping is done
|
|
|
|
|
// exclusively with the sprite
|
|
|
|
|
const ::cppcanvas::CanvasSharedPtr pOutContentCanvas(
|
2006-12-13 14:45:24 +00:00
|
|
|
rOutSprite->getContentCanvas() );
|
|
|
|
|
if( pOutContentCanvas)
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// TODO(Q2): Use basegfx bitmaps here
|
|
|
|
|
|
|
|
|
|
// TODO(F1): SlideBitmap is not fully portable
|
|
|
|
|
// between different canvases!
|
|
|
|
|
|
|
|
|
|
// render the content
|
2006-12-13 14:45:24 +00:00
|
|
|
OSL_ASSERT( getLeavingBitmap( rViewEntry ) );
|
|
|
|
|
if( getLeavingBitmap( rViewEntry ) )
|
|
|
|
|
getLeavingBitmap( rViewEntry )->draw( pOutContentCanvas );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
if( rInSprite )
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// only render once: clipping is done
|
|
|
|
|
// exclusively with the sprite
|
|
|
|
|
const ::cppcanvas::CanvasSharedPtr pInContentCanvas(
|
2006-12-13 14:45:24 +00:00
|
|
|
rInSprite->getContentCanvas() );
|
|
|
|
|
if( pInContentCanvas )
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// TODO(Q2): Use basegfx bitmaps here
|
|
|
|
|
|
|
|
|
|
// TODO(F1): SlideBitmap is not fully portable
|
|
|
|
|
// between different canvases!
|
|
|
|
|
|
|
|
|
|
// render the content
|
2006-12-13 14:45:24 +00:00
|
|
|
getEnteringBitmap( rViewEntry )->draw( pInContentCanvas );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
if( rOutSprite )
|
|
|
|
|
performOut( rOutSprite, rViewEntry, rCanvas, nValue );
|
|
|
|
|
if( rInSprite )
|
|
|
|
|
performIn( rInSprite, rViewEntry, rCanvas, nValue );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
|
|
|
|
// finishing deeds for first run.
|
2006-12-13 14:45:24 +00:00
|
|
|
if( !mbSpritesVisible)
|
|
|
|
|
{
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// enable sprites:
|
2006-12-13 14:45:24 +00:00
|
|
|
if( rOutSprite )
|
|
|
|
|
rOutSprite->show();
|
|
|
|
|
if( rInSprite )
|
|
|
|
|
rInSprite->show();
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
bSpritesVisible = true;
|
|
|
|
|
}
|
|
|
|
|
} // for_each( sprite )
|
|
|
|
|
|
|
|
|
|
mbSpritesVisible = bSpritesVisible;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SlideChangeBase::performIn(
|
2006-10-12 13:02:29 +00:00
|
|
|
const cppcanvas::CustomSpriteSharedPtr& /*rSprite*/,
|
2006-12-13 14:45:24 +00:00
|
|
|
const ViewEntry& /*rViewEntry*/,
|
2006-10-12 13:02:29 +00:00
|
|
|
const cppcanvas::CanvasSharedPtr& /*rDestinationCanvas*/,
|
|
|
|
|
double /*t*/ )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SlideChangeBase::performOut(
|
2006-10-12 13:02:29 +00:00
|
|
|
const cppcanvas::CustomSpriteSharedPtr& /*rSprite*/,
|
2006-12-13 14:45:24 +00:00
|
|
|
const ViewEntry& /*rViewEntry*/,
|
2006-10-12 13:02:29 +00:00
|
|
|
const cppcanvas::CanvasSharedPtr& /*rDestinationCanvas*/,
|
|
|
|
|
double /*t*/ )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double SlideChangeBase::getUnderlyingValue() const
|
|
|
|
|
{
|
|
|
|
|
return 0.0; // though this should be used in concert with
|
|
|
|
|
// ActivitiesFactory::createSimpleActivity, better
|
|
|
|
|
// explicitely name our start value.
|
|
|
|
|
// Permissible range for operator() above is [0,1]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cppcanvas::CustomSpriteSharedPtr SlideChangeBase::createSprite(
|
2006-12-13 14:45:24 +00:00
|
|
|
UnoViewSharedPtr const & pView,
|
|
|
|
|
basegfx::B2DSize const & rSpriteSize,
|
|
|
|
|
double nPrio ) const
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
// TODO(P2): change to bitmapsprite once that's working
|
|
|
|
|
const cppcanvas::CustomSpriteSharedPtr pSprite(
|
2006-12-13 14:45:24 +00:00
|
|
|
pView->createSprite( rSpriteSize ));
|
|
|
|
|
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
// alpha default is 0.0, which seems to be
|
|
|
|
|
// a bad idea when viewing content...
|
|
|
|
|
pSprite->setAlpha( 1.0 );
|
2006-12-13 14:45:24 +00:00
|
|
|
pSprite->setPriority( nPrio );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
if (mbSpritesVisible)
|
|
|
|
|
pSprite->show();
|
2006-12-13 14:45:24 +00:00
|
|
|
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
return pSprite;
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
void SlideChangeBase::addSprites( ViewEntry& rEntry )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
if( mbCreateLeavingSprites && mLeavingSlide )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
// create leaving sprite:
|
|
|
|
|
const basegfx::B2ISize leavingSlideSizePixel(
|
2006-12-13 14:45:24 +00:00
|
|
|
getLeavingBitmap( rEntry )->getSize() );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
rEntry.mpOutSprite = createSprite( rEntry.mpView,
|
|
|
|
|
leavingSlideSizePixel,
|
|
|
|
|
100 );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
if( mbCreateEnteringSprites )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
|
|
|
|
// create entering sprite:
|
|
|
|
|
const basegfx::B2ISize enteringSlideSizePixel(
|
2006-12-13 14:45:24 +00:00
|
|
|
mpEnteringSlide->getSlideSizePixel( rEntry.mpView ) );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
rEntry.mpInSprite = createSprite( rEntry.mpView,
|
|
|
|
|
enteringSlideSizePixel,
|
|
|
|
|
101 );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
void SlideChangeBase::viewAdded( const UnoViewSharedPtr& rView )
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
maViewData.push_back( ViewEntry(rView) );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
ViewEntry& rEntry( maViewData.back() );
|
|
|
|
|
getEnteringBitmap( rEntry );
|
|
|
|
|
getLeavingBitmap( rEntry );
|
|
|
|
|
addSprites( rEntry );
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
}
|
|
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
void SlideChangeBase::viewRemoved( const UnoViewSharedPtr& rView )
|
2005-10-11 07:46:00 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
// erase corresponding entry from maViewData
|
|
|
|
|
maViewData.erase(
|
|
|
|
|
std::remove_if(
|
|
|
|
|
maViewData.begin(),
|
|
|
|
|
maViewData.end(),
|
|
|
|
|
boost::bind(
|
|
|
|
|
std::equal_to<UnoViewSharedPtr>(),
|
|
|
|
|
rView,
|
|
|
|
|
// select view:
|
|
|
|
|
boost::bind( &ViewEntry::getView, _1 ))),
|
|
|
|
|
maViewData.end() );
|
2005-10-11 07:46:00 +00:00
|
|
|
}
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
|
2006-12-13 14:45:24 +00:00
|
|
|
void SlideChangeBase::viewChanged( const UnoViewSharedPtr& rView )
|
2005-10-11 07:46:00 +00:00
|
|
|
{
|
2006-12-13 14:45:24 +00:00
|
|
|
// find entry corresponding to modified view
|
|
|
|
|
ViewsVecT::iterator aModifiedEntry(
|
|
|
|
|
std::find_if(
|
|
|
|
|
maViewData.begin(),
|
|
|
|
|
maViewData.end(),
|
|
|
|
|
boost::bind(
|
|
|
|
|
std::equal_to<UnoViewSharedPtr>(),
|
|
|
|
|
rView,
|
|
|
|
|
// select view:
|
|
|
|
|
boost::bind( &ViewEntry::getView, _1 ) )));
|
|
|
|
|
|
|
|
|
|
OSL_ASSERT( aModifiedEntry != maViewData.end() );
|
|
|
|
|
if( aModifiedEntry != maViewData.end() )
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
// clear stale info (both bitmaps and sprites prolly need a
|
|
|
|
|
// resize)
|
|
|
|
|
aModifiedEntry->mpEnteringBitmap.reset();
|
|
|
|
|
aModifiedEntry->mpLeavingBitmap.reset();
|
|
|
|
|
aModifiedEntry->mpInSprite.reset();
|
|
|
|
|
aModifiedEntry->mpOutSprite.reset();
|
|
|
|
|
|
|
|
|
|
addSprites( *aModifiedEntry );
|
2005-10-11 07:46:00 +00:00
|
|
|
}
|
|
|
|
|
|
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/15 23:51:00 thb 1.1.2.5: #i42440# Moved sprite-growing code to slideshow, some minor issues with size calculations for empty slides (when a 'leaving' slide is needed, but there's no previous one, an empty bitmap is generated)
2005/02/15 12:45:09 thb 1.1.2.4: #i42440# Moved sprite-growing code to slideshow, we already handle the case there for update areas of antialiased shapes; Improved/reformatted documentation; (Hopefully) fixed the problem that sometimes, the first effect preview did not work. The reason there was presumably the clearing of the EventQueue before every slide, and the fact that EventMultiplexer only generated new tick events when it thought ticking was switched off.
2005/02/07 01:05:37 thb 1.1.2.3: #i38960# Slight adaptions for new timer handling: event and activities queue now share a timer, such that e.g. a hold on this timer affects the other queue, too; slight reworks to slidechangebase, now creating the slide bitmap(s) on start(), too.
2005/01/30 15:54:43 dbo 1.1.2.2: #i39787# correct bitmap dimensions
Issue number:
Submitted by:
Reviewed by:
2005/01/26 11:18:32 dbo 1.1.2.1: #i39787# slide transition revision: recalc bitmaps/sprites in case of view changes
Issue number:
Submitted by:
Reviewed by:
2005-03-10 12:52:21 +00:00
|
|
|
} // namespace internal
|
|
|
|
|
} // namespace presentation
|