summaryrefslogtreecommitdiff
path: root/cppcanvas/source/inc
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-01-22 10:48:48 +0000
committerOliver Bolte <obo@openoffice.org>2007-01-22 10:48:48 +0000
commit019a9ea6cb8488dab106816c85658faf2b533ed7 (patch)
tree3f2c4523e18997debeb7a7442b36065acf49df3e /cppcanvas/source/inc
parent0f847d9d18e62563a268240d1b296183f83f8455 (diff)
INTEGRATION: CWS thbpp6 (1.10.40); FILE MERGED
2006/12/21 17:20:52 thb 1.10.40.1: #121806# Now keeping full precision of the mtf logic coordinates across mtf->XCanvas conversion
Diffstat (limited to 'cppcanvas/source/inc')
-rw-r--r--cppcanvas/source/inc/implrenderer.hxx141
1 files changed, 78 insertions, 63 deletions
diff --git a/cppcanvas/source/inc/implrenderer.hxx b/cppcanvas/source/inc/implrenderer.hxx
index 0d56ac3bf7a4..63f8c4fbea37 100644
--- a/cppcanvas/source/inc/implrenderer.hxx
+++ b/cppcanvas/source/inc/implrenderer.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: implrenderer.hxx,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: kz $ $Date: 2005-11-02 13:39:25 $
+ * last change: $Author: obo $ $Date: 2007-01-22 11:48:48 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -57,9 +57,16 @@
#include <vector>
class GDIMetaFile;
-class BitmapEx;
class VirtualDevice;
class Gradient;
+class BitmapEx;
+class MapMode;
+class Size;
+
+namespace basegfx {
+ class B2DPolyPolygon;
+ class B2DPolygon;
+}
namespace cppcanvas
{
@@ -67,6 +74,7 @@ namespace cppcanvas
namespace internal
{
struct OutDevState;
+ struct ActionFactoryParameters;
// state stack of OutputDevice, to correctly handle
// push/pop actions
@@ -116,70 +124,77 @@ namespace cppcanvas
ImplRenderer(const ImplRenderer&);
ImplRenderer& operator=( const ImplRenderer& );
- void updateClipping( VectorOfOutDevStates& rStates,
- const ::basegfx::B2DPolyPolygon& rClipPoly,
- const CanvasSharedPtr& rCanvas,
+ void updateClipping( const ::basegfx::B2DPolyPolygon& rClipPoly,
+ const ActionFactoryParameters& rParms,
bool bIntersect );
- void updateClipping( VectorOfOutDevStates& rStates,
- const ::Rectangle& rClipRect,
- const CanvasSharedPtr& rCanvas,
- bool bIntersect );
+ void updateClipping( const ::Rectangle& rClipRect,
+ const ActionFactoryParameters& rParms,
+ bool bIntersect );
::com::sun::star::uno::Reference<
- ::com::sun::star::rendering::XCanvasFont > createFont( double& o_rFontRotation,
- const ::Font& rFont,
- const CanvasSharedPtr& rCanvas,
- const ::VirtualDevice& rVDev,
- const Parameters& rParms ) const;
- bool createActions( const CanvasSharedPtr& rCanvas,
- VirtualDevice& rVDev,
- GDIMetaFile& rMtf,
- VectorOfOutDevStates& rStates,
- const Parameters& rParms,
- bool bSubsettableActions,
- sal_Int32& io_rCurrActionIndex );
- bool createFillAndStroke( const ::PolyPolygon& rPolyPoly,
- const CanvasSharedPtr& rCanvas,
- sal_Int32& rActionIndex,
- const VectorOfOutDevStates& rStates );
- void skipContent( GDIMetaFile& rMtf,
- const char* pCommentString,
- sal_Int32& io_rCurrActionIndex ) const;
-
- bool isActionContained( GDIMetaFile& rMtf,
- const char* pCommentString,
- USHORT nType ) const;
-
- void createGradientAction( const ::PolyPolygon& rPoly,
- const ::Gradient& rGradient,
- ::VirtualDevice& rVDev,
- const CanvasSharedPtr& rCanvas,
- VectorOfOutDevStates& rStates,
- const Parameters& rParms,
- sal_Int32& io_rCurrActionIndex,
- bool bIsPolygonRectangle,
- bool bSubsettableActions );
-
- void createTextAction( const ::Point& rStartPoint,
- const String rString,
- int nIndex,
- int nLength,
- const sal_Int32* pCharWidths,
- ::VirtualDevice& rVDev,
- const CanvasSharedPtr& rCanvas,
- VectorOfOutDevStates& rStates,
- const Parameters& rParms,
- bool bSubsettable,
- sal_Int32& io_rCurrActionIndex );
-
- bool getSubsetIndices( sal_Int32& io_rStartIndex,
- sal_Int32& io_rEndIndex,
- ActionVector::const_iterator& o_rRangeBegin,
- ActionVector::const_iterator& o_rRangeEnd ) const;
-
-
- ActionVector maActions;
+ ::com::sun::star::rendering::XCanvasFont > createFont( double& o_rFontRotation,
+ const ::Font& rFont,
+ const ActionFactoryParameters& rParms ) const;
+ bool createActions( GDIMetaFile& rMtf,
+ const ActionFactoryParameters& rParms,
+ bool bSubsettableActions );
+ bool createFillAndStroke( const ::basegfx::B2DPolyPolygon& rPolyPoly,
+ const ActionFactoryParameters& rParms );
+ bool createFillAndStroke( const ::basegfx::B2DPolygon& rPoly,
+ const ActionFactoryParameters& rParms );
+ void skipContent( GDIMetaFile& rMtf,
+ const char* pCommentString,
+ sal_Int32& io_rCurrActionIndex ) const;
+
+ bool isActionContained( GDIMetaFile& rMtf,
+ const char* pCommentString,
+ USHORT nType ) const;
+
+ void createGradientAction( const ::PolyPolygon& rPoly,
+ const ::Gradient& rGradient,
+ const ActionFactoryParameters& rParms,
+ bool bIsPolygonRectangle,
+ bool bSubsettableActions );
+
+ void createTextAction( const ::Point& rStartPoint,
+ const String rString,
+ int nIndex,
+ int nLength,
+ const sal_Int32* pCharWidths,
+ const ActionFactoryParameters& rParms,
+ bool bSubsettable );
+
+ bool getSubsetIndices( sal_Int32& io_rStartIndex,
+ sal_Int32& io_rEndIndex,
+ ActionVector::const_iterator& o_rRangeBegin,
+ ActionVector::const_iterator& o_rRangeEnd ) const;
+
+
+ ActionVector maActions;
+ };
+
+
+ /// Common parameters when creating actions
+ struct ActionFactoryParameters
+ {
+ ActionFactoryParameters( VectorOfOutDevStates& rStates,
+ const CanvasSharedPtr& rCanvas,
+ ::VirtualDevice& rVDev,
+ const Renderer::Parameters& rParms,
+ sal_Int32& io_rCurrActionIndex ) :
+ mrStates(rStates),
+ mrCanvas(rCanvas),
+ mrVDev(rVDev),
+ mrParms(rParms),
+ mrCurrActionIndex(io_rCurrActionIndex)
+ {}
+
+ VectorOfOutDevStates& mrStates;
+ const CanvasSharedPtr& mrCanvas;
+ ::VirtualDevice& mrVDev;
+ const Renderer::Parameters& mrParms;
+ sal_Int32& mrCurrActionIndex;
};
}
}