LibreOffice Module filter (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SVGActionWriter Class Referencefinal

#include <svgwriter.hxx>

Collaboration diagram for SVGActionWriter:
[legend]

Public Member Functions

 SVGActionWriter (SVGExport &rExport, SVGFontExport &rFontExport)
 
 ~SVGActionWriter ()
 
void WriteMetaFile (const Point &rPos100thmm, const Size &rSize100thmm, const GDIMetaFile &rMtf, sal_uInt32 nWriteFlags, const OUString &aElementId="", const Reference< css::drawing::XShape > *pXShape=nullptr, const GDIMetaFile *pTextEmbeddedBitmapMtf=nullptr)
 
void SetEmbeddedBitmapRefs (const MetaBitmapActionMap *pEmbeddedBitmapsMap)
 
void StartMask (const Point &rDestPt, const Size &rDestSize, const Gradient &rGradient, sal_uInt32 nWriteFlags, const basegfx::BColorStops *pColorStops, OUString *pTextStyle=nullptr)
 
void SetPreviewMode (bool bState=true)
 

Static Public Member Functions

static OUString GetPathString (const tools::PolyPolygon &rPolyPoly, bool bLine)
 
static BitmapChecksum GetChecksum (const MetaAction *pAction)
 

Private Member Functions

tools::Long ImplMap (sal_Int32 nVal) const
 
PointImplMap (const Point &rPt, Point &rDstPt) const
 
SizeImplMap (const Size &rSz, Size &rDstSz) const
 
void ImplMap (const tools::Rectangle &rRect, tools::Rectangle &rDstRect) const
 
tools::PolygonImplMap (const tools::Polygon &rPoly, tools::Polygon &rDstPoly) const
 
tools::PolyPolygonImplMap (const tools::PolyPolygon &rPolyPoly, tools::PolyPolygon &rDstPolyPoly) const
 
void ImplWriteLine (const Point &rPt1, const Point &rPt2, const Color *pLineColor=nullptr)
 
void ImplWriteRect (const tools::Rectangle &rRect, tools::Long nRadX=0, tools::Long nRadY=0)
 
void ImplWriteEllipse (const Point &rCenter, tools::Long nRadX, tools::Long nRadY)
 
void ImplWritePattern (const tools::PolyPolygon &rPolyPoly, const Hatch *pHatch, const Gradient *pGradient, sal_uInt32 nWriteFlags)
 
void ImplAddLineAttr (const LineInfo &rAttrs)
 
void ImplWritePolyPolygon (const tools::PolyPolygon &rPolyPoly, bool bLineOnly, bool bApplyMapping=true)
 
void ImplWriteShape (const SVGShapeDescriptor &rShape)
 
void ImplCreateClipPathDef (const tools::PolyPolygon &rPolyPoly)
 
void ImplStartClipRegion (sal_Int32 nClipPathId)
 
void ImplEndClipRegion ()
 
void ImplWriteClipPath (const tools::PolyPolygon &rPolyPoly)
 
void ImplWriteGradientEx (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient, sal_uInt32 nWriteFlags, const basegfx::BColorStops *pColorStops)
 
void ImplWriteGradientLinear (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient, const basegfx::BColorStops *pColorStops)
 
void ImplWriteGradientStop (const Color &rColor, double fOffset)
 
void ImplWriteMask (GDIMetaFile &rMtf, const Point &rDestPt, const Size &rDestSize, const Gradient &rGradient, sal_uInt32 nWriteFlags, const basegfx::BColorStops *pColorStops)
 
void ImplWriteText (const Point &rPos, const OUString &rText, KernArraySpan pDXArray, tools::Long nWidth)
 
void ImplWriteText (const Point &rPos, const OUString &rText, KernArraySpan pDXArray, tools::Long nWidth, Color aTextColor)
 
void ImplWriteBmp (const BitmapEx &rBmpEx, const Point &rPt, const Size &rSz, const Point &rSrcPt, const Size &rSrcSz, const css::uno::Reference< css::drawing::XShape > *pShape)
 
void ImplWriteActions (const GDIMetaFile &rMtf, sal_uInt32 nWriteFlags, const OUString &aElementId, const Reference< css::drawing::XShape > *pXShape=nullptr, const GDIMetaFile *pTextEmbeddedBitmapMtf=nullptr)
 
vcl::Font ImplSetCorrectFontHeight () const
 

Static Private Member Functions

static Color ImplGetColorWithIntensity (const Color &rColor, sal_uInt16 nIntensity)
 

Private Attributes

sal_Int32 mnCurGradientId
 
sal_Int32 mnCurMaskId
 
sal_Int32 mnCurPatternId
 
sal_Int32 mnCurClipPathId
 
::std::unique_ptr< SvXMLElementExportmpCurrentClipRegionElem
 
::std::unique_ptr< SVGShapeDescriptormapCurShape
 
SVGExportmrExport
 
SVGContextHandler maContextHandler
 
SVGStatemrCurrentState
 
SVGAttributeWriter maAttributeWriter
 
SVGTextWriter maTextWriter
 
VclPtr< VirtualDevicempVDev
 
MapMode maTargetMapMode
 
bool mbClipAttrChanged
 
bool mbIsPlaceholderShape
 
const MetaBitmapActionMapmpEmbeddedBitmapsMap
 
bool mbIsPreview
 

Detailed Description

Definition at line 302 of file svgwriter.hxx.

Constructor & Destructor Documentation

◆ SVGActionWriter()

SVGActionWriter::SVGActionWriter ( SVGExport rExport,
SVGFontExport rFontExport 
)

◆ ~SVGActionWriter()

SVGActionWriter::~SVGActionWriter ( )

Definition at line 1828 of file svgwriter.cxx.

References VclPtr< class reference_type >::disposeAndClear(), and mpVDev.

Member Function Documentation

◆ GetChecksum()

BitmapChecksum SVGActionWriter::GetChecksum ( const MetaAction pAction)
static

◆ GetPathString()

OUString SVGActionWriter::GetPathString ( const tools::PolyPolygon rPolyPoly,
bool  bLine 
)
static

◆ ImplAddLineAttr()

void SVGActionWriter::ImplAddLineAttr ( const LineInfo rAttrs)
private

◆ ImplCreateClipPathDef()

void SVGActionWriter::ImplCreateClipPathDef ( const tools::PolyPolygon rPolyPoly)
private

◆ ImplEndClipRegion()

void SVGActionWriter::ImplEndClipRegion ( )
private

Definition at line 2233 of file svgwriter.cxx.

References mpCurrentClipRegionElem.

Referenced by ImplWriteActions(), ImplWriteClipPath(), and WriteMetaFile().

◆ ImplGetColorWithIntensity()

Color SVGActionWriter::ImplGetColorWithIntensity ( const Color rColor,
sal_uInt16  nIntensity 
)
staticprivate

Definition at line 2450 of file svgwriter.cxx.

References Color::GetBlue(), Color::GetGreen(), and Color::GetRed().

◆ ImplMap() [1/6]

Point & SVGActionWriter::ImplMap ( const Point rPt,
Point rDstPt 
) const
private

Definition at line 1842 of file svgwriter.cxx.

References OutputDevice::LogicToLogic(), maTargetMapMode, and mpVDev.

◆ ImplMap() [2/6]

Size & SVGActionWriter::ImplMap ( const Size rSz,
Size rDstSz 
) const
private

Definition at line 1849 of file svgwriter.cxx.

References OutputDevice::LogicToLogic(), maTargetMapMode, and mpVDev.

◆ ImplMap() [3/6]

tools::Polygon & SVGActionWriter::ImplMap ( const tools::Polygon rPoly,
tools::Polygon rDstPoly 
) const
private

◆ ImplMap() [4/6]

tools::PolyPolygon & SVGActionWriter::ImplMap ( const tools::PolyPolygon rPolyPoly,
tools::PolyPolygon rDstPolyPoly 
) const
private

◆ ImplMap() [5/6]

void SVGActionWriter::ImplMap ( const tools::Rectangle rRect,
tools::Rectangle rDstRect 
) const
private

◆ ImplMap() [6/6]

tools::Long SVGActionWriter::ImplMap ( sal_Int32  nVal) const
private

◆ ImplSetCorrectFontHeight()

vcl::Font SVGActionWriter::ImplSetCorrectFontHeight ( ) const
private

◆ ImplStartClipRegion()

void SVGActionWriter::ImplStartClipRegion ( sal_Int32  nClipPathId)
private

◆ ImplWriteActions()

void SVGActionWriter::ImplWriteActions ( const GDIMetaFile rMtf,
sal_uInt32  nWriteFlags,
const OUString &  aElementId,
const Reference< css::drawing::XShape > *  pXShape = nullptr,
const GDIMetaFile pTextEmbeddedBitmapMtf = nullptr 
)
private

Definition at line 3032 of file svgwriter.cxx.

References a, SvXMLExport::AddAttribute(), SVGAttributeWriter::AddPaintAttr(), aXMLAttrXLinkHRef, basegfx::Bevel, SvtGraphicStroke::capRound, SvtGraphicStroke::capSquare, tools::Rectangle::Center(), vcl::CLIPREGION, COL_TRANSPARENT(), tools::PolyPolygon::Count(), SVGTextWriter::createParagraphEnumeration(), SVGTextWriter::endTextShape(), equalsIgnoreAsciiCase(), Execute(), SvtGraphicFill::fillGradient, SvtGraphicFill::fillSolid, FRound(), GDIMetaFile::GetAction(), GDIMetaFile::GetActionSize(), vcl::Region::GetAsPolyPolygon(), MetaBmpAction::GetBitmap(), MetaBmpScaleAction::GetBitmap(), MetaBmpScalePartAction::GetBitmap(), MetaBmpExAction::GetBitmapEx(), MetaBmpExScaleAction::GetBitmapEx(), MetaBmpExScalePartAction::GetBitmapEx(), SvtGraphicStroke::getCapType(), MetaPixelAction::GetColor(), MetaCommentAction::GetComment(), SvtGraphicStroke::getDashArray(), MetaCommentAction::GetData(), MetaCommentAction::GetDataSize(), MetaBmpExScalePartAction::GetDestPoint(), MetaBmpScalePartAction::GetDestPoint(), MetaBmpExScalePartAction::GetDestSize(), MetaBmpScalePartAction::GetDestSize(), SvXMLExport::GetDocHandler(), MetaTextArrayAction::GetDXArray(), SvtGraphicStroke::getEndArrow(), MetaArcAction::GetEndPoint(), MetaChordAction::GetEndPoint(), MetaLineAction::GetEndPoint(), MetaPieAction::GetEndPoint(), SvtGraphicFill::getFillColor(), SvtGraphicFill::getFillType(), MetaPushAction::GetFlags(), MetaFloatTransparentAction::GetGDIMetaFile(), MetaFloatTransparentAction::GetGradient(), MetaGradientAction::GetGradient(), MetaGradientExAction::GetGradient(), SvtGraphicFill::getGradientType(), MetaHatchAction::GetHatch(), tools::Rectangle::GetHeight(), MetaRoundRectAction::GetHorzRound(), MetaStretchTextAction::GetIndex(), MetaTextAction::GetIndex(), MetaTextArrayAction::GetIndex(), SvtGraphicStroke::getJoinType(), MetaStretchTextAction::GetLen(), MetaTextAction::GetLen(), MetaTextArrayAction::GetLen(), MetaPolyLineAction::GetLineInfo(), SvtGraphicStroke::getPath(), SvtGraphicFill::getPath(), MetaBmpAction::GetPoint(), MetaBmpExAction::GetPoint(), MetaBmpExScaleAction::GetPoint(), MetaBmpScaleAction::GetPoint(), MetaEPSAction::GetPoint(), MetaFloatTransparentAction::GetPoint(), MetaPixelAction::GetPoint(), MetaPointAction::GetPoint(), MetaStretchTextAction::GetPoint(), MetaTextAction::GetPoint(), MetaTextArrayAction::GetPoint(), MetaPolyLineAction::GetPolygon(), MetaGradientExAction::GetPolyPolygon(), MetaHatchAction::GetPolyPolygon(), MetaPolyPolygonAction::GetPolyPolygon(), MetaTransparentAction::GetPolyPolygon(), SVGContextHandler::getPushFlags(), MetaArcAction::GetRect(), MetaChordAction::GetRect(), MetaEllipseAction::GetRect(), MetaGradientAction::GetRect(), MetaPieAction::GetRect(), MetaRoundRectAction::GetRect(), MetaTextRectAction::GetRect(), tools::Polygon::GetSize(), MetaBmpExScaleAction::GetSize(), MetaBmpScaleAction::GetSize(), MetaEPSAction::GetSize(), MetaFloatTransparentAction::GetSize(), Bitmap::GetSizePixel(), BitmapEx::GetSizePixel(), MetaBmpExScalePartAction::GetSrcPoint(), MetaBmpScalePartAction::GetSrcPoint(), MetaBmpExScalePartAction::GetSrcSize(), MetaBmpScalePartAction::GetSrcSize(), SvtGraphicStroke::getStartArrow(), MetaArcAction::GetStartPoint(), MetaChordAction::GetStartPoint(), MetaLineAction::GetStartPoint(), MetaPieAction::GetStartPoint(), SvtGraphicStroke::getStrokeWidth(), MetaEPSAction::GetSubstitute(), MetaFloatTransparentAction::getSVGTransparencyColorStops(), MetaStretchTextAction::GetText(), MetaTextAction::GetText(), MetaTextArrayAction::GetText(), MetaTextRectAction::GetText(), o3tl::getToken(), MetaTransparentAction::GetTransparence(), SvtGraphicFill::getTransparency(), SvtGraphicStroke::getTransparency(), MetaAction::GetType(), MetaRoundRectAction::GetVertRound(), tools::Rectangle::GetWidth(), MetaStretchTextAction::GetWidth(), ImplAddLineAttr(), ImplEndClipRegion(), ImplSetCorrectFontHeight(), ImplStartClipRegion(), ImplWriteBmp(), ImplWriteClipPath(), ImplWriteEllipse(), ImplWriteGradientEx(), ImplWriteLine(), ImplWriteMask(), ImplWritePattern(), ImplWritePolyPolygon(), ImplWriteRect(), ImplWriteShape(), ImplWriteText(), SVGTextWriter::isTextShapeStarted(), SVGExport::IsUsePositionedCharacters(), SvtGraphicStroke::joinBevel, SvtGraphicStroke::joinRound, SvtGraphicFill::Linear, maAttributeWriter, maContextHandler, mapCurShape, maTextWriter, mbClipAttrChanged, mbIsPlaceholderShape, basegfx::Miter, mnFlags, mpVDev, mrCurrentState, mrExport, nCount, SVGState::nRegionClipPathId, nType, pData, SVGContextHandler::popState(), SVGContextHandler::pushState(), SvtGraphicFill::Radial, SvStream::ReadDouble(), ReadSvtGraphicFill(), ReadSvtGraphicStroke(), SvStream::ReadUInt16(), SvStream::remainingSize(), basegfx::Round, SAL_WARN, Color::SetAlpha(), SVGAttributeWriter::SetFontAttr(), SVGTextWriter::setTextPosition(), SVGTextWriter::setTextProperties(), SVGTextWriter::setTextShape(), sPlaceholderTag, SVGTextWriter::startTextParagraph(), SVGTextWriter::startTextPosition(), SVGTextWriter::startTextShape(), sTiledBackgroundTag, sType, SVGWRITER_NO_SHAPE_COMMENTS, SVGWRITER_WRITE_FILL, SVGWRITER_WRITE_TEXT, tools::Rectangle::TopLeft(), SVGTextWriter::writeBitmapPlaceholder(), SVGTextWriter::writeTextPortion(), and XML_NAMESPACE_NONE.

Referenced by ImplWriteMask(), ImplWritePattern(), and WriteMetaFile().

◆ ImplWriteBmp()

void SVGActionWriter::ImplWriteBmp ( const BitmapEx rBmpEx,
const Point rPt,
const Size rSz,
const Point rSrcPt,
const Size rSrcSz,
const css::uno::Reference< css::drawing::XShape > *  pShape 
)
private

◆ ImplWriteClipPath()

void SVGActionWriter::ImplWriteClipPath ( const tools::PolyPolygon rPolyPoly)
private

◆ ImplWriteEllipse()

void SVGActionWriter::ImplWriteEllipse ( const Point rCenter,
tools::Long  nRadX,
tools::Long  nRadY 
)
private

◆ ImplWriteGradientEx()

void SVGActionWriter::ImplWriteGradientEx ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient,
sal_uInt32  nWriteFlags,
const basegfx::BColorStops pColorStops 
)
private

Definition at line 2317 of file svgwriter.cxx.

References Gradient::GetStyle(), ImplWriteGradientLinear(), and ImplWritePattern().

Referenced by ImplWriteActions(), and StartMask().

◆ ImplWriteGradientLinear()

void SVGActionWriter::ImplWriteGradientLinear ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient,
const basegfx::BColorStops pColorStops 
)
private

◆ ImplWriteGradientStop()

void SVGActionWriter::ImplWriteGradientStop ( const Color rColor,
double  fOffset 
)
private

◆ ImplWriteLine()

void SVGActionWriter::ImplWriteLine ( const Point rPt1,
const Point rPt2,
const Color pLineColor = nullptr 
)
private

◆ ImplWriteMask()

void SVGActionWriter::ImplWriteMask ( GDIMetaFile rMtf,
const Point rDestPt,
const Size rDestSize,
const Gradient rGradient,
sal_uInt32  nWriteFlags,
const basegfx::BColorStops pColorStops 
)
private

◆ ImplWritePattern()

void SVGActionWriter::ImplWritePattern ( const tools::PolyPolygon rPolyPoly,
const Hatch pHatch,
const Gradient pGradient,
sal_uInt32  nWriteFlags 
)
private

◆ ImplWritePolyPolygon()

void SVGActionWriter::ImplWritePolyPolygon ( const tools::PolyPolygon rPolyPoly,
bool  bLineOnly,
bool  bApplyMapping = true 
)
private

◆ ImplWriteRect()

void SVGActionWriter::ImplWriteRect ( const tools::Rectangle rRect,
tools::Long  nRadX = 0,
tools::Long  nRadY = 0 
)
private

◆ ImplWriteShape()

void SVGActionWriter::ImplWriteShape ( const SVGShapeDescriptor rShape)
private

◆ ImplWriteText() [1/2]

void SVGActionWriter::ImplWriteText ( const Point rPos,
const OUString &  rText,
KernArraySpan  pDXArray,
tools::Long  nWidth 
)
private

◆ ImplWriteText() [2/2]

void SVGActionWriter::ImplWriteText ( const Point rPos,
const OUString &  rText,
KernArraySpan  pDXArray,
tools::Long  nWidth,
Color  aTextColor 
)
private

◆ SetEmbeddedBitmapRefs()

void SVGActionWriter::SetEmbeddedBitmapRefs ( const MetaBitmapActionMap pEmbeddedBitmapsMap)

Definition at line 1972 of file svgwriter.cxx.

References mpEmbeddedBitmapsMap.

Referenced by SVGFilter::implExportDocument().

◆ SetPreviewMode()

void SVGActionWriter::SetPreviewMode ( bool  bState = true)
inline

Definition at line 381 of file svgwriter.hxx.

References mbIsPreview.

Referenced by SVGFilter::implExportDocument().

◆ StartMask()

void SVGActionWriter::StartMask ( const Point rDestPt,
const Size rDestSize,
const Gradient rGradient,
sal_uInt32  nWriteFlags,
const basegfx::BColorStops pColorStops,
OUString *  pTextStyle = nullptr 
)

◆ WriteMetaFile()

void SVGActionWriter::WriteMetaFile ( const Point rPos100thmm,
const Size rSize100thmm,
const GDIMetaFile rMtf,
sal_uInt32  nWriteFlags,
const OUString &  aElementId = "",
const Reference< css::drawing::XShape > *  pXShape = nullptr,
const GDIMetaFile pTextEmbeddedBitmapMtf = nullptr 
)

Member Data Documentation

◆ maAttributeWriter

SVGAttributeWriter SVGActionWriter::maAttributeWriter
private

Definition at line 315 of file svgwriter.hxx.

Referenced by ImplWriteActions(), ImplWriteShape(), and ImplWriteText().

◆ maContextHandler

SVGContextHandler SVGActionWriter::maContextHandler
private

Definition at line 313 of file svgwriter.hxx.

Referenced by ImplWriteActions().

◆ mapCurShape

::std::unique_ptr< SVGShapeDescriptor > SVGActionWriter::mapCurShape
private

Definition at line 311 of file svgwriter.hxx.

Referenced by ImplWriteActions(), and WriteMetaFile().

◆ maTargetMapMode

MapMode SVGActionWriter::maTargetMapMode
private

Definition at line 318 of file svgwriter.hxx.

Referenced by ImplMap(), ImplWriteBmp(), and SVGActionWriter().

◆ maTextWriter

SVGTextWriter SVGActionWriter::maTextWriter
private

Definition at line 316 of file svgwriter.hxx.

Referenced by ImplWriteActions(), ImplWriteMask(), SVGActionWriter(), and WriteMetaFile().

◆ mbClipAttrChanged

bool SVGActionWriter::mbClipAttrChanged
private

Definition at line 319 of file svgwriter.hxx.

Referenced by ImplWriteActions().

◆ mbIsPlaceholderShape

bool SVGActionWriter::mbIsPlaceholderShape
private

Definition at line 320 of file svgwriter.hxx.

Referenced by ImplWriteActions(), and ImplWriteText().

◆ mbIsPreview

bool SVGActionWriter::mbIsPreview
private

Definition at line 322 of file svgwriter.hxx.

Referenced by ImplWriteBmp(), and SetPreviewMode().

◆ mnCurClipPathId

sal_Int32 SVGActionWriter::mnCurClipPathId
private

Definition at line 309 of file svgwriter.hxx.

Referenced by ImplCreateClipPathDef(), and ImplWriteClipPath().

◆ mnCurGradientId

sal_Int32 SVGActionWriter::mnCurGradientId
private

Definition at line 306 of file svgwriter.hxx.

Referenced by ImplWriteGradientLinear().

◆ mnCurMaskId

sal_Int32 SVGActionWriter::mnCurMaskId
private

Definition at line 307 of file svgwriter.hxx.

Referenced by StartMask().

◆ mnCurPatternId

sal_Int32 SVGActionWriter::mnCurPatternId
private

Definition at line 308 of file svgwriter.hxx.

Referenced by ImplWritePattern().

◆ mpCurrentClipRegionElem

::std::unique_ptr< SvXMLElementExport > SVGActionWriter::mpCurrentClipRegionElem
private

Definition at line 310 of file svgwriter.hxx.

Referenced by ImplEndClipRegion(), and ImplStartClipRegion().

◆ mpEmbeddedBitmapsMap

const MetaBitmapActionMap* SVGActionWriter::mpEmbeddedBitmapsMap
private

Definition at line 321 of file svgwriter.hxx.

Referenced by ImplWriteBmp(), and SetEmbeddedBitmapRefs().

◆ mpVDev

VclPtr<VirtualDevice> SVGActionWriter::mpVDev
private

◆ mrCurrentState

SVGState& SVGActionWriter::mrCurrentState
private

Definition at line 314 of file svgwriter.hxx.

Referenced by ImplWriteActions(), and ImplWriteClipPath().

◆ mrExport

SVGExport& SVGActionWriter::mrExport
private

The documentation for this class was generated from the following files: