LibreOffice Module canvas (master) 1
Public Member Functions | Private Attributes | List of all members
cairocanvas::CanvasCustomSprite Class Reference

#include <cairo_canvascustomsprite.hxx>

Inheritance diagram for cairocanvas::CanvasCustomSprite:
[legend]
Collaboration diagram for cairocanvas::CanvasCustomSprite:
[legend]

Public Member Functions

 CanvasCustomSprite (const css::geometry::RealSize2D &rSpriteSize, const SpriteCanvasRef &rRefDevice)
 Create a custom sprite. More...
 
virtual void disposeThis () override
 Object is being disposed. More...
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual void redraw (const ::cairo::CairoSharedPtr &pCairo, bool bBufferedUpdate) const override
 
virtual void redraw (const ::cairo::CairoSharedPtr &pCairo, const ::basegfx::B2DPoint &rOrigOutputPos, bool bBufferedUpdate) const override
 
virtual bool repaint (const ::cairo::SurfaceSharedPtr &pSurface, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual ::cairo::SurfaceSharedPtr getSurface () override
 
virtual ::cairo::SurfaceSharedPtr createSurface (const ::basegfx::B2ISize &rSize, int aContent) override
 
virtual ::cairo::SurfaceSharedPtr createSurface (::Bitmap &rBitmap) override
 
virtual ::cairo::SurfaceSharedPtr changeSurface () override
 
virtual OutputDevicegetOutputDevice () override
 
- Public Member Functions inherited from canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >
 CanvasCustomSpriteBase ()
 
virtual void disposeThis () override
 Object is being disposed. More...
 
virtual void SAL_CALL clear () 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 void SAL_CALL setAlpha (double alpha) override
 
virtual void SAL_CALL move (const css::geometry::RealPoint2D &aNewPos, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
 
virtual void SAL_CALL transform (const css::geometry::AffineMatrix2D &aTransformation) override
 
virtual void SAL_CALL clip (const css::uno::Reference< css::rendering::XPolyPolygon2D > &aClip) override
 
virtual void SAL_CALL setPriority (double nPriority) override
 
virtual void SAL_CALL show () override
 
virtual void SAL_CALL hide () override
 
virtual css::uno::Reference< css::rendering::XCanvas > SAL_CALL getContentCanvas () override
 
virtual bool isAreaUpdateOpaque (const ::basegfx::B2DRange &rUpdateArea) const override
 
virtual bool isContentChanged () const override
 
virtual ::basegfx::B2DPoint getPosPixel () const override
 
virtual ::basegfx::B2DVector getSizePixel () const override
 
virtual ::basegfx::B2DRange getUpdateArea () const override
 
virtual double getPriority () const override
 
- Public Member Functions inherited from canvas::IntegerBitmapBase< BitmapCanvasBase2< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface > >
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::BitmapCanvasBase2< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
virtual void SAL_CALL copyRect (const css::uno::Reference< css::rendering::XBitmapCanvas > &sourceCanvas, const css::geometry::RealRectangle2D &sourceRect, const css::rendering::ViewState &sourceViewState, const css::rendering::RenderState &sourceRenderState, const css::geometry::RealRectangle2D &destRect, const css::rendering::ViewState &destViewState, const css::rendering::RenderState &destRenderState) override
 
- Public Member Functions inherited from canvas::BitmapCanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
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, ::osl::MutexGuard, css::uno::XInterface >
 CanvasBase ()
 Create CanvasBase. More...
 
virtual void disposeThis () override
 
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
 

Private Attributes

SpriteCanvasRef mpSpriteCanvas
 MUST hold here, too, since CanvasHelper only contains a raw pointer (without refcounting) More...
 
::cairo::SurfaceSharedPtr mpBufferSurface
 
::basegfx::B2ISize maSize
 

Additional Inherited Members

- Public Types inherited from canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >
typedef IntegerBitmapBase< BitmapCanvasBase2< Base, CanvasHelper, Mutex, UnambiguousBase > > BaseType
 
- Public Types inherited from canvas::BitmapCanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
typedef CanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface > BaseType
 
- Public Types inherited from canvas::CanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
typedef Base BaseType
 
typedef ::osl::MutexGuard MutexType
 
typedef css::uno::XInterface UnambiguousBaseType
 
- Protected Member Functions inherited from canvas::CanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
 ~CanvasBase ()
 
- Protected Attributes inherited from canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >
SpriteHelper maSpriteHelper
 
- Protected Attributes inherited from canvas::CanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >
CanvasHelper maCanvasHelper
 
bool mbSurfaceDirty
 

Detailed Description

Definition at line 81 of file cairo_canvascustomsprite.hxx.

Constructor & Destructor Documentation

◆ CanvasCustomSprite()

cairocanvas::CanvasCustomSprite::CanvasCustomSprite ( const css::geometry::RealSize2D &  rSpriteSize,
const SpriteCanvasRef rRefDevice 
)

Create a custom sprite.

Parameters
rSpriteSizeSize of the sprite in pixel
rRefDeviceAssociated output device
rSpriteCanvasTarget canvas
rDeviceTarget DX device

Definition at line 39 of file cairo_canvascustomsprite.cxx.

References ENSURE_OR_THROW, Height, canvas::CanvasBase< Base, CanvasHelper, ::osl::MutexGuard, css::uno::XInterface >::maCanvasHelper, maSize, canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >::maSpriteHelper, mpBufferSurface, mpSpriteCanvas, mpSpriteCanvas, roundUp(), SAL_INFO, and Width.

Member Function Documentation

◆ changeSurface()

SurfaceSharedPtr cairocanvas::CanvasCustomSprite::changeSurface ( )
override

◆ createSurface() [1/2]

SurfaceSharedPtr cairocanvas::CanvasCustomSprite::createSurface ( ::Bitmap rBitmap)
override

Definition at line 115 of file cairo_canvascustomsprite.cxx.

References mpSpriteCanvas.

◆ createSurface() [2/2]

SurfaceSharedPtr cairocanvas::CanvasCustomSprite::createSurface ( const ::basegfx::B2ISize rSize,
int  aContent 
)
override

Definition at line 110 of file cairo_canvascustomsprite.cxx.

References mpSpriteCanvas.

◆ disposeThis()

void cairocanvas::CanvasCustomSprite::disposeThis ( )
overridevirtual

Object is being disposed.

Called from the cppu helper base, to notify disposal of this object. Already releases all internal references.

Derive: \n when overriding this method in derived classes,
always call the base class' method!

Reimplemented from canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >.

Definition at line 65 of file cairo_canvascustomsprite.cxx.

References canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >::disposeThis(), m_aMutex, mpBufferSurface, and mpSpriteCanvas.

◆ getImplementationName()

OUString SAL_CALL cairocanvas::CanvasCustomSprite::getImplementationName ( )
overridevirtual

Definition at line 135 of file cairo_canvascustomsprite.cxx.

◆ getOutputDevice()

OutputDevice * cairocanvas::CanvasCustomSprite::getOutputDevice ( )
overridevirtual

Definition at line 130 of file cairo_canvascustomsprite.cxx.

References mpSpriteCanvas.

◆ getSupportedServiceNames()

uno::Sequence< OUString > SAL_CALL cairocanvas::CanvasCustomSprite::getSupportedServiceNames ( )
overridevirtual

Definition at line 145 of file cairo_canvascustomsprite.cxx.

◆ getSurface()

SurfaceSharedPtr cairocanvas::CanvasCustomSprite::getSurface ( )
override

Definition at line 105 of file cairo_canvascustomsprite.cxx.

References mpBufferSurface.

◆ redraw() [1/2]

virtual void cairocanvas::CanvasCustomSprite::redraw ( const ::cairo::CairoSharedPtr pCairo,
bool  bBufferedUpdate 
) const
overridevirtual

◆ redraw() [2/2]

virtual void cairocanvas::CanvasCustomSprite::redraw ( const ::cairo::CairoSharedPtr pCairo,
const ::basegfx::B2DPoint rOrigOutputPos,
bool  bBufferedUpdate 
) const
overridevirtual

◆ repaint()

virtual bool cairocanvas::CanvasCustomSprite::repaint ( const ::cairo::SurfaceSharedPtr pSurface,
const css::rendering::ViewState viewState,
const css::rendering::RenderState &  renderState 
)
overridevirtual

◆ supportsService()

sal_Bool SAL_CALL cairocanvas::CanvasCustomSprite::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 140 of file cairo_canvascustomsprite.cxx.

References ServiceName, and cppu::supportsService().

Member Data Documentation

◆ maSize

::basegfx::B2ISize cairocanvas::CanvasCustomSprite::maSize
private

Definition at line 141 of file cairo_canvascustomsprite.hxx.

Referenced by CanvasCustomSprite(), and changeSurface().

◆ mpBufferSurface

::cairo::SurfaceSharedPtr cairocanvas::CanvasCustomSprite::mpBufferSurface
private

◆ mpSpriteCanvas

SpriteCanvasRef cairocanvas::CanvasCustomSprite::mpSpriteCanvas
private

MUST hold here, too, since CanvasHelper only contains a raw pointer (without refcounting)

Definition at line 139 of file cairo_canvascustomsprite.hxx.

Referenced by CanvasCustomSprite(), changeSurface(), createSurface(), disposeThis(), and getOutputDevice().


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