28#include <com/sun/star/rendering/XCanvas.hpp>
29#include <com/sun/star/presentation/XSlideShowView.hpp>
63 mrScreenUpdater( rScreenUpdater ),
67 for(
const auto& rView : rViewContainer )
78 for(
const auto& rView :
maViews )
95 const awt::Rectangle aViewArea( rView->getUnoView()->getCanvasArea() );
96 const geometry::IntegerSize2D realTranslationOffset ( rView->getTranslationOffset() );
99 realTranslationOffset.Width + (aViewArea.Width *
maPos.X),
100 realTranslationOffset.Height + (aViewArea.Height *
maPos.Y));
109 const geometry::IntegerSize2D spriteSize(
mxBitmap->getSize() );
114 rendering::ViewState viewState;
116 rendering::RenderState renderState;
118 sprite->getContentCanvas()->getUNOCanvas()->drawBitmap(
121 sprite->setAlpha( 0.9 );
126 catch( uno::Exception& )
131 maViews.emplace_back( rView, sprite );
140 (
const ViewsVecT::value_type& cp )
141 { return rView == cp.first; } ),
148 ViewsVecT::iterator aModifiedEntry(
153 (
const ViewsVecT::value_type& cp )
154 { return rView == cp.first; } ) );
156 OSL_ASSERT( aModifiedEntry !=
maViews.end() );
157 if( aModifiedEntry ==
maViews.end() )
160 if( aModifiedEntry->second )
161 aModifiedEntry->second->movePixel(
168 for(
const auto& rView :
maViews )
171 rView.second->movePixel(
184 for(
const auto& rView :
maViews )
188 rView.second->movePixel(
This class multiplexes user-activated and slide-show global events.
void addViewHandler(const ViewEventHandlerWeakPtr &rHandler)
Register an event handler that will be called when views are changed.
void setVisible(const bool bVisible)
Use this method to update the pointer's position.
virtual void viewAdded(const UnoViewSharedPtr &rView) override
Notify new view.
virtual void viewChanged(const UnoViewSharedPtr &rView) override
Notify changed view.
static PointerSymbolSharedPtr create(const css::uno::Reference< css::rendering::XBitmap > &xBitmap, ScreenUpdater &rScreenUpdater, EventMultiplexer &rEventMultiplexer, const UnoViewContainer &rViewContainer)
::basegfx::B2DPoint calcSpritePos(UnoViewSharedPtr const &rView) const
PointerSymbol(css::uno::Reference< css::rendering::XBitmap > xBitmap, ScreenUpdater &rScreenUpdater, const UnoViewContainer &rViewContainer)
css::uno::Reference< css::rendering::XBitmap > mxBitmap
css::geometry::RealPoint2D maPos
virtual void viewRemoved(const UnoViewSharedPtr &rView) override
Notify removed view.
virtual void viewsChanged() override
Notify that all views changed.
ScreenUpdater & mrScreenUpdater
void requestImmediateUpdate()
A wart.
void notifyUpdate()
Notify screen update.
void commitUpdates()
Commits collected update actions.
VclPtr< VirtualDevice > mxBitmap
#define TOOLS_WARN_EXCEPTION(area, stream)
std::shared_ptr< ::cppcanvas::CustomSprite > CustomSpriteSharedPtr
std::shared_ptr< class PointerSymbol > PointerSymbolSharedPtr
std::shared_ptr< UnoView > UnoViewSharedPtr