LibreOffice Module canvas (master) 1
|
Helper template to handle XCanvas method forwarding to CanvasHelper. More...
#include <canvasbase.hxx>
Public Types | |
typedef Base | BaseType |
typedef Mutex | MutexType |
typedef UnambiguousBase | UnambiguousBaseType |
Public Member Functions | |
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 |
Protected Member Functions | |
~CanvasBase () | |
Protected Attributes | |
CanvasHelper | maCanvasHelper |
bool | mbSurfaceDirty |
Private Member Functions | |
CanvasBase (const CanvasBase &)=delete | |
CanvasBase & | operator= (const CanvasBase &)=delete |
Helper template to handle XCanvas method forwarding to CanvasHelper.
Use this helper to handle the XCanvas part of your implementation. In theory, we could have provided CanvasHelper and CanvasBase as a single template, but that would duplicate a lot of code now residing in CanvasHelper only.
This template basically interposes itself between the full interface you implement (i.e. not restricted to XCanvas. The problem with UNO partial interface implementation actually is, that you cannot do it the plain way, since deriving from a common base subclass always introduces the whole set of pure virtuals, that your baseclass helper just overridden) and your implementation class. You then only have to implement the functionality besides XCanvas.
Example: typedef ::cppu::WeakComponentImplHelper < css::rendering::XSpriteCanvas, css::lang::XInitialization, css::lang::XServiceInfo, css::lang::XServiceName > CanvasBase_Base; typedef ::canvas::internal::CanvasBase< CanvasBase_Base, CanvasHelper > ExampleCanvas_Base; class ExampleCanvas : public ExampleCanvas_Base, public SpriteSurface, public RepaintTarget { };
Definition at line 107 of file canvasbase.hxx.
typedef Base canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::BaseType |
Definition at line 111 of file canvasbase.hxx.
typedef Mutex canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::MutexType |
Definition at line 112 of file canvasbase.hxx.
typedef UnambiguousBase canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::UnambiguousBaseType |
Definition at line 113 of file canvasbase.hxx.
|
inline |
Create CanvasBase.
Definition at line 117 of file canvasbase.hxx.
|
inlineprotected |
Definition at line 439 of file canvasbase.hxx.
|
privatedelete |
|
inlineoverridevirtual |
Reimplemented in canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >.
Definition at line 134 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper, and canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::mbSurfaceDirty.
|
inlineoverridevirtual |
Definition at line 328 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper, and canvas::tools::verifyArgs().
|
inlineoverridevirtual |
Reimplemented in canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >, canvas::SpriteCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >, cairocanvas::CanvasCustomSprite, cairocanvas::SpriteCanvas, dxcanvas::Canvas, dxcanvas::CanvasCustomSprite, dxcanvas::SpriteCanvas, oglcanvas::CanvasCustomSprite, oglcanvas::SpriteCanvas, and vclcanvas::SpriteCanvas.
Definition at line 123 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper.
Referenced by oglcanvas::CanvasCustomSprite::disposeThis().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented in canvas::CanvasCustomSpriteBase< Base, SpriteHelper, CanvasHelper, Mutex, UnambiguousBase >.
Definition at line 399 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper, canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::mbSurfaceDirty, and canvas::tools::verifyArgs().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Definition at line 143 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::mbSurfaceDirty, and canvas::tools::verifyArgs().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Definition at line 431 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper.
|
privatedelete |
|
inlineoverridevirtual |
Definition at line 346 of file canvasbase.hxx.
References canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::maCanvasHelper, and canvas::tools::verifyArgs().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
protected |
Definition at line 441 of file canvasbase.hxx.
Referenced by oglcanvas::CanvasCustomSprite::CanvasCustomSprite(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::clear(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::createFont(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::disposeThis(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBezier(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBitmap(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBitmapModulated(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawLine(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawText(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawTextLayout(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillTexturedPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillTextureMappedPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::getDevice(), canvas::BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::getScaledBitmap(), canvas::BitmapCanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::getSize(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::queryAvailableFonts(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::queryStrokeShapes(), oglcanvas::CanvasCustomSprite::renderSprite(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokePolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokeTexturedPolyPolygon(), and canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokeTextureMappedPolyPolygon().
|
mutableprotected |
Definition at line 442 of file canvasbase.hxx.
Referenced by canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::clear(), canvas::BitmapCanvasBase2< Base, CanvasHelper, Mutex, UnambiguousBase >::copyRect(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBezier(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBitmap(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawBitmapModulated(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawLine(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawPoint(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawText(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::drawTextLayout(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillTexturedPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::fillTextureMappedPolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::queryStrokeShapes(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokePolyPolygon(), canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokeTexturedPolyPolygon(), and canvas::CanvasBase< Base, CanvasHelper, Mutex, UnambiguousBase >::strokeTextureMappedPolyPolygon().