LibreOffice Module canvas (master)  1
Public Types | Public Member Functions | Protected Attributes | List of all members
canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase > Class Template Reference

Helper template to handle XIntegerBitmap method forwarding to BitmapCanvasHelper. More...

#include <spritecanvasbase.hxx>

Inheritance diagram for canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >:
[legend]
Collaboration diagram for canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >:
[legend]

Public Types

typedef IntegerBitmapBase< BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase > > BaseType
 
typedef ::rtl::Reference< SpriteCanvasBaseReference
 
- Public Types inherited from canvas::BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
typedef CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase > BaseType
 
- Public Types inherited from canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
typedef Base BaseType
 
typedef Mutex MutexType
 
typedef UnambiguousBase UnambiguousBaseType
 

Public Member Functions

 SpriteCanvasBase ()
 
virtual void disposeThis () override
 
virtual css::uno::Reference< css::rendering::XAnimatedSprite > SAL_CALL createSpriteFromAnimation (const css::uno::Reference< css::rendering::XAnimation > &animation) override
 
virtual css::uno::Reference< css::rendering::XAnimatedSprite > SAL_CALL createSpriteFromBitmaps (const css::uno::Sequence< css::uno::Reference< css::rendering::XBitmap > > &animationBitmaps, sal_Int8 interpolationMode) override
 
virtual css::uno::Reference< css::rendering::XCustomSprite > SAL_CALL createCustomSprite (const css::geometry::RealSize2D &spriteSize) override
 
virtual css::uno::Reference< css::rendering::XSprite > SAL_CALL createClonedSprite (const css::uno::Reference< css::rendering::XSprite > &original) override
 
virtual void showSprite (const Sprite::Reference &rSprite) override
 
virtual void hideSprite (const Sprite::Reference &rSprite) override
 
virtual void moveSprite (const Sprite::Reference &rSprite, const ::basegfx::B2DPoint &rOldPos, const ::basegfx::B2DPoint &rNewPos, const ::basegfx::B2DVector &rSpriteSize) override
 
virtual void updateSprite (const Sprite::Reference &rSprite, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DRange &rUpdateArea) override
 
- Public Member Functions inherited from canvas::IntegerBitmapBase< BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase > >
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getData (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect) override
 
virtual void SAL_CALL setData (const css::uno::Sequence< sal_Int8 > &, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect) override
 
virtual void SAL_CALL setPixel (const css::uno::Sequence< sal_Int8 > &, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos) override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getPixel (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos) override
 
virtual css::rendering::IntegerBitmapLayout SAL_CALL getMemoryLayout () override
 
- Public Member Functions inherited from canvas::BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
virtual css::geometry::IntegerSize2D SAL_CALL getSize () override
 
virtual sal_Bool SAL_CALL hasAlpha () override
 
virtual css::uno::Reference< css::rendering::XBitmap > SAL_CALL getScaledBitmap (const css::geometry::RealSize2D &newSize, sal_Bool beFast) override
 
- Public Member Functions inherited from canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
 CanvasBase ()
 Create CanvasBase. More...
 
virtual void SAL_CALL clear () override
 
virtual void SAL_CALL drawPoint (const css::geometry::RealPoint2D &aPoint, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual void SAL_CALL drawLine (const css::geometry::RealPoint2D &aStartPoint, const css::geometry::RealPoint2D &aEndPoint, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual void SAL_CALL drawBezier (const css::geometry::RealBezierSegment2D &aBezierSegment, const css::geometry::RealPoint2D &aEndPoint, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL drawPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL strokePolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::rendering::StrokeAttributes &strokeAttributes) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL strokeTexturedPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::uno::Sequence< css::rendering::Texture > &textures, const css::rendering::StrokeAttributes &strokeAttributes) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL strokeTextureMappedPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::uno::Sequence< css::rendering::Texture > &textures, const css::uno::Reference< css::geometry::XMapping2D > &xMapping, const css::rendering::StrokeAttributes &strokeAttributes) override
 
virtual css::uno::Reference< css::rendering::XPolyPolygon2D > SAL_CALL queryStrokeShapes (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::rendering::StrokeAttributes &strokeAttributes) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL fillPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL fillTexturedPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::uno::Sequence< css::rendering::Texture > &textures) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL fillTextureMappedPolyPolygon (const css::uno::Reference< css::rendering::XPolyPolygon2D > &xPolyPolygon, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, const css::uno::Sequence< css::rendering::Texture > &textures, const css::uno::Reference< css::geometry::XMapping2D > &xMapping) override
 
virtual css::uno::Reference< css::rendering::XCanvasFont > SAL_CALL createFont (const css::rendering::FontRequest &fontRequest, const css::uno::Sequence< css::beans::PropertyValue > &extraFontProperties, const css::geometry::Matrix2D &fontMatrix) override
 
virtual css::uno::Sequence< css::rendering::FontInfo > SAL_CALL queryAvailableFonts (const css::rendering::FontInfo &aFilter, const css::uno::Sequence< css::beans::PropertyValue > &aFontProperties) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL drawText (const css::rendering::StringContext &text, const css::uno::Reference< css::rendering::XCanvasFont > &xFont, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState, sal_Int8 textDirection) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL drawTextLayout (const css::uno::Reference< css::rendering::XTextLayout > &laidOutText, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL drawBitmap (const css::uno::Reference< css::rendering::XBitmap > &xBitmap, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL drawBitmapModulated (const css::uno::Reference< css::rendering::XBitmap > &xBitmap, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual css::uno::Reference< css::rendering::XGraphicDevice > SAL_CALL getDevice () override
 
- Public Member Functions inherited from Base
 Base (uno_Environment *pEnv, cppu::Enterable *pEnterable)
 
void acquireWeak ()
 
void releaseWeak ()
 
void harden (uno_Environment **ppHardEnv)
 
void acquire ()
 
void release ()
 
void registerProxyInterface (void **ppProxy, uno_freeProxyFunc freeProxy, OUString const &oid, typelib_InterfaceTypeDescription *pTypeDescr)
 
void revokeInterface (void *pInterface)
 
void getObjectIdentifier (void *pInterface, OUString *pOid)
 
void getRegisteredInterface (void **, OUString const &oid, typelib_InterfaceTypeDescription *)
 
void getRegisteredInterfaces (void ***, sal_Int32 *pnLen, uno_memAlloc memAlloc)
 
void computeObjectIdentifier (void *pInterface, OUString *pOid)
 
void acquireInterface (void *pInterface)
 
void releaseInterface (void *pInterface)
 
virtual void v_enter () override
 
virtual void v_leave () override
 
virtual void v_callInto_v (uno_EnvCallee *pCallee, va_list *pParam) override
 
virtual void v_callOut_v (uno_EnvCallee *pCallee, va_list *pParam) override
 
virtual bool v_isValid (OUString *pReason) override
 
- Public Member Functions inherited from cppu::Enterable
virtual bool v_isValid (rtl::OUString *pReason)=0
 
virtual ~Enterable ()
 
 Enterable ()
 
void enter ()
 
void leave ()
 
void callInto_v (uno_EnvCallee *pCallee, va_list *pParam)
 
void callOut_v (uno_EnvCallee *pCallee, va_list *pParam)
 
void callInto (uno_EnvCallee *pCallee,...)
 
void callOut (uno_EnvCallee *pCallee,...)
 
int isValid (rtl::OUString *pReason)
 

Protected Attributes

SpriteRedrawManager maRedrawManager
 
- Protected Attributes inherited from canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
CanvasHelper maCanvasHelper
 
bool mbSurfaceDirty
 
- Protected Attributes inherited from Base
oslInterlockedCount m_nRef
 
uno_Environmentm_pEnv
 
std::unique_ptr< cppu::Enterablem_pEnterable
 
EnvFun_Pm_env_acquire
 
EnvFun_Pm_env_release
 
EnvFun_PP_Pm_env_harden
 
EnvFun_Pm_env_acquireWeak
 
EnvFun_Pm_env_releaseWeak
 
ExtEnv_registerProxyInterfacem_env_registerProxyInterface
 
ExtEnv_revokeInterfacem_env_revokeInterface
 
ExtEnv_getObjectIdentifierm_env_getObjectIdentifier
 
ExtEnv_getRegisteredInterfacem_env_getRegisteredInterface
 
ExtEnv_getRegisteredInterfacesm_env_getRegisteredInterfaces
 
ExtEnv_computeObjectIdentifierm_env_computeObjectIdentifier
 
ExtEnv_acquireInterfacem_env_acquireInterface
 
ExtEnv_releaseInterfacem_env_releaseInterface
 

Additional Inherited Members

- Protected Member Functions inherited from canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >
 ~CanvasBase ()
 
- Protected Member Functions inherited from Base
virtual ~Base () override
 

Detailed Description

template<class Base, class CanvasHelper, class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
class canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >

Helper template to handle XIntegerBitmap method forwarding to BitmapCanvasHelper.

Use this helper to handle the XIntegerBitmap part of your implementation.

Template parameter:
Base Base class to use, most probably one of the WeakComponentImplHelperN templates with the appropriate interfaces. At least XSpriteCanvas and SpriteSurface should be among them (why else would you use this template, then?). Base class must have a Base( const Mutex& ) constructor (like the WeakComponentImplHelperN templates have).
Template parameter:
CanvasHelper Canvas helper implementation for the backend in question
Template parameter:
Mutex Lock strategy to use. Defaults to using the BaseMutex-provided lock. Every time one of the methods is entered, an object of type Mutex is created with m_aMutex as the sole parameter, and destroyed again when the method scope is left.
Template parameter:
UnambiguousBase Optional unambiguous base class for XInterface of Base. It's sometimes necessary to specify this parameter, e.g. if Base derives from multiple UNO interface (were each provides its own version of XInterface, making the conversion ambiguous)
See also
CanvasBase for further contractual requirements towards the CanvasHelper type, and some examples.

Definition at line 73 of file spritecanvasbase.hxx.

Member Typedef Documentation

template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
typedef IntegerBitmapBase< BitmapCanvasBase<Base, CanvasHelper, Mutex, UnambiguousBase> > canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::BaseType

Definition at line 77 of file spritecanvasbase.hxx.

template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
typedef ::rtl::Reference< SpriteCanvasBase > canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::Reference

Definition at line 78 of file spritecanvasbase.hxx.

Constructor & Destructor Documentation

template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::SpriteCanvasBase ( )
inline

Definition at line 80 of file spritecanvasbase.hxx.

Member Function Documentation

template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual css::uno::Reference< css::rendering::XSprite > SAL_CALL canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::createClonedSprite ( const css::uno::Reference< css::rendering::XSprite > &  original)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual css::uno::Reference< css::rendering::XCustomSprite > SAL_CALL canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::createCustomSprite ( const css::geometry::RealSize2D &  spriteSize)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual css::uno::Reference< css::rendering::XAnimatedSprite > SAL_CALL canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::createSpriteFromAnimation ( const css::uno::Reference< css::rendering::XAnimation > &  animation)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual css::uno::Reference< css::rendering::XAnimatedSprite > SAL_CALL canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::createSpriteFromBitmaps ( const css::uno::Sequence< css::uno::Reference< css::rendering::XBitmap > > &  animationBitmaps,
sal_Int8  interpolationMode 
)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual void canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::disposeThis ( )
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual void canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::hideSprite ( const Sprite::Reference rSprite)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual void canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::moveSprite ( const Sprite::Reference rSprite,
const ::basegfx::B2DPoint rOldPos,
const ::basegfx::B2DPoint rNewPos,
const ::basegfx::B2DVector rSpriteSize 
)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual void canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::showSprite ( const Sprite::Reference rSprite)
inlineoverridevirtual
template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
virtual void canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::updateSprite ( const Sprite::Reference rSprite,
const ::basegfx::B2DPoint rPos,
const ::basegfx::B2DRange rUpdateArea 
)
inlineoverridevirtual

Member Data Documentation

template<class Base , class CanvasHelper , class Mutex = ::osl::MutexGuard, class UnambiguousBase = css::uno::XInterface>
SpriteRedrawManager canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maRedrawManager
protected

The documentation for this class was generated from the following file: