diff options
author | Siqi LIU <me@siqi.fr> | 2013-08-23 10:40:27 +0800 |
---|---|---|
committer | Siqi LIU <me@siqi.fr> | 2013-08-23 11:18:29 +0800 |
commit | 1e7918feeb088008a266edc493731dad361fecbc (patch) | |
tree | 59cf918a32f34582faac9dbca349e2a9a245b25f /slideshow | |
parent | dummy implementation for getTranslationOffset (diff) | |
download | core-1e7918feeb088008a266edc493731dad361fecbc.tar.gz core-1e7918feeb088008a266edc493731dad361fecbc.zip |
getTransilationOffset Impl
Change-Id: Ie02e1c4d2ab1357469213f13971ab04632611d67
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/pointersymbol.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
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 <basegfx/vector/b2dvector.hxx> #include <com/sun/star/rendering/XCanvas.hpp> +#include <com/sun/star/geometry/IntegerSize2D.hpp> #include "com/sun/star/uno/Reference.hxx" #include "pointersymbol.hxx" @@ -106,6 +107,7 @@ basegfx::B2DPoint PointerSymbol::calcSpritePos( UnoViewSharedPtr const & rView ) const uno::Reference<rendering::XBitmap> 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<sal_Int32>( 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() << ","<<newPos.getY() << ")" << std::endl; return newPos; } |