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
This commit is contained in:
Oliver Bolte
2007-01-22 10:48:48 +00:00
parent 0f847d9d18
commit 019a9ea6cb

View File

@@ -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;
::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;
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 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,
::VirtualDevice& rVDev,
const CanvasSharedPtr& rCanvas,
VectorOfOutDevStates& rStates,
const Parameters& rParms,
bool bSubsettable,
sal_Int32& io_rCurrActionIndex );
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;
bool getSubsetIndices( sal_Int32& io_rStartIndex,
sal_Int32& io_rEndIndex,
ActionVector::const_iterator& o_rRangeBegin,
ActionVector::const_iterator& o_rRangeEnd ) const;
ActionVector maActions;
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;
};
}
}