34using namespace ::
cairo;
46 "CanvasCustomSprite::CanvasCustomSprite(): Invalid sprite canvas" );
48 SAL_INFO(
"canvas.cairo",
"sprite size: " << ::canvas::tools::roundUp( rSpriteSize.Width ) <<
", " << ::canvas::tools::roundUp( rSpriteSize.Height ));
67 ::osl::MutexGuard aGuard(
m_aMutex );
77 bool bBufferedUpdate )
const
79 ::osl::MutexGuard aGuard( m_aMutex );
85 const ::basegfx::B2DPoint& rOrigOutputPos,
86 bool bBufferedUpdate )
const
88 ::osl::MutexGuard aGuard( m_aMutex );
99 const rendering::ViewState& viewState,
100 const rendering::RenderState& renderState )
102 return maCanvasHelper.repaint( pSurface, viewState, renderState );
122 SAL_INFO(
"canvas.cairo",
"replacing sprite background surface");
137 return "CairoCanvas.CanvasCustomSprite";
147 return {
"com.sun.star.rendering.CanvasCustomSprite" };
virtual ::cairo::SurfaceSharedPtr changeSurface() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual bool repaint(const ::cairo::SurfaceSharedPtr &pSurface, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
virtual OutputDevice * getOutputDevice() override
::basegfx::B2ISize maSize
virtual ::cairo::SurfaceSharedPtr getSurface() override
virtual void disposeThis() override
Object is being disposed.
SpriteCanvasRef mpSpriteCanvas
MUST hold here, too, since CanvasHelper only contains a raw pointer (without refcounting)
CanvasCustomSprite(const css::geometry::RealSize2D &rSpriteSize, const SpriteCanvasRef &rRefDevice)
Create a custom sprite.
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void redraw(const ::cairo::CairoSharedPtr &pCairo, bool bBufferedUpdate) const override
::cairo::SurfaceSharedPtr mpBufferSurface
virtual OUString SAL_CALL getImplementationName() override
virtual ::cairo::SurfaceSharedPtr createSurface(const ::basegfx::B2ISize &rSize, int aContent) override
CanvasHelper maCanvasHelper
SpriteHelper maSpriteHelper
virtual void disposeThis() override
Object is being disposed.
#define ENSURE_OR_THROW(c, m)
::basegfx::B2IVector maSize
#define SAL_INFO(area, stream)
std::shared_ptr< Surface > SurfaceSharedPtr
std::shared_ptr< cairo_t > CairoSharedPtr
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
T roundUp(T input, T multiple)
const cppcanvas::SpriteCanvasSharedPtr mpSpriteCanvas