summaryrefslogtreecommitdiff
path: root/drawinglayer/inc/drawinglayer/processor2d
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2008-10-17 08:40:10 +0000
committerOliver Bolte <obo@openoffice.org>2008-10-17 08:40:10 +0000
commita8ac4bc4145e7e558153b58c87b2def339aebe36 (patch)
treed1f5da0a1b702f12725b2b82117b7ff49872bb21 /drawinglayer/inc/drawinglayer/processor2d
parentae562e931a98e708a75e8d140cf1ff24854acfc7 (diff)
CWS-TOOLING: integrate CWS aw057
Diffstat (limited to 'drawinglayer/inc/drawinglayer/processor2d')
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx34
-rw-r--r--drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx4
2 files changed, 31 insertions, 7 deletions
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 <com/sun/star/rendering/RenderState.hpp>
#include <i18npool/lang.h>
#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <vcl/mapmod.hxx>
//////////////////////////////////////////////////////////////////////////////
// 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