summaryrefslogtreecommitdiff
path: root/slideshow/source/engine/transitions/combtransition.cxx
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-07-17 13:58:39 +0000
committerOliver Bolte <obo@openoffice.org>2007-07-17 13:58:39 +0000
commit9e9d9369dff13ea0f1bbecbfd9e1c90985803a9b (patch)
treebe32c1a1158ebb9d66e5fefcce80f23be4782839 /slideshow/source/engine/transitions/combtransition.cxx
parente860cff12d527668f031c9bb0ee9f8ebbf3a2522 (diff)
INTEGRATION: CWS presfixes12 (1.7.12); FILE MERGED
2007/05/02 21:37:24 thb 1.7.12.5: #i37778# Changed calls to cppcanvas::Canvas::getTransformation() to ViewLayer::getTransformation() where appropriate (because that's more direct); added initial Slide rendering back in (this time optional) 2007/02/02 08:47:53 thb 1.7.12.4: #i37778# Moved all old-style casts to sal::static_int_cast 2007/01/31 14:30:33 thb 1.7.12.3: #i37778# removed View::isContentDestroyed() and mbContentValid distinction on View::clear() - clear() now always clears view the hard way; added explicit screen update to CombTransition, which bypasses SlideChangeBase functionality 2007/01/31 12:29:05 thb 1.7.12.2: #i37778# Slide animations now notify screen updates themselves 2007/01/29 14:02:16 thb 1.7.12.1: Issue number: #i37778# Larger slideshow refactoring. Wrote design and coding style manifest, and adapted the code to actually conform to this. In detail: - cleaned up ownership/disposable/weak_ptr story. removed hacks and explicit Disposable implementations, where workaround were available - removed object mutices, where superfluous - reworked EventMultiplexer (using templatized listener class now), added more events. EventMultiplexer now serves as a true blackboard - reworked directory structure: disjunct parts are now physically separated into directories, instantiation happens via factories & abstract interfaces - added CursorManager, to make setting mouse cursor less hackish - reworked DrawShape, to implement SeparateListener pattern - reworked IntrinsicAnimationActivity, to avoid cyclic references - modified hyperlink & shape cursor handling to communicate via EventMultiplexer - renamed & cleaned up files (presentation.cxx now named slideshowimpl.cxx, etc.) - added first version of the z-order fix to layer/layermanager - cleaned up include guards and include syntax
Diffstat (limited to 'slideshow/source/engine/transitions/combtransition.cxx')
-rw-r--r--slideshow/source/engine/transitions/combtransition.cxx27
1 files changed, 19 insertions, 8 deletions
diff --git a/slideshow/source/engine/transitions/combtransition.cxx b/slideshow/source/engine/transitions/combtransition.cxx
index 17aa59d78dda..ad7a4417b8b4 100644
--- a/slideshow/source/engine/transitions/combtransition.cxx
+++ b/slideshow/source/engine/transitions/combtransition.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: combtransition.cxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: kz $ $Date: 2006-12-13 15:39:24 $
+ * last change: $Author: obo $ $Date: 2007-07-17 14:58:39 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -37,10 +37,17 @@
#include "precompiled_slideshow.hxx"
#include <canvas/debug.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
-#include <basegfx/polygon/b2dpolypolygontools.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+
+#include <cppcanvas/spritecanvas.hxx>
+
#include "combtransition.hxx"
+#include <boost/bind.hpp>
+
+
namespace slideshow {
namespace internal {
@@ -60,8 +67,8 @@ basegfx::B2DPolyPolygon createClipPolygon(
{
aClipPoly.append(
::basegfx::tools::createPolygonFromRect(
- ::basegfx::B2DRectangle( (double)i/nNumStrips, 0.0,
- (double)(i+1)/nNumStrips, 1.0) ) );
+ ::basegfx::B2DRectangle( double(i)/nNumStrips, 0.0,
+ double(i+1)/nNumStrips, 1.0) ) );
}
@@ -90,11 +97,12 @@ CombTransition::CombTransition(
const SlideSharedPtr& pEnteringSlide,
const SoundPlayerSharedPtr& pSoundPlayer,
const UnoViewContainer& rViewContainer,
+ ScreenUpdater& rScreenUpdater,
EventMultiplexer& rEventMultiplexer,
const ::basegfx::B2DVector& rPushDirection,
sal_Int32 nNumStripes )
: SlideChangeBase( leavingSlide, pEnteringSlide, pSoundPlayer,
- rViewContainer, rEventMultiplexer,
+ rViewContainer, rScreenUpdater, rEventMultiplexer,
false /* no leaving sprite */,
false /* no entering sprite */ ),
maPushDirectionUnit( rPushDirection ),
@@ -120,7 +128,7 @@ void CombTransition::renderComb( double t,
// (i.e. pixel).
// TODO(F2): Properly respect clip here. Might have to be transformed, too.
- const basegfx::B2DHomMatrix viewTransform( pCanvas_->getTransformation() );
+ const basegfx::B2DHomMatrix viewTransform( rViewEntry.mpView->getTransformation() );
const basegfx::B2DPoint pageOrigin( viewTransform * basegfx::B2DPoint() );
// change transformation on cloned canvas to be in
@@ -133,7 +141,7 @@ void CombTransition::renderComb( double t,
// TODO(F1): SlideBitmap is not fully portable between different canvases!
const basegfx::B2DSize enteringSizePixel(
- getEnteringSizePixel(rViewEntry.mpView) );
+ getEnteringSlideSizePixel( rViewEntry.mpView) );
const basegfx::B2DVector aPushDirection = basegfx::B2DVector(
enteringSizePixel * maPushDirectionUnit );
@@ -197,6 +205,9 @@ bool CombTransition::operator()( double t )
this,
t,
_1 ));
+
+ getScreenUpdater().notifyUpdate();
+
return true;
}