36#include <osl/diagnose.h>
46namespace tools {
class PolyPolygon; }
58 struct ActionFactoryParameters;
105 if (
sizeof(
float ) != 4 )
107 OSL_FAIL(
"EnhWMFReader::sizeof( float ) != 4" );
130 virtual bool draw()
const override;
131 virtual bool drawSubset( sal_Int32 nStartIndex,
132 sal_Int32 nEndIndex )
const override;
133 virtual ::basegfx::B2DRange
getSubsetArea( sal_Int32 nStartIndex,
134 sal_Int32 nEndIndex )
const override;
142 sal_Int32 nOrigIndex ) :
160 static void updateClipping( const ::basegfx::B2DPolyPolygon& rClipPoly,
168 static css::uno::Reference<
169 css::rendering::XCanvasFont >
createFont(
double& o_rFontRotation,
174 bool bSubsettableActions );
180 const char* pCommentString,
181 sal_Int32& io_rCurrActionIndex );
184 const char* pCommentString,
188 const ::Gradient& rGradient,
190 bool bIsPolygonRectangle,
191 bool bSubsettableActions );
194 const OUString& rString,
203 sal_Int32& io_rEndIndex,
204 ActionVector::const_iterator& o_rRangeBegin,
205 ActionVector::const_iterator& o_rRangeEnd )
const;
230 sal_Int32& io_rCurrActionIndex ) :
SvStream & ReadFloat(float &rFloat)
virtual bool drawSubset(sal_Int32 nStartIndex, sal_Int32 nEndIndex) const override
Render subset of metafile to given canvas.
static void skipContent(GDIMetaFile &rMtf, const char *pCommentString, sal_Int32 &io_rCurrActionIndex)
virtual bool draw() const override
Render to parent canvas.
bool getSubsetIndices(sal_Int32 &io_rStartIndex, sal_Int32 &io_rEndIndex, ActionVector::const_iterator &o_rRangeBegin, ActionVector::const_iterator &o_rRangeEnd) const
ImplRenderer & operator=(const ImplRenderer &)=delete
ImplRenderer(const CanvasSharedPtr &rCanvas, const GDIMetaFile &rMtf, const Parameters &rParms)
void createGradientAction(const ::tools::PolyPolygon &rPoly, const ::Gradient &rGradient, const ActionFactoryParameters &rParms, bool bIsPolygonRectangle, bool bSubsettableActions)
void createTextAction(const ::Point &rStartPoint, const OUString &rString, int nIndex, int nLength, KernArraySpan pCharWidths, o3tl::span< const sal_Bool > pKashidaArray, const ActionFactoryParameters &rParms, bool bSubsettable)
bool createFillAndStroke(const ::basegfx::B2DPolyPolygon &rPolyPoly, const ActionFactoryParameters &rParms)
static css::uno::Reference< css::rendering::XCanvasFont > createFont(double &o_rFontRotation, const vcl::Font &rFont, const ActionFactoryParameters &rParms)
static bool isActionContained(GDIMetaFile &rMtf, const char *pCommentString, MetaActionType nType)
static void updateClipping(const ::basegfx::B2DPolyPolygon &rClipPoly, const ActionFactoryParameters &rParms, bool bIntersect)
virtual ~ImplRenderer() override
virtual ::basegfx::B2DRange getSubsetArea(sal_Int32 nStartIndex, sal_Int32 nEndIndex) const override
Query bounding box of metafile subset.
ImplRenderer(const ImplRenderer &)=delete
std::vector< MtfAction > ActionVector
void createActions(GDIMetaFile &rMtf, const ActionFactoryParameters &rParms, bool bSubsettableActions)
void pushState(vcl::PushFlags nFlags)
std::vector< OutDevState > m_aStates
std::shared_ptr< Canvas > CanvasSharedPtr
Parameters for the Renderer.
Common parameters when creating actions.
const Renderer::Parameters & mrParms
const CanvasSharedPtr & mrCanvas
ActionFactoryParameters(VectorOfOutDevStates &rStates, const CanvasSharedPtr &rCanvas, ::VirtualDevice &rVDev, const Renderer::Parameters &rParms, sal_Int32 &io_rCurrActionIndex)
VectorOfOutDevStates & mrStates
sal_Int32 & mrCurrActionIndex
MtfAction(std::shared_ptr< Action > xAction, sal_Int32 nOrigIndex)
std::shared_ptr< Action > mpAction