24#include <com/sun/star/rendering/RepaintResult.hpp>
36 uno::Reference< rendering::XCanvas > xTarget ) :
38 maUsedViewState(
std::move( aUsedViewState )),
43 CachedPrimitiveBase::~CachedPrimitiveBase()
47 void SAL_CALL CachedPrimitiveBase::disposing()
49 ::osl::MutexGuard aGuard(
m_aMutex );
51 maUsedViewState.Clip.clear();
55 sal_Int8 SAL_CALL CachedPrimitiveBase::redraw(
const rendering::ViewState& aState )
60 ::basegfx::unotools::homMatrixFromAffineMatrix( aUsedTransformation,
61 maUsedViewState.AffineTransform );
62 ::basegfx::unotools::homMatrixFromAffineMatrix( aNewTransformation,
63 aState.AffineTransform );
65 const bool bSameViewTransforms( aUsedTransformation == aNewTransformation );
67 if( !bSameViewTransforms )
71 return rendering::RepaintResult::FAILED;
74 return doRedraw( aState,
77 bSameViewTransforms );
80 OUString SAL_CALL CachedPrimitiveBase::getImplementationName( )
82 return "canvas::CachedPrimitiveBase";
85 sal_Bool SAL_CALL CachedPrimitiveBase::supportsService(
const OUString& ServiceName )
90 uno::Sequence< OUString > SAL_CALL CachedPrimitiveBase::getSupportedServiceNames( )
92 return {
"com.sun.star.rendering.CachedBitmap" };
CachedPrimitiveBase(css::rendering::ViewState rUsedViewState, css::uno::Reference< css::rendering::XCanvas > xTarget)
Create an XCachedPrimitive for given target canvas.
Reference< XInterface > xTarget
cppu::WeakComponentImplHelper< css::rendering::XCachedPrimitive, css::lang::XServiceInfo > CachedPrimitiveBase_Base
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)