VSDContentCollector.h
Go to the documentation of this file.
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* This file is part of the libvisio project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef VSDCONTENTCOLLECTOR_H
#define VSDCONTENTCOLLECTOR_H
#include <locale.h>
#include <sstream>
#include <string>
#include <cmath>
#include <map>
#include <memory>
#include <list>
#include <vector>
#include "libvisio_utils.h"
#include "VSDCollector.h"
#include "VSDParser.h"
#include "VSDOutputElementList.h"
#include "VSDStyles.h"
#include "VSDPages.h"
namespace libvisio
{
class VSDContentCollector : public VSDCollector
{
public:
VSDContentCollector(
librevenge::RVNGDrawingInterface *painter,
std::vector<std::map<unsigned, XForm> > &groupXFormsSequence,
std::vector<std::map<unsigned, unsigned> > &groupMembershipsSequence,
std::vector<std::list<unsigned> > &documentPageShapeOrders,
VSDStyles &styles, VSDStencils &stencils, const std::optional<unsigned> &varColInd,
const std::optional<unsigned> &varStyInd
);
void collectDocumentTheme(const VSDXTheme *theme) override;
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override;
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override;
void collectOLEList(unsigned id, unsigned level) override;
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override;
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override;
void collectLine(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) override;
void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
const std::optional<long> &qsFc, const std::optional<long> &qsSc, const std::optional<long> &qsLm) override;
void collectFillAndShadow(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
const std::optional<Colour> &shfgc) override;
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override;
void collectMoveTo(unsigned id, unsigned level, double x, double y) override;
void collectLineTo(unsigned id, unsigned level, double x, double y) override;
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override;
void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree,
const std::vector<std::pair<double, double> > &ctrlPnts, const std::vector<double> &kntVec, const std::vector<double> &weights) override;
void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID) override;
void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, const NURBSData &data) override;
void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType,
const std::vector<std::pair<double, double> > &points) override;
void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned dataID) override;
void collectPolylineTo(unsigned id, unsigned level, double x, double y, const PolylineData &data) override;
void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot,
std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights) override;
void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, std::vector<std::pair<double, double> > points) override;
void collectXFormData(unsigned level, const XForm &xform) override;
void collectTxtXForm(unsigned level, const XForm &txtxform) override;
void collectShapesOrder(unsigned id, unsigned level, const std::vector<unsigned> &shapeIds) override;
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override;
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale,
unsigned char drawingScaleUnit, const std::optional<unsigned> variationColorIndex, const std::optional<unsigned> variationStyleIndex) override;
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override;
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) override;
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override;
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override;
void collectSplineEnd() override;
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override;
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override;
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override;
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override;
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override;
void collectUnhandledChunk(unsigned id, unsigned level) override;
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override;
void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) override;
void collectDefaultCharStyle(unsigned charCount, const std::optional<VSDName> &font, const std::optional<Colour> &fontColour,
const std::optional<double> &fontSize, const std::optional<bool> &bold, const std::optional<bool> &italic,
const std::optional<bool> &underline, const std::optional<bool> &doubleunderline, const std::optional<bool> &strikeout,
const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps, const std::optional<bool> &initcaps,
const std::optional<bool> &smallcaps, const std::optional<bool> &superscript, const std::optional<bool> &subscript,
const std::optional<double> &scaleWidth) override;
void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr, const std::optional<VSDName> &bulletFont,
const std::optional<double> &bulletFontSize, const std::optional<double> &textPosAfterBullet,
const std::optional<unsigned> &flags) override;
void collectDefaultParaStyle(unsigned charCount, const std::optional<double> &indFirst, const std::optional<double> &indLeft,
const std::optional<double> &indRight, const std::optional<double> &spLine, const std::optional<double> &spBefore,
const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) override;
void collectTextBlock(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
const std::optional<unsigned char> &textDirection) override;
void collectNameList(unsigned id, unsigned level) override;
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override;
void collectPageSheet(unsigned id, unsigned level) override;
void collectMisc(unsigned level, const VSDMisc &misc) override;
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override;
void collectLayerMem(unsigned level, const VSDName &layerMem) override;
void collectTabsDataList(unsigned level, const std::map<unsigned, VSDTabSet> &tabSets) override;
// Style collectors
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override;
void collectLineStyle(unsigned level, const std::optional<double> &strokeWidth, const std::optional<Colour> &c, const std::optional<unsigned char> &linePattern,
const std::optional<unsigned char> &startMarker, const std::optional<unsigned char> &endMarker,
const std::optional<unsigned char> &lineCap, const std::optional<double> &rounding,
const std::optional<long> &qsLineColour, const std::optional<long> &qsLineMatrix) override;
void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
const std::optional<Colour> &shfgc, const std::optional<double> &shadowOffsetX, const std::optional<double> &shadowOffsetY,
const std::optional<long> &qsFillColour, const std::optional<long> &qsShadowColour,
const std::optional<long> &qsFillMatrix) override;
void collectFillStyle(unsigned level, const std::optional<Colour> &colourFG, const std::optional<Colour> &colourBG,
const std::optional<unsigned char> &fillPattern, const std::optional<double> &fillFGTransparency,
const std::optional<double> &fillBGTransparency, const std::optional<unsigned char> &shadowPattern,
const std::optional<Colour> &shfgc) override;
void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<VSDName> &font,
const std::optional<Colour> &fontColour, const std::optional<double> &fontSize, const std::optional<bool> &bold,
const std::optional<bool> &italic, const std::optional<bool> &underline, const std::optional<bool> &doubleunderline,
const std::optional<bool> &strikeout, const std::optional<bool> &doublestrikeout, const std::optional<bool> &allcaps,
const std::optional<bool> &initcaps, const std::optional<bool> &smallcaps, const std::optional<bool> &superscript,
const std::optional<bool> &subscript, const std::optional<double> &scaleWidth) override;
void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional<double> &indFirst,
const std::optional<double> &indLeft, const std::optional<double> &indRight, const std::optional<double> &spLine,
const std::optional<double> &spBefore, const std::optional<double> &spAfter, const std::optional<unsigned char> &align,
const std::optional<unsigned char> &bullet, const std::optional<VSDName> &bulletStr,
const std::optional<VSDName> &bulletFont, const std::optional<double> &bulletFontSize,
const std::optional<double> &textPosAfterBullet, const std::optional<unsigned> &flags) override;
void collectTextBlockStyle(unsigned level, const std::optional<double> &leftMargin, const std::optional<double> &rightMargin,
const std::optional<double> &topMargin, const std::optional<double> &bottomMargin,
const std::optional<unsigned char> &verticalAlign, const std::optional<bool> &isBgFilled,
const std::optional<Colour> &bgColour, const std::optional<double> &defaultTabStop,
const std::optional<unsigned char> &textDirection) override;
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override;
// Field list
void collectFieldList(unsigned id, unsigned level) override;
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override;
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override;
void startPage(unsigned pageId) override;
void endPage() override;
void endPages() override;
private:
VSDContentCollector(const VSDContentCollector &);
VSDContentCollector &operator=(const VSDContentCollector &);
librevenge::RVNGDrawingInterface *m_painter;
void applyXForm(double &x, double &y, const XForm &xform);
void transformPoint(double &x, double &y, XForm *txtxform = nullptr);
void transformAngle(double &angle, XForm *txtxform = nullptr);
void transformFlips(bool &flipX, bool &flipY);
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector<double> &knotVector);
void _flushShape();
void _flushCurrentPath(unsigned id);
void _flushText();
void _flushCurrentForeignData();
void _flushCurrentPage();
void _handleLevelChange(unsigned level);
bool _isDefaultShapeFormat();
void _handleForeignData(const librevenge::RVNGBinaryData &data);
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps);
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps);
void _applyLinePattern();
const char *_linePropertiesMarkerViewbox(unsigned marker);
const char *_linePropertiesMarkerPath(unsigned marker);
double _linePropertiesMarkerScale(unsigned marker);
void appendCharacters(librevenge::RVNGString &text, const std::vector<unsigned char> &characters, TextFormat format);
void appendCharacters(librevenge::RVNGString &text, const std::vector<unsigned char> &characters);
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format);
bool parseFormatId(const char *formatString, unsigned short &result);
void _appendField(librevenge::RVNGString &text);
// NURBS processing functions
bool _isUniform(const std::vector<double> &weights) const;
void _generatePolylineFromNURBS(unsigned degree, const std::vector<std::pair<double, double> > &controlPoints,
const std::vector<double> &knotVector, const std::vector<double> &weights);
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector<std::pair<double, double> > &controlPoints,
const std::vector<double> &knotVector);
void _outputCubicBezierSegment(const std::vector<std::pair<double, double> > &points);
void _outputQuadraticBezierSegment(const std::vector<std::pair<double, double> > &points);
void _outputLinearBezierSegment(const std::vector<std::pair<double, double> > &points);
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList);
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle &paraStyle);
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet);
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style);
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet);
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style);
void _convertToPath(const std::vector<librevenge::RVNGPropertyList> &segmentVector,
librevenge::RVNGPropertyListVector &path, double rounding);
bool m_isPageStarted;
double m_pageWidth;
double m_pageHeight;
double m_shadowOffsetX;
double m_shadowOffsetY;
double m_scale;
unsigned char m_defaultDrawingUnit;
double m_x;
double m_y;
double m_originalX;
double m_originalY;
XForm m_xform;
std::unique_ptr<XForm> m_txtxform;
VSDMisc m_misc;
std::vector<librevenge::RVNGPropertyList> m_currentFillGeometry;
std::vector<librevenge::RVNGPropertyList> m_currentLineGeometry;
std::map<unsigned, XForm> *m_groupXForms;
librevenge::RVNGBinaryData m_currentForeignData;
librevenge::RVNGBinaryData m_currentOLEData;
librevenge::RVNGPropertyList m_currentForeignProps;
unsigned m_currentShapeId;
unsigned m_parentShapeId;
unsigned m_foreignType;
unsigned m_foreignFormat;
double m_foreignOffsetX;
double m_foreignOffsetY;
double m_foreignWidth;
double m_foreignHeight;
bool m_noLine;
bool m_noFill;
bool m_noShow;
std::map<unsigned short, VSDFont> m_fonts;
unsigned m_currentLevel;
bool m_isShapeStarted;
std::vector<std::map<unsigned, XForm> > &m_groupXFormsSequence;
std::vector<std::map<unsigned, unsigned> > &m_groupMembershipsSequence;
std::vector<std::map<unsigned, unsigned> >::iterator m_groupMemberships;
unsigned m_currentPageNumber;
VSDOutputElementList *m_shapeOutputDrawing, *m_shapeOutputText;
std::map<unsigned, VSDOutputElementList> m_pageOutputDrawing;
std::map<unsigned, VSDOutputElementList> m_pageOutputText;
std::vector<std::list<unsigned> > &m_documentPageShapeOrders;
std::vector<std::list<unsigned> >::iterator m_pageShapeOrder;
bool m_isFirstGeometry;
std::map<unsigned, NURBSData> m_NURBSData;
std::map<unsigned, PolylineData> m_polylineData;
libvisio::VSDName m_currentText;
std::map<unsigned, librevenge::RVNGString> m_names, m_stencilNames;
std::vector<librevenge::RVNGString> m_fields;
VSDFieldList m_stencilFields;
unsigned m_fieldIndex;
std::vector<VSDCharStyle> m_charFormats;
std::vector<VSDParaStyle> m_paraFormats;
VSDLineStyle m_lineStyle;
VSDFillStyle m_fillStyle;
VSDTextBlockStyle m_textBlockStyle;
VSDCharStyle m_defaultCharStyle;
VSDParaStyle m_defaultParaStyle;
unsigned m_currentStyleSheet;
VSDStyles m_styles;
std::optional<unsigned> m_variationColorIndex;
std::optional<unsigned> m_variationStyleIndex;
VSDStencils m_stencils;
const VSDShape *m_stencilShape;
bool m_isStencilStarted;
unsigned m_currentGeometryCount;
unsigned m_backgroundPageID;
unsigned m_currentPageID;
VSDPage m_currentPage;
VSDPages m_pages;
VSDLayerList m_layerList;
std::vector<std::pair<double, double> > m_splineControlPoints;
std::vector<double> m_splineKnotVector;
double m_splineX, m_splineY;
double m_splineLastKnot;
unsigned m_splineDegree;
unsigned m_splineLevel;
unsigned m_currentShapeLevel;
bool m_isBackgroundPage;
VSDLayerList m_currentLayerList;
std::vector<unsigned> m_currentLayerMem;
std::vector<VSDTabSet> m_tabSets;
const VSDXTheme *m_documentTheme;
librevenge::RVNGString m_currentShapeType;
};
} // namespace libvisio
#endif /* VSDCONTENTCOLLECTOR_H */
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
VSDCollector.h
VSDOutputElementList.h
VSDPages.h
VSDParser.h
VSDStyles.h
libvisio::VSDCollector::VSDCollector
VSDCollector()
Definition VSDCollector.h:23
libvisio::VSDContentCollector::_flushText
void _flushText()
Definition VSDContentCollector.cpp:669
libvisio::VSDContentCollector::_generatePolylineFromNURBS
void _generatePolylineFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector, const std::vector< double > &weights)
Definition VSDContentCollector.cpp:2131
libvisio::VSDContentCollector::_flushCurrentPage
void _flushCurrentPage()
Definition VSDContentCollector.cpp:1336
libvisio::VSDContentCollector::m_splineDegree
unsigned m_splineDegree
Definition VSDContentCollector.h:323
libvisio::VSDContentCollector::collectForeignData
void collectForeignData(unsigned level, const librevenge::RVNGBinaryData &binaryData) override
Definition VSDContentCollector.cpp:1710
libvisio::VSDContentCollector::m_currentOLEData
librevenge::RVNGBinaryData m_currentOLEData
Definition VSDContentCollector.h:256
libvisio::VSDContentCollector::m_lineStyle
VSDLineStyle m_lineStyle
Definition VSDContentCollector.h:293
libvisio::VSDContentCollector::collectRelEllipticalArcTo
void collectRelEllipticalArcTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1634
libvisio::VSDContentCollector::m_stencilShape
const VSDShape * m_stencilShape
Definition VSDContentCollector.h:307
libvisio::VSDContentCollector::collectInfiniteLine
void collectInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2) override
Definition VSDContentCollector.cpp:1515
libvisio::VSDContentCollector::_outputQuadraticBezierSegment
void _outputQuadraticBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1977
libvisio::VSDContentCollector::m_currentStyleSheet
unsigned m_currentStyleSheet
Definition VSDContentCollector.h:300
libvisio::VSDContentCollector::m_isPageStarted
bool m_isPageStarted
Definition VSDContentCollector.h:238
libvisio::VSDContentCollector::m_foreignOffsetY
double m_foreignOffsetY
Definition VSDContentCollector.h:263
libvisio::VSDContentCollector::_linePropertiesMarkerViewbox
const char * _linePropertiesMarkerViewbox(unsigned marker)
Definition VSDContentCollector.cpp:152
libvisio::VSDContentCollector::m_currentForeignData
librevenge::RVNGBinaryData m_currentForeignData
Definition VSDContentCollector.h:255
libvisio::VSDContentCollector::m_currentFillGeometry
std::vector< librevenge::RVNGPropertyList > m_currentFillGeometry
Definition VSDContentCollector.h:252
libvisio::VSDContentCollector::m_currentLayerList
VSDLayerList m_currentLayerList
Definition VSDContentCollector.h:328
libvisio::VSDContentCollector::m_pageHeight
double m_pageHeight
Definition VSDContentCollector.h:240
libvisio::VSDContentCollector::m_shapeOutputDrawing
VSDOutputElementList * m_shapeOutputDrawing
Definition VSDContentCollector.h:276
libvisio::VSDContentCollector::m_foreignFormat
unsigned m_foreignFormat
Definition VSDContentCollector.h:261
libvisio::VSDContentCollector::collectLine
void collectLine(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition VSDContentCollector.cpp:1682
libvisio::VSDContentCollector::m_pageOutputText
std::map< unsigned, VSDOutputElementList > m_pageOutputText
Definition VSDContentCollector.h:278
libvisio::VSDContentCollector::m_splineLastKnot
double m_splineLastKnot
Definition VSDContentCollector.h:322
libvisio::VSDContentCollector::operator=
VSDContentCollector & operator=(const VSDContentCollector &)
libvisio::VSDContentCollector::transformFlips
void transformFlips(bool &flipX, bool &flipY)
Definition VSDContentCollector.cpp:2512
libvisio::VSDContentCollector::m_currentLineGeometry
std::vector< librevenge::RVNGPropertyList > m_currentLineGeometry
Definition VSDContentCollector.h:253
libvisio::VSDContentCollector::m_textBlockStyle
VSDTextBlockStyle m_textBlockStyle
Definition VSDContentCollector.h:295
libvisio::VSDContentCollector::m_styles
VSDStyles m_styles
Definition VSDContentCollector.h:301
libvisio::VSDContentCollector::m_groupMembershipsSequence
std::vector< std::map< unsigned, unsigned > > & m_groupMembershipsSequence
Definition VSDContentCollector.h:273
libvisio::VSDContentCollector::m_fonts
std::map< unsigned short, VSDFont > m_fonts
Definition VSDContentCollector.h:269
libvisio::VSDContentCollector::m_currentPage
VSDPage m_currentPage
Definition VSDContentCollector.h:314
libvisio::VSDContentCollector::_linePropertiesMarkerScale
double _linePropertiesMarkerScale(unsigned marker)
Definition VSDContentCollector.cpp:301
libvisio::VSDContentCollector::collectSplineEnd
void collectSplineEnd() override
Definition VSDContentCollector.cpp:2753
libvisio::VSDContentCollector::_outputLinearBezierSegment
void _outputLinearBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:2000
libvisio::VSDContentCollector::m_shadowOffsetY
double m_shadowOffsetY
Definition VSDContentCollector.h:242
libvisio::VSDContentCollector::_convertDataToString
void _convertDataToString(librevenge::RVNGString &result, const librevenge::RVNGBinaryData &data, TextFormat format)
Definition VSDContentCollector.cpp:2859
libvisio::VSDContentCollector::m_splineY
double m_splineY
Definition VSDContentCollector.h:321
libvisio::VSDContentCollector::collectStyleSheet
void collectStyleSheet(unsigned id, unsigned level, unsigned parentLineStyle, unsigned parentFillStyle, unsigned parentTextStyle) override
Definition VSDContentCollector.cpp:2884
libvisio::VSDContentCollector::m_splineLevel
unsigned m_splineLevel
Definition VSDContentCollector.h:324
libvisio::VSDContentCollector::m_NURBSData
std::map< unsigned, NURBSData > m_NURBSData
Definition VSDContentCollector.h:283
libvisio::VSDContentCollector::m_y
double m_y
Definition VSDContentCollector.h:246
libvisio::VSDContentCollector::transformPoint
void transformPoint(double &x, double &y, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2450
libvisio::VSDContentCollector::_isDefaultShapeFormat
bool _isDefaultShapeFormat()
Definition VSDContentCollector.cpp:3594
libvisio::VSDContentCollector::m_splineControlPoints
std::vector< std::pair< double, double > > m_splineControlPoints
Definition VSDContentCollector.h:319
libvisio::VSDContentCollector::m_stencilFields
VSDFieldList m_stencilFields
Definition VSDContentCollector.h:288
libvisio::VSDContentCollector::collectMetaData
void collectMetaData(const librevenge::RVNGPropertyList &metaData) override
Definition VSDContentCollector.cpp:3611
libvisio::VSDContentCollector::collectLayerMem
void collectLayerMem(unsigned level, const VSDName &layerMem) override
Definition VSDContentCollector.cpp:3848
libvisio::VSDContentCollector::m_defaultParaStyle
VSDParaStyle m_defaultParaStyle
Definition VSDContentCollector.h:298
libvisio::VSDContentCollector::m_noFill
bool m_noFill
Definition VSDContentCollector.h:267
libvisio::VSDContentCollector::m_shadowOffsetX
double m_shadowOffsetX
Definition VSDContentCollector.h:241
libvisio::VSDContentCollector::m_currentLevel
unsigned m_currentLevel
Definition VSDContentCollector.h:270
libvisio::VSDContentCollector::collectShapeData
void collectShapeData(unsigned id, unsigned level, unsigned char xType, unsigned char yType, unsigned degree, double lastKnot, std::vector< std::pair< double, double > > controlPoints, std::vector< double > knotVector, std::vector< double > weights) override
Definition VSDContentCollector.cpp:2392
libvisio::VSDContentCollector::collectDocumentTheme
void collectDocumentTheme(const VSDXTheme *theme) override
Definition VSDContentCollector.cpp:1382
libvisio::VSDContentCollector::m_pageOutputDrawing
std::map< unsigned, VSDOutputElementList > m_pageOutputDrawing
Definition VSDContentCollector.h:277
libvisio::VSDContentCollector::_convertToPath
void _convertToPath(const std::vector< librevenge::RVNGPropertyList > &segmentVector, librevenge::RVNGPropertyListVector &path, double rounding)
Definition VSDContentCollector.cpp:554
libvisio::VSDContentCollector::m_fields
std::vector< librevenge::RVNGString > m_fields
Definition VSDContentCollector.h:287
libvisio::VSDContentCollector::VSDContentCollector
VSDContentCollector(librevenge::RVNGDrawingInterface *painter, std::vector< std::map< unsigned, XForm > > &groupXFormsSequence, std::vector< std::map< unsigned, unsigned > > &groupMembershipsSequence, std::vector< std::list< unsigned > > &documentPageShapeOrders, VSDStyles &styles, VSDStencils &stencils, const std::optional< unsigned > &varColInd, const std::optional< unsigned > &varStyInd)
Definition VSDContentCollector.cpp:118
libvisio::VSDContentCollector::m_fillStyle
VSDFillStyle m_fillStyle
Definition VSDContentCollector.h:294
libvisio::VSDContentCollector::m_isBackgroundPage
bool m_isBackgroundPage
Definition VSDContentCollector.h:326
libvisio::VSDContentCollector::collectRelLineTo
void collectRelLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1643
libvisio::VSDContentCollector::collectUnhandledChunk
void collectUnhandledChunk(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2727
libvisio::VSDContentCollector::m_splineKnotVector
std::vector< double > m_splineKnotVector
Definition VSDContentCollector.h:320
libvisio::VSDContentCollector::m_layerList
VSDLayerList m_layerList
Definition VSDContentCollector.h:317
libvisio::VSDContentCollector::collectTextField
void collectTextField(unsigned id, unsigned level, int nameId, int formatStringId) override
Definition VSDContentCollector.cpp:3501
libvisio::VSDContentCollector::_linePropertiesMarkerPath
const char * _linePropertiesMarkerPath(unsigned marker)
Definition VSDContentCollector.cpp:194
libvisio::VSDContentCollector::m_variationStyleIndex
std::optional< unsigned > m_variationStyleIndex
Definition VSDContentCollector.h:304
libvisio::VSDContentCollector::m_defaultDrawingUnit
unsigned char m_defaultDrawingUnit
Definition VSDContentCollector.h:244
libvisio::VSDContentCollector::m_x
double m_x
Definition VSDContentCollector.h:245
libvisio::VSDContentCollector::_outputCubicBezierSegment
void _outputCubicBezierSegment(const std::vector< std::pair< double, double > > &points)
Definition VSDContentCollector.cpp:1949
libvisio::VSDContentCollector::m_foreignType
unsigned m_foreignType
Definition VSDContentCollector.h:260
libvisio::VSDContentCollector::_fillParagraphProperties
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, const VSDParaStyle &style)
Definition VSDContentCollector.cpp:1220
libvisio::VSDContentCollector::m_foreignWidth
double m_foreignWidth
Definition VSDContentCollector.h:264
libvisio::VSDContentCollector::_generateBezierSegmentsFromNURBS
void _generateBezierSegmentsFromNURBS(unsigned degree, const std::vector< std::pair< double, double > > &controlPoints, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2018
libvisio::VSDContentCollector::_flushShape
void _flushShape()
Definition VSDContentCollector.cpp:320
libvisio::VSDContentCollector::collectPolylineTo
void collectPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, const std::vector< std::pair< double, double > > &points) override
Definition VSDContentCollector.cpp:2311
libvisio::VSDContentCollector::collectXFormData
void collectXFormData(unsigned level, const XForm &xform) override
Definition VSDContentCollector.cpp:2417
libvisio::VSDContentCollector::collectParaIX
void collectParaIX(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2780
libvisio::VSDContentCollector::_handleForeignData
void _handleForeignData(const librevenge::RVNGBinaryData &data)
Definition VSDContentCollector.cpp:1730
libvisio::VSDContentCollector::m_parentShapeId
unsigned m_parentShapeId
Definition VSDContentCollector.h:259
libvisio::VSDContentCollector::m_polylineData
std::map< unsigned, PolylineData > m_polylineData
Definition VSDContentCollector.h:284
libvisio::VSDContentCollector::collectNURBSTo
void collectNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree, const std::vector< std::pair< double, double > > &ctrlPnts, const std::vector< double > &kntVec, const std::vector< double > &weights) override
Definition VSDContentCollector.cpp:2188
libvisio::VSDContentCollector::applyXForm
void applyXForm(double &x, double &y, const XForm &xform)
Definition VSDContentCollector.cpp:2431
libvisio::VSDContentCollector::m_fieldIndex
unsigned m_fieldIndex
Definition VSDContentCollector.h:289
libvisio::VSDContentCollector::collectPageSheet
void collectPageSheet(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2877
libvisio::VSDContentCollector::_fillTabSet
void _fillTabSet(librevenge::RVNGPropertyList &propList, const VSDTabSet &tabSet)
Definition VSDContentCollector.cpp:1259
libvisio::VSDContentCollector::m_noLine
bool m_noLine
Definition VSDContentCollector.h:266
libvisio::VSDContentCollector::m_groupXFormsSequence
std::vector< std::map< unsigned, XForm > > & m_groupXFormsSequence
Definition VSDContentCollector.h:272
libvisio::VSDContentCollector::collectPage
void collectPage(unsigned id, unsigned level, unsigned backgroundPageID, bool isBackgroundPage, const VSDName &pageName) override
Definition VSDContentCollector.cpp:2587
libvisio::VSDContentCollector::collectRelMoveTo
void collectRelMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1650
libvisio::VSDContentCollector::collectEllipse
void collectEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop) override
Definition VSDContentCollector.cpp:1462
libvisio::VSDContentCollector::collectMoveTo
void collectMoveTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1864
libvisio::VSDContentCollector::collectTxtXForm
void collectTxtXForm(unsigned level, const XForm &txtxform) override
Definition VSDContentCollector.cpp:2423
libvisio::VSDContentCollector::m_isFirstGeometry
bool m_isFirstGeometry
Definition VSDContentCollector.h:281
libvisio::VSDContentCollector::m_misc
VSDMisc m_misc
Definition VSDContentCollector.h:251
libvisio::VSDContentCollector::VSDContentCollector
VSDContentCollector(const VSDContentCollector &)
libvisio::VSDContentCollector::m_txtxform
std::unique_ptr< XForm > m_txtxform
Definition VSDContentCollector.h:250
libvisio::VSDContentCollector::collectFieldList
void collectFieldList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:3495
libvisio::VSDContentCollector::_fillAndShadowProperties
void _fillAndShadowProperties(const VSDFillStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:3191
libvisio::VSDContentCollector::m_pages
VSDPages m_pages
Definition VSDContentCollector.h:315
libvisio::VSDContentCollector::collectText
void collectText(unsigned level, const librevenge::RVNGBinaryData &textStream, TextFormat format) override
Definition VSDContentCollector.cpp:2771
libvisio::VSDContentCollector::m_groupXForms
std::map< unsigned, XForm > * m_groupXForms
Definition VSDContentCollector.h:254
libvisio::VSDContentCollector::m_noShow
bool m_noShow
Definition VSDContentCollector.h:268
libvisio::VSDContentCollector::m_paraFormats
std::vector< VSDParaStyle > m_paraFormats
Definition VSDContentCollector.h:291
libvisio::VSDContentCollector::m_currentShapeLevel
unsigned m_currentShapeLevel
Definition VSDContentCollector.h:325
libvisio::VSDContentCollector::collectOLEData
void collectOLEData(unsigned id, unsigned level, const librevenge::RVNGBinaryData &oleData) override
Definition VSDContentCollector.cpp:1724
libvisio::VSDContentCollector::m_xform
XForm m_xform
Definition VSDContentCollector.h:249
libvisio::VSDContentCollector::m_currentGeometryCount
unsigned m_currentGeometryCount
Definition VSDContentCollector.h:310
libvisio::VSDContentCollector::m_currentForeignProps
librevenge::RVNGPropertyList m_currentForeignProps
Definition VSDContentCollector.h:257
libvisio::VSDContentCollector::_fillCharProperties
void _fillCharProperties(librevenge::RVNGPropertyList &propList, const VSDCharStyle &style)
Definition VSDContentCollector.cpp:1185
libvisio::VSDContentCollector::_handleLevelChange
void _handleLevelChange(unsigned level)
Definition VSDContentCollector.cpp:3554
libvisio::VSDContentCollector::m_shapeOutputText
VSDOutputElementList * m_shapeOutputText
Definition VSDContentCollector.h:276
libvisio::VSDContentCollector::_appendVisibleAndPrintable
void _appendVisibleAndPrintable(librevenge::RVNGPropertyList &propList)
Definition VSDContentCollector.cpp:3876
libvisio::VSDContentCollector::_flushCurrentPath
void _flushCurrentPath(unsigned id)
Definition VSDContentCollector.cpp:384
libvisio::VSDContentCollector::appendCharacters
void appendCharacters(librevenge::RVNGString &text, const std::vector< unsigned char > &characters, TextFormat format)
Definition VSDContentCollector.cpp:3683
libvisio::VSDContentCollector::m_names
std::map< unsigned, librevenge::RVNGString > m_names
Definition VSDContentCollector.h:286
libvisio::VSDContentCollector::transformAngle
void transformAngle(double &angle, XForm *txtxform=nullptr)
Definition VSDContentCollector.cpp:2493
libvisio::VSDContentCollector::collectShape
void collectShape(unsigned id, unsigned level, unsigned parent, unsigned masterPage, unsigned masterShape, unsigned lineStyle, unsigned fillStyle, unsigned textStyle, const VSDName &aShapeType) override
Definition VSDContentCollector.cpp:2597
libvisio::VSDContentCollector::collectLineStyle
void collectLineStyle(unsigned level, const std::optional< double > &strokeWidth, const std::optional< Colour > &c, const std::optional< unsigned char > &linePattern, const std::optional< unsigned char > &startMarker, const std::optional< unsigned char > &endMarker, const std::optional< unsigned char > &lineCap, const std::optional< double > &rounding, const std::optional< long > &qsLineColour, const std::optional< long > &qsLineMatrix) override
Definition VSDContentCollector.cpp:2895
libvisio::VSDContentCollector::collectNameList
void collectNameList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:2852
libvisio::VSDContentCollector::collectDefaultParaStyle
void collectDefaultParaStyle(unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2795
libvisio::VSDContentCollector::_NURBSBasis
double _NURBSBasis(unsigned knot, unsigned degree, double point, const std::vector< double > &knotVector)
Definition VSDContentCollector.cpp:2108
libvisio::VSDContentCollector::collectRelQuadBezTo
void collectRelQuadBezTo(unsigned id, unsigned level, double x, double y, double a, double b) override
Definition VSDContentCollector.cpp:1657
libvisio::VSDContentCollector::m_currentLayerMem
std::vector< unsigned > m_currentLayerMem
Definition VSDContentCollector.h:329
libvisio::VSDContentCollector::collectNumericField
void collectNumericField(unsigned id, unsigned level, unsigned short format, unsigned short cellType, double number, int formatStringId) override
Definition VSDContentCollector.cpp:3524
libvisio::VSDContentCollector::m_defaultCharStyle
VSDCharStyle m_defaultCharStyle
Definition VSDContentCollector.h:297
libvisio::VSDContentCollector::m_variationColorIndex
std::optional< unsigned > m_variationColorIndex
Definition VSDContentCollector.h:303
libvisio::VSDContentCollector::_isUniform
bool _isUniform(const std::vector< double > &weights) const
Definition VSDContentCollector.cpp:2171
libvisio::VSDContentCollector::collectCharIX
void collectCharIX(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2807
libvisio::VSDContentCollector::m_currentPageID
unsigned m_currentPageID
Definition VSDContentCollector.h:313
libvisio::VSDContentCollector::collectTextBlock
void collectTextBlock(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition VSDContentCollector.cpp:2843
libvisio::VSDContentCollector::collectMisc
void collectMisc(unsigned level, const VSDMisc &misc) override
Definition VSDContentCollector.cpp:3842
libvisio::VSDContentCollector::collectLayer
void collectLayer(unsigned id, unsigned level, const VSDLayer &layer) override
Definition VSDContentCollector.cpp:3870
libvisio::VSDContentCollector::m_isShapeStarted
bool m_isShapeStarted
Definition VSDContentCollector.h:271
libvisio::VSDContentCollector::parseFormatId
bool parseFormatId(const char *formatString, unsigned short &result)
Definition VSDContentCollector.cpp:3662
libvisio::VSDContentCollector::collectPageProps
void collectPageProps(unsigned id, unsigned level, double pageWidth, double pageHeight, double shadowOffsetX, double shadowOffsetY, double scale, unsigned char drawingScaleUnit, const std::optional< unsigned > variationColorIndex, const std::optional< unsigned > variationStyleIndex) override
Definition VSDContentCollector.cpp:2569
libvisio::VSDContentCollector::collectForeignDataType
void collectForeignDataType(unsigned level, unsigned foreignType, unsigned foreignFormat, double offsetX, double offsetY, double width, double height) override
Definition VSDContentCollector.cpp:2558
libvisio::VSDContentCollector::_bulletFromParaFormat
void _bulletFromParaFormat(VSDBullet &bullet, const VSDParaStyle &paraStyle)
Definition VSDContentCollector.cpp:3891
libvisio::VSDContentCollector::m_isStencilStarted
bool m_isStencilStarted
Definition VSDContentCollector.h:308
libvisio::VSDContentCollector::m_currentText
libvisio::VSDName m_currentText
Definition VSDContentCollector.h:285
libvisio::VSDContentCollector::collectName
void collectName(unsigned id, unsigned level, const librevenge::RVNGBinaryData &name, TextFormat format) override
Definition VSDContentCollector.cpp:2868
libvisio::VSDContentCollector::collectRelCubBezTo
void collectRelCubBezTo(unsigned id, unsigned level, double x, double y, double a, double b, double c, double d) override
Definition VSDContentCollector.cpp:1604
libvisio::VSDContentCollector::_applyLinePattern
void _applyLinePattern()
libvisio::VSDContentCollector::m_documentTheme
const VSDXTheme * m_documentTheme
Definition VSDContentCollector.h:332
libvisio::VSDContentCollector::m_tabSets
std::vector< VSDTabSet > m_tabSets
Definition VSDContentCollector.h:330
libvisio::VSDContentCollector::collectEllipticalArcTo
void collectEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc) override
Definition VSDContentCollector.cpp:1389
libvisio::VSDContentCollector::collectFillStyle
void collectFillStyle(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFillColour, const std::optional< long > &qsShadowColour, const std::optional< long > &qsFillMatrix) override
Definition VSDContentCollector.cpp:2905
libvisio::VSDContentCollector::m_foreignOffsetX
double m_foreignOffsetX
Definition VSDContentCollector.h:262
libvisio::VSDContentCollector::m_charFormats
std::vector< VSDCharStyle > m_charFormats
Definition VSDContentCollector.h:290
libvisio::VSDContentCollector::m_currentShapeId
unsigned m_currentShapeId
Definition VSDContentCollector.h:258
libvisio::VSDContentCollector::collectFillAndShadow
void collectFillAndShadow(unsigned level, const std::optional< Colour > &colourFG, const std::optional< Colour > &colourBG, const std::optional< unsigned char > &fillPattern, const std::optional< double > &fillFGTransparency, const std::optional< double > &fillBGTransparency, const std::optional< unsigned char > &shadowPattern, const std::optional< Colour > &shfgc, const std::optional< double > &shadowOffsetX, const std::optional< double > &shadowOffsetY, const std::optional< long > &qsFc, const std::optional< long > &qsSc, const std::optional< long > &qsLm) override
Definition VSDContentCollector.cpp:1690
libvisio::VSDContentCollector::m_originalX
double m_originalX
Definition VSDContentCollector.h:247
libvisio::VSDContentCollector::endPages
void endPages() override
Definition VSDContentCollector.cpp:3657
libvisio::VSDContentCollector::collectDefaultCharStyle
void collectDefaultCharStyle(unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2831
libvisio::VSDContentCollector::collectOLEList
void collectOLEList(unsigned id, unsigned level) override
Definition VSDContentCollector.cpp:1716
libvisio::VSDContentCollector::endPage
void endPage() override
Definition VSDContentCollector.cpp:3638
libvisio::VSDContentCollector::m_stencils
VSDStencils m_stencils
Definition VSDContentCollector.h:306
libvisio::VSDContentCollector::_appendField
void _appendField(librevenge::RVNGString &text)
Definition VSDContentCollector.cpp:3834
libvisio::VSDContentCollector::collectGeometry
void collectGeometry(unsigned id, unsigned level, bool noFill, bool noLine, bool noShow) override
Definition VSDContentCollector.cpp:1849
libvisio::VSDContentCollector::m_documentPageShapeOrders
std::vector< std::list< unsigned > > & m_documentPageShapeOrders
Definition VSDContentCollector.h:279
libvisio::VSDContentCollector::collectSplineStart
void collectSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree) override
Definition VSDContentCollector.cpp:2732
libvisio::VSDContentCollector::startPage
void startPage(unsigned pageId) override
Definition VSDContentCollector.cpp:3616
libvisio::VSDContentCollector::m_pageShapeOrder
std::vector< std::list< unsigned > >::iterator m_pageShapeOrder
Definition VSDContentCollector.h:280
libvisio::VSDContentCollector::m_groupMemberships
std::vector< std::map< unsigned, unsigned > >::iterator m_groupMemberships
Definition VSDContentCollector.h:274
libvisio::VSDContentCollector::collectArcTo
void collectArcTo(unsigned id, unsigned level, double x2, double y2, double bow) override
Definition VSDContentCollector.cpp:1900
libvisio::VSDContentCollector::m_pageWidth
double m_pageWidth
Definition VSDContentCollector.h:239
libvisio::VSDContentCollector::m_scale
double m_scale
Definition VSDContentCollector.h:243
libvisio::VSDContentCollector::m_backgroundPageID
unsigned m_backgroundPageID
Definition VSDContentCollector.h:312
libvisio::VSDContentCollector::m_originalY
double m_originalY
Definition VSDContentCollector.h:248
libvisio::VSDContentCollector::m_currentShapeType
librevenge::RVNGString m_currentShapeType
Definition VSDContentCollector.h:333
libvisio::VSDContentCollector::collectTabsDataList
void collectTabsDataList(unsigned level, const std::map< unsigned, VSDTabSet > &tabSets) override
Definition VSDContentCollector.cpp:2821
libvisio::VSDContentCollector::m_currentPageNumber
unsigned m_currentPageNumber
Definition VSDContentCollector.h:275
libvisio::VSDContentCollector::collectTextBlockStyle
void collectTextBlockStyle(unsigned level, const std::optional< double > &leftMargin, const std::optional< double > &rightMargin, const std::optional< double > &topMargin, const std::optional< double > &bottomMargin, const std::optional< unsigned char > &verticalAlign, const std::optional< bool > &isBgFilled, const std::optional< Colour > &bgColour, const std::optional< double > &defaultTabStop, const std::optional< unsigned char > &textDirection) override
Definition VSDContentCollector.cpp:2954
libvisio::VSDContentCollector::m_painter
librevenge::RVNGDrawingInterface * m_painter
Definition VSDContentCollector.h:185
libvisio::VSDContentCollector::_listLevelFromBullet
void _listLevelFromBullet(librevenge::RVNGPropertyList &propList, const VSDBullet &bullet)
Definition VSDContentCollector.cpp:3947
libvisio::VSDContentCollector::collectCharIXStyle
void collectCharIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< VSDName > &font, const std::optional< Colour > &fontColour, const std::optional< double > &fontSize, const std::optional< bool > &bold, const std::optional< bool > &italic, const std::optional< bool > &underline, const std::optional< bool > &doubleunderline, const std::optional< bool > &strikeout, const std::optional< bool > &doublestrikeout, const std::optional< bool > &allcaps, const std::optional< bool > &initcaps, const std::optional< bool > &smallcaps, const std::optional< bool > &superscript, const std::optional< bool > &subscript, const std::optional< double > &scaleWidth) override
Definition VSDContentCollector.cpp:2942
libvisio::VSDContentCollector::m_stencilNames
std::map< unsigned, librevenge::RVNGString > m_stencilNames
Definition VSDContentCollector.h:286
libvisio::VSDContentCollector::m_foreignHeight
double m_foreignHeight
Definition VSDContentCollector.h:265
libvisio::VSDContentCollector::collectShapesOrder
void collectShapesOrder(unsigned id, unsigned level, const std::vector< unsigned > &shapeIds) override
Definition VSDContentCollector.cpp:2553
libvisio::VSDContentCollector::collectLineTo
void collectLineTo(unsigned id, unsigned level, double x, double y) override
Definition VSDContentCollector.cpp:1882
libvisio::VSDContentCollector::_flushCurrentForeignData
void _flushCurrentForeignData()
Definition VSDContentCollector.cpp:1288
libvisio::VSDContentCollector::collectParaIXStyle
void collectParaIXStyle(unsigned id, unsigned level, unsigned charCount, const std::optional< double > &indFirst, const std::optional< double > &indLeft, const std::optional< double > &indRight, const std::optional< double > &spLine, const std::optional< double > &spBefore, const std::optional< double > &spAfter, const std::optional< unsigned char > &align, const std::optional< unsigned char > &bullet, const std::optional< VSDName > &bulletStr, const std::optional< VSDName > &bulletFont, const std::optional< double > &bulletFontSize, const std::optional< double > &textPosAfterBullet, const std::optional< unsigned > &flags) override
Definition VSDContentCollector.cpp:2927
libvisio::VSDContentCollector::collectSplineKnot
void collectSplineKnot(unsigned id, unsigned level, double x, double y, double knot) override
Definition VSDContentCollector.cpp:2744
libvisio::VSDContentCollector::_lineProperties
void _lineProperties(const VSDLineStyle &style, librevenge::RVNGPropertyList &styleProps)
Definition VSDContentCollector.cpp:2963
libvisio::VSDContentCollector::m_splineX
double m_splineX
Definition VSDContentCollector.h:321
libvisio::VSDFieldList
Definition VSDFieldList.h:88
libvisio::VSDLayerList
Definition VSDLayerList.h:34
libvisio::VSDName
Definition VSDTypes.h:171
libvisio::VSDOutputElementList
Definition VSDOutputElementList.h:25
libvisio::VSDPage
Definition VSDPages.h:20
libvisio::VSDPages
Definition VSDPages.h:35
libvisio::VSDShape
Definition VSDStencils.h:28
libvisio::VSDStencils
Definition VSDStencils.h:80
libvisio::VSDStyles
Definition VSDStyles.h:512
libvisio::VSDXTheme
Definition VSDXTheme.h:85
libvisio_utils.h
libvisio
Definition libvisio_utils.h:47
libvisio::TextFormat
TextFormat
Definition VSDTypes.h:150
libvisio::NURBSData
Definition VSDTypes.h:94
libvisio::PolylineData
Definition VSDTypes.h:115
libvisio::VSDBullet
Definition VSDTypes.h:232
libvisio::VSDCharStyle
Definition VSDStyles.h:285
libvisio::VSDFillStyle
Definition VSDStyles.h:158
libvisio::VSDLayer
Definition VSDLayerList.h:22
libvisio::VSDLineStyle
Definition VSDStyles.h:63
libvisio::VSDMisc
Definition VSDTypes.h:204
libvisio::VSDParaStyle
Definition VSDStyles.h:391
libvisio::VSDTabSet
Definition VSDTypes.h:223
libvisio::VSDTextBlockStyle
Definition VSDStyles.h:476
libvisio::XForm
Definition VSDTypes.h:23