From a8ac4bc4145e7e558153b58c87b2def339aebe36 Mon Sep 17 00:00:00 2001 From: Oliver Bolte Date: Fri, 17 Oct 2008 08:40:10 +0000 Subject: CWS-TOOLING: integrate CWS aw057 --- .../drawinglayer/processor2d/canvasprocessor.hxx | 34 ++++++++++++++++++++-- .../drawinglayer/processor2d/vclprocessor2d.hxx | 4 --- 2 files changed, 31 insertions(+), 7 deletions(-) (limited to 'drawinglayer/inc/drawinglayer/processor2d') diff --git a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx b/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx index b79f8381c695..0c356e731169 100644 --- a/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx +++ b/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx @@ -44,6 +44,7 @@ #include #include #include +#include ////////////////////////////////////////////////////////////////////////////// // forward declaration @@ -58,6 +59,17 @@ namespace com { namespace sun { namespace star { namespace rendering { class XPolyPolygon2D; }}}} +namespace drawinglayer { namespace primitive2d { + class MaskPrimitive2D; + class MetafilePrimitive2D; + class TextSimplePortionPrimitive2D; + class BitmapPrimitive2D; + class AlphaPrimitive2D; + class PolygonStrokePrimitive2D; + class FillBitmapPrimitive2D; + class UnifiedAlphaPrimitive2D; +}} + ////////////////////////////////////////////////////////////////////////////// namespace drawinglayer @@ -67,7 +79,12 @@ namespace drawinglayer class canvasProcessor2D : public BaseProcessor2D { private: - // the destination canvas + // The Pixel renderer resets the original MapMode from the OutputDevice. + // For some situations it is necessary to get it again, so it is rescued here + MapMode maOriginalMapMode; + + // the (current) destination OutDev and canvas + OutputDevice* mpOutputDevice; com::sun::star::uno::Reference< com::sun::star::rendering::XCanvas > mxCanvas; com::sun::star::rendering::ViewState maViewState; com::sun::star::rendering::RenderState maRenderState; @@ -78,7 +95,8 @@ namespace drawinglayer // SvtOptionsDrawinglayer incarnation to react on diverse settings const SvtOptionsDrawinglayer maDrawinglayerOpt; - // the current clipping PolyPolygon from MaskPrimitive2D + // the current clipping PolyPolygon from MaskPrimitive2D, always in + // object coordinates basegfx::B2DPolyPolygon maClipPolyPolygon; // determined LanguageType @@ -88,10 +106,20 @@ namespace drawinglayer // virtual render method when the primitive implementation is BasePrimitive2D-based. virtual void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate); + // direct primitive renderer support + void impRenderMaskPrimitive2D(const primitive2d::MaskPrimitive2D& rMaskCandidate); + void impRenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rMetaCandidate); + void impRenderTextSimplePortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate); + void impRenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate); + void impRenderAlphaPrimitive2D(const primitive2d::AlphaPrimitive2D& rAlphaCandidate); + void impRenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokePrimitive); + void impRenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapPrimitive2D); + void impRenderUnifiedAlphaPrimitive2D(const primitive2d::UnifiedAlphaPrimitive2D& rUniAlphaCandidate); + public: canvasProcessor2D( const geometry::ViewInformation2D& rViewInformation, - const com::sun::star::uno::Reference< com::sun::star::rendering::XCanvas >& rCanvas); + OutputDevice& rOutDev); virtual ~canvasProcessor2D(); // access to Drawinglayer configuration options diff --git a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx b/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx index fb9bf24bdb2e..82c65e249c2e 100644 --- a/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx +++ b/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx @@ -59,11 +59,9 @@ namespace drawinglayer { namespace primitive2d { class MarkerArrayPrimitive2D; class PointArrayPrimitive2D; class ModifiedColorPrimitive2D; - class WrongSpellPrimitive2D; class PolygonStrokePrimitive2D; class ControlPrimitive2D; class PagePreviewPrimitive2D; - class ChartPrimitive2D; }} ////////////////////////////////////////////////////////////////////////////// @@ -110,9 +108,7 @@ namespace drawinglayer void RenderPagePreviewPrimitive2D(const primitive2d::PagePreviewPrimitive2D& rPagePreviewCandidate); void RenderMarkerArrayPrimitive2D(const primitive2d::MarkerArrayPrimitive2D& rMarkerArrayCandidate); void RenderPointArrayPrimitive2D(const primitive2d::PointArrayPrimitive2D& rPointArrayCandidate); - void RenderWrongSpellPrimitive2D(const primitive2d::WrongSpellPrimitive2D& rWrongSpellCandidate); void RenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokeCandidate); - void RenderChartPrimitive2D(const primitive2d::ChartPrimitive2D& rChartCandidate); ///////////////////////////////////////////////////////////////////////////// // DrawMode adaption support -- cgit v1.2.3