From 1e7918feeb088008a266edc493731dad361fecbc Mon Sep 17 00:00:00 2001 From: Siqi LIU Date: Fri, 23 Aug 2013 10:40:27 +0800 Subject: getTransilationOffset Impl Change-Id: Ie02e1c4d2ab1357469213f13971ab04632611d67 --- slideshow/source/engine/pointersymbol.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'slideshow/source') diff --git a/slideshow/source/engine/pointersymbol.cxx b/slideshow/source/engine/pointersymbol.cxx index d0e7fce6e2eb..f825bbc4baf0 100644 --- a/slideshow/source/engine/pointersymbol.cxx +++ b/slideshow/source/engine/pointersymbol.cxx @@ -28,6 +28,7 @@ #include #include +#include #include "com/sun/star/uno/Reference.hxx" #include "pointersymbol.hxx" @@ -106,6 +107,7 @@ basegfx::B2DPoint PointerSymbol::calcSpritePos( UnoViewSharedPtr const & rView ) const uno::Reference xBitmap( rView->getCanvas()->getUNOCanvas(), uno::UNO_QUERY_THROW ); const geometry::IntegerSize2D realSize( xBitmap->getSize() ); + return basegfx::B2DPoint( // pos.X pos.Y are given in 0..1, beginning from the upper left corner of the currentSlide. std::min( 0, LEFT_BORDER_SPACE ), @@ -120,12 +122,13 @@ basegfx::B2DPoint PointerSymbol::calcSpritePos( uno::UNO_QUERY_THROW ); const geometry::IntegerSize2D realSize( xBitmap->getSize() ); + const geometry::IntegerSize2D realTranslationOffset ( rView->getTranslationOffset() ); + + basegfx::B2DPoint newPos( - // pos.X pos.Y are given in 0..1, beginning from the upper left corner of the currentSlide. - realSize.Width * pos.X, - realSize.Height * pos.Y); + realTranslationOffset.Width + (realSize.Width - 2 * realTranslationOffset.Width) * pos.X, + realTranslationOffset.Height + (realSize.Height - 2 * realTranslationOffset.Height) * pos.Y); - // std::cerr << "calcSpritePos : (" << newPos.getX() << ","<