22 #include <com/sun/star/rendering/XCanvas.hpp>
23 #include <com/sun/star/rendering/RepaintResult.hpp>
30 using namespace ::
cairo;
36 const rendering::ViewState& rUsedViewState,
37 const rendering::RenderState& rUsedRenderState,
38 const uno::Reference< rendering::XCanvas >&
rTarget ) :
39 CachedPrimitiveBase( rUsedViewState, rTarget ),
41 maRenderState( rUsedRenderState )
46 ::osl::MutexGuard aGuard(
m_aMutex );
49 CachedPrimitiveBase::disposing();
53 const rendering::ViewState& ,
54 const uno::Reference< rendering::XCanvas >& rTargetCanvas,
55 bool bSameViewTransform )
58 "CachedBitmap::doRedraw(): base called with changed view transform "
59 "(told otherwise during construction)" );
64 "CachedBitmap::redraw(): cannot cast target to RepaintTarget" );
71 return rendering::RepaintResult::FAILED;
74 return rendering::RepaintResult::REDRAWN;
Target interface for XCachedPrimitive implementations.
virtual void SAL_CALL disposing() override
Dispose all internal references.
mutable::osl::Mutex m_aMutex
std::shared_ptr< Surface > SurfaceSharedPtr
const css::rendering::RenderState maRenderState
virtual bool repaint(const ::cairo::SurfaceSharedPtr &pSurface, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState)=0
::cairo::SurfaceSharedPtr mpSurface
#define ENSURE_OR_THROW(c, m)
virtual ::sal_Int8 doRedraw(const css::rendering::ViewState &rNewState, const css::rendering::ViewState &rOldState, const css::uno::Reference< css::rendering::XCanvas > &rTargetCanvas, bool bSameViewTransform) override
Actually perform the requested redraw.
CachedBitmap(const ::cairo::SurfaceSharedPtr &pSurface, const css::rendering::ViewState &rUsedViewState, const css::rendering::RenderState &rUsedRenderState, const css::uno::Reference< css::rendering::XCanvas > &rTarget)
Create an XCachedPrimitive for given GraphicObject.
COMReference< surface_type > mpSurface