22#include <com/sun/star/rendering/XAnimatedSprite.hpp>
23#include <com/sun/star/rendering/XAnimation.hpp>
24#include <com/sun/star/rendering/XCustomSprite.hpp>
56 const css::uno::Reference< css::rendering::XAnimation >& animation );
60 const css::uno::Sequence<
62 css::rendering::XBitmap > >& animationBitmaps,
67 const css::geometry::RealSize2D& spriteSize );
71 const css::uno::Reference< css::rendering::XSprite >& original );
84 bool& io_bSurfaceDirty );
109 void scrollUpdate( const ::basegfx::B2DRange& rMoveStart,
110 const ::basegfx::B2DRange& rMoveEnd,
111 const ::canvas::SpriteRedrawManager::UpdateArea& rUpdateArea );
114 const std::vector< ::canvas::Sprite::Reference >& rSortedUpdateSprites );
117 const std::vector< ::canvas::Sprite::Reference >& rSortedUpdateSprites );
This class manages smooth SpriteCanvas updates.
Helper class for basic canvas functionality.
::canvas::SpriteRedrawManager * mpRedrawManager
Set from the SpriteCanvas: instance coordinating sprite redraw.
void renderFrameCounter(OutputDevice &rOutDev)
css::uno::Reference< css::rendering::XSprite > createClonedSprite(const css::uno::Reference< css::rendering::XSprite > &original)
bool mbIsUnsafeScrolling
When true, canvas uses the scroll optimization (direct scrolls in front buffer)
void renderMemUsage(OutputDevice &rOutDev)
bool mbShowFrameInfo
When true, canvas displays debug info on each frame.
css::uno::Reference< css::rendering::XAnimatedSprite > createSpriteFromAnimation(const css::uno::Reference< css::rendering::XAnimation > &animation)
css::uno::Any isSpriteBounds() const
::canvas::tools::ElapsedTime maLastUpdate
For the frame counter timings.
css::uno::Reference< css::rendering::XAnimatedSprite > createSpriteFromBitmaps(const css::uno::Sequence< css::uno::Reference< css::rendering::XBitmap > > &animationBitmaps, sal_Int8 interpolationMode)
void renderSpriteCount(OutputDevice &rOutDev)
css::uno::Reference< css::rendering::XCustomSprite > createCustomSprite(const css::geometry::RealSize2D &spriteSize)
bool mbShowSpriteBounds
When true, canvas creates all new sprites with red lines in the corners.
void enableSpriteBounds(const css::uno::Any &rAny)
void backgroundPaint(const ::basegfx::B2DRange &rUpdateRect)
Gets called for simple background repaints.
void scrollUpdate(const ::basegfx::B2DRange &rMoveStart, const ::basegfx::B2DRange &rMoveEnd, const ::canvas::SpriteRedrawManager::UpdateArea &rUpdateArea)
Gets called when area can be handled by scrolling.
void genericUpdate(const ::basegfx::B2DRange &rTotalArea, const std::vector< ::canvas::Sprite::Reference > &rSortedUpdateSprites)
void opaqueUpdate(const ::basegfx::B2DRange &rTotalArea, const std::vector< ::canvas::Sprite::Reference > &rSortedUpdateSprites)
void init(const OutDevProviderSharedPtr &rOutDev, SpriteCanvas &rOwningSpriteCanvas, ::canvas::SpriteRedrawManager &rManager, bool bProtect, bool bHaveAlpha)
void disposing()
Dispose all internal references.
css::uno::Any isUnsafeScrolling() const
SpriteCanvas * mpOwningSpriteCanvas
Set from the init method. used to generate sprites.
bool updateScreen(bool bUpdateAll, bool &io_bSurfaceDirty)
Actually perform the screen update.
VclPtr< VirtualDevice > maVDev
Background compositing surface.
void enableUnsafeScrolling(const css::uno::Any &rAny)
Product of this component's factory.
std::shared_ptr< OutDevProvider > OutDevProviderSharedPtr