22#include <com/sun/star/uno/Reference.hxx>
23#include <com/sun/star/uno/Sequence.hxx>
24#include <com/sun/star/rendering/TextDirection.hpp>
25#include <osl/mutex.hxx>
104 template<
class Base,
106 class Mutex=::osl::MutexGuard,
107 class UnambiguousBase=css::uno::XInterface >
class CanvasBase :
130 BaseType::disposeThis();
134 virtual void SAL_CALL
clear()
override
143 virtual void SAL_CALL
drawPoint(
const css::geometry::RealPoint2D& aPoint,
144 const css::rendering::ViewState& viewState,
145 const css::rendering::RenderState& renderState)
override
156 virtual void SAL_CALL
drawLine(
const css::geometry::RealPoint2D& aStartPoint,
157 const css::geometry::RealPoint2D& aEndPoint,
158 const css::rendering::ViewState& viewState,
159 const css::rendering::RenderState& renderState)
override
169 maCanvasHelper.drawLine(
this, aStartPoint, aEndPoint, viewState, renderState );
172 virtual void SAL_CALL
drawBezier(
const css::geometry::RealBezierSegment2D& aBezierSegment,
173 const css::geometry::RealPoint2D& aEndPoint,
174 const css::rendering::ViewState& viewState,
175 const css::rendering::RenderState& renderState )
override
185 maCanvasHelper.drawBezier(
this, aBezierSegment, aEndPoint, viewState, renderState );
188 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
189 drawPolyPolygon(
const css::uno::Reference< css::rendering::XPolyPolygon2D >& xPolyPolygon,
190 const css::rendering::ViewState& viewState,
191 const css::rendering::RenderState& renderState)
override
201 return maCanvasHelper.drawPolyPolygon(
this, xPolyPolygon, viewState, renderState );
204 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
206 const css::rendering::ViewState& viewState,
207 const css::rendering::RenderState& renderState,
208 const css::rendering::StrokeAttributes& strokeAttributes)
override
218 return maCanvasHelper.strokePolyPolygon(
this, xPolyPolygon, viewState, renderState, strokeAttributes );
221 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
223 const css::rendering::ViewState& viewState,
224 const css::rendering::RenderState& renderState,
225 const css::uno::Sequence< css::rendering::Texture >& textures,
226 const css::rendering::StrokeAttributes& strokeAttributes )
override
236 return maCanvasHelper.strokeTexturedPolyPolygon(
this, xPolyPolygon, viewState, renderState, textures, strokeAttributes );
239 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
241 const css::rendering::ViewState& viewState,
242 const css::rendering::RenderState& renderState,
243 const css::uno::Sequence< css::rendering::Texture >& textures,
244 const css::uno::Reference< css::geometry::XMapping2D >& xMapping,
245 const css::rendering::StrokeAttributes& strokeAttributes )
override
247 tools::verifyArgs(xPolyPolygon, viewState, renderState, textures, xMapping, strokeAttributes,
255 return maCanvasHelper.strokeTextureMappedPolyPolygon(
this, xPolyPolygon, viewState, renderState, textures, xMapping, strokeAttributes );
258 virtual css::uno::Reference< css::rendering::XPolyPolygon2D > SAL_CALL
260 const css::rendering::ViewState& viewState,
261 const css::rendering::RenderState& renderState,
262 const css::rendering::StrokeAttributes& strokeAttributes )
override
272 return maCanvasHelper.queryStrokeShapes(
this, xPolyPolygon, viewState, renderState, strokeAttributes );
275 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
276 fillPolyPolygon(
const css::uno::Reference< css::rendering::XPolyPolygon2D >& xPolyPolygon,
277 const css::rendering::ViewState& viewState,
278 const css::rendering::RenderState& renderState)
override
288 return maCanvasHelper.fillPolyPolygon(
this, xPolyPolygon, viewState, renderState );
291 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
293 const css::rendering::ViewState& viewState,
294 const css::rendering::RenderState& renderState,
295 const css::uno::Sequence< css::rendering::Texture >& textures)
override
305 return maCanvasHelper.fillTexturedPolyPolygon(
this, xPolyPolygon, viewState, renderState, textures );
308 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
310 const css::rendering::ViewState& viewState,
311 const css::rendering::RenderState& renderState,
312 const css::uno::Sequence< css::rendering::Texture >& textures,
313 const css::uno::Reference< css::geometry::XMapping2D >& xMapping )
override
323 return maCanvasHelper.fillTextureMappedPolyPolygon(
this, xPolyPolygon, viewState, renderState, textures, xMapping );
327 virtual css::uno::Reference< css::rendering::XCanvasFont > SAL_CALL
329 const css::uno::Sequence< css::beans::PropertyValue >& extraFontProperties,
330 const css::geometry::Matrix2D& fontMatrix )
override
341 return maCanvasHelper.createFont(
this, fontRequest, extraFontProperties, fontMatrix );
345 virtual css::uno::Sequence< css::rendering::FontInfo > SAL_CALL
347 const css::uno::Sequence< css::beans::PropertyValue >& aFontProperties )
override
355 return maCanvasHelper.queryAvailableFonts(
this, aFilter, aFontProperties );
359 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
360 drawText(
const css::rendering::StringContext& text,
361 const css::uno::Reference< css::rendering::XCanvasFont >& xFont,
362 const css::rendering::ViewState& viewState,
363 const css::rendering::RenderState& renderState,
370 css::rendering::TextDirection::WEAK_LEFT_TO_RIGHT,
371 css::rendering::TextDirection::STRONG_RIGHT_TO_LEFT );
377 return maCanvasHelper.drawText(
this,
text, xFont, viewState, renderState, textDirection );
381 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
382 drawTextLayout(
const css::uno::Reference< css::rendering::XTextLayout >& laidOutText,
383 const css::rendering::ViewState& viewState,
384 const css::rendering::RenderState& renderState)
override
394 return maCanvasHelper.drawTextLayout(
this, laidOutText, viewState, renderState );
398 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
399 drawBitmap(
const css::uno::Reference< css::rendering::XBitmap >& xBitmap,
400 const css::rendering::ViewState& viewState,
401 const css::rendering::RenderState& renderState )
override
411 return maCanvasHelper.drawBitmap(
this, xBitmap, viewState, renderState );
414 virtual css::uno::Reference< css::rendering::XCachedPrimitive > SAL_CALL
416 const css::rendering::ViewState& viewState,
417 const css::rendering::RenderState& renderState )
override
427 return maCanvasHelper.drawBitmapModulated(
this, xBitmap, viewState, renderState );
430 virtual css::uno::Reference< css::rendering::XGraphicDevice > SAL_CALL
Helper template to handle XCanvas method forwarding to CanvasHelper.
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::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 void disposeThis() override
CanvasBase()
Create CanvasBase.
CanvasHelper maCanvasHelper
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 drawBitmap(const css::uno::Reference< css::rendering::XBitmap > &xBitmap, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
CanvasBase & operator=(const CanvasBase &)=delete
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 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::XCanvasFont > SAL_CALL createFont(const css::rendering::FontRequest &fontRequest, const css::uno::Sequence< css::beans::PropertyValue > &extraFontProperties, const css::geometry::Matrix2D &fontMatrix) 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 clear() 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 void SAL_CALL drawPoint(const css::geometry::RealPoint2D &aPoint, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) 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::XGraphicDevice > SAL_CALL getDevice() 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 drawBitmapModulated(const css::uno::Reference< css::rendering::XBitmap > &xBitmap, const css::rendering::ViewState &viewState, const css::rendering::RenderState &renderState) override
CanvasBase(const CanvasBase &)=delete
UnambiguousBase UnambiguousBaseType
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