10 #ifndef QXPTYPES_H_INCLUDED 11 #define QXPTYPES_H_INCLUDED 14 #include <boost/optional.hpp> 15 #include <boost/variant.hpp> 54 Rect(
double t,
double r,
double b,
double l);
57 double height()
const;
60 Point topLeft()
const;
61 Point topRight()
const;
62 Point bottomRight()
const;
63 Point bottomLeft()
const;
65 Rect shrink(
const double diff)
const;
75 : red(0), green(0), blue(0)
78 Color(uint8_t r, uint8_t g, uint8_t b)
79 : red(r), green(g), blue(b)
82 librevenge::RVNGString toString()
const;
84 Color applyShade(
double shade)
const;
105 : type(), color1(), color2(), angle(0.0)
109 typedef boost::variant<Color, Gradient>
Fill;
140 : segmentLengths(std::
move(segments)), isStripe(false), isProportional(proportional), patternLength(pattern), endcapType(endcap), joinType(join)
166 : fontName(
"Arial"), fontSize(12.0), baselineShift(0.0), color(0, 0, 0),
167 bold(false), italic(false), underline(false), outline(false), shadow(false), superscript(false), subscript(false), superior(false),
168 strike(false), allCaps(false), smallCaps(false), wordUnderline(false),
169 isControlChars(false)
180 , singleWordJustify(true)
225 return position >= 0;
243 : width(1.0), color(0, 0, 0), lineStyle(nullptr), leftMargin(0), rightMargin(0), offset(0)
257 std::shared_ptr<HJ>
hj;
261 ruleAbove(nullptr), ruleBelow(nullptr), tabStops(), hj(nullptr)
281 return startIndex + length - 1;
286 return startIndex + length;
289 bool overlaps(
const TextSpec &other)
const;
293 : startIndex(start), length(len)
301 CharFormatSpec(
const std::shared_ptr<CharFormat> &f,
unsigned start,
unsigned len)
310 ParagraphSpec(
const std::shared_ptr<ParagraphFormat> &f,
unsigned start,
unsigned len)
322 double maxFontSize()
const;
326 : text(), encoding(
"cp1252"), paragraphs(), charFormats()
330 Text &operator=(
const Text &other) =
default;
339 explicit Arrow(
const std::string &d,
const std::string &vbox =
"0 0 10 10",
double s = 3)
340 : path(d), viewbox(vbox), scale(s)
354 : width(1.0), color(), gapColor(), lineStyle(nullptr), startArrow(nullptr), endArrow(nullptr)
358 Frame &operator=(
const Frame &other) =
default;
370 : linkId(0), offsetIntoText(0), linkedIndex(0), nextLinkedIndex(0), textLength()
377 boost::optional<std::shared_ptr<Text>>
text;
380 : linkSettings(), text()
383 bool isLinked()
const;
396 : columnsCount(1), gutterWidth(12.0), verticalAlignment(
VerticalAlignment::
TOP), inset(), rotation(0), skew(0)
433 : boundingBox(), points()
445 : boundingBox(), runaround(false), zIndex(0)
456 : rotation(0), style(), curveComponents()
499 customPoints(), curveComponents()
522 : pictureRotation(0.0), pictureSkew(0.0),
523 offsetLeft(0.0), offsetTop(0.0), scaleHor(0.0), scaleVert(0.0)
551 : pageSettings(), objectsCount(0)
556 return pageSettings.size() == 2;
563 : superscriptOffset(1.0 / 3)
564 , superscriptHScale(1.0)
565 , superscriptVScale(1.0)
566 , subscriptOffset(-1.0 / 3)
567 , subscriptHScale(1.0)
568 , subscriptVScale(1.0)
569 , superiorHScale(0.5)
570 , superiorVScale(0.5)
584 void setAutoLeading(
const double val);
585 double autoLeading()
const;
590 return autoLeading() < 0 || autoLeading() > 1;
599 #endif // QXPTYPES_H_INCLUDED bool isFacing() const
Definition: QXPTypes.h:554
Definition: QXPTypes.h:449
TextPathAlignment
Definition: QXPTypes.h:400
LineStyle()
Definition: QXPTypes.h:135
Group()
Definition: QXPTypes.h:531
const unsigned length
Definition: QXPTypes.h:277
Rect boundingBox
Definition: QXPTypes.h:429
Point()
Definition: QXPTypes.h:29
double bottom
Definition: QXPTypes.h:50
double superiorVScale
Definition: QXPTypes.h:582
Definition: QXPTypes.h:437
Definition: QXPTypes.h:427
librevenge::RVNGString fillChar
Definition: QXPTypes.h:220
unsigned afterEndIndex() const
Definition: QXPTypes.h:284
bool isDefined() const
Definition: QXPTypes.h:223
TextSettings settings
Definition: QXPTypes.h:505
LineCapType
Definition: QXPTypes.h:111
BoxType
Definition: QXPTypes.h:477
Frame()
Definition: QXPTypes.h:353
std::vector< ParagraphSpec > paragraphs
Definition: QXPTypes.h:319
Definition: libqxp_utils.cpp:24
Point rotateDeg(double rotationDeg, const Point ¢er) const
Definition: QXPTypes.cpp:33
Frame frame
Definition: QXPTypes.h:489
TextPath()
Definition: QXPTypes.h:464
double pictureSkew
Definition: QXPTypes.h:515
bool singleWordJustify
Definition: QXPTypes.h:188
double leftMargin
Definition: QXPTypes.h:238
double superscriptVScale
Definition: QXPTypes.h:577
double y
Definition: QXPTypes.h:27
const LineStyle * lineStyle
Definition: QXPTypes.h:349
double gutterWidth
Definition: QXPTypes.h:389
bool skew
Definition: QXPTypes.h:418
TextPathSettings settings
Definition: QXPTypes.h:462
double left
Definition: QXPTypes.h:51
Definition: QXPTypes.h:361
unsigned minBefore
Definition: QXPTypes.h:185
Color()
Definition: QXPTypes.h:74
bool hyphenate
Definition: QXPTypes.h:184
QXPDocumentProperties()
Definition: QXPTypes.h:562
Definition: QXPTypes.h:460
std::vector< PageSettings > pageSettings
Definition: QXPTypes.h:547
bool operator!=(const Point &lhs, const Point &rhs)
Definition: QXPTypes.cpp:23
BoxType boxType
Definition: QXPTypes.h:490
Rect offset
Definition: QXPTypes.h:538
uint8_t red
Definition: QXPTypes.h:70
LineStyle(std::vector< double > segments, bool proportional, double pattern, LineCapType endcap, LineJoinType join)
Definition: QXPTypes.h:139
Definition: QXPTypes.h:527
const Arrow * endArrow
Definition: QXPTypes.h:351
Color color1
Definition: QXPTypes.h:100
std::vector< double > segmentLengths
Definition: QXPTypes.h:128
bool runaround
Definition: QXPTypes.h:440
PageSettings()
Definition: QXPTypes.h:540
unsigned columnsCount
Definition: QXPTypes.h:388
TextPathLineAlignment
Definition: QXPTypes.h:408
const double scale
Definition: QXPTypes.h:337
Definition: QXPTypes.h:560
TextBox()
Definition: QXPTypes.h:507
bool isStripe
Definition: QXPTypes.h:129
LineJoinType
Definition: QXPTypes.h:119
bool operator==(const Point &lhs, const Point &rhs)
Definition: QXPTypes.cpp:18
GradientType type
Definition: QXPTypes.h:99
double position
Definition: QXPTypes.h:219
Definition: QXPTypes.h:536
const LineStyle * lineStyle
Definition: QXPTypes.h:237
Definition: QXPTypes.h:24
double angle
Definition: QXPTypes.h:102
double superscriptHScale
Definition: QXPTypes.h:576
ParagraphSpec(const std::shared_ptr< ParagraphFormat > &f, unsigned start, unsigned len)
Definition: QXPTypes.h:310
double rotation
Definition: QXPTypes.h:451
unsigned linkId
Definition: QXPTypes.h:363
double rightMargin
Definition: QXPTypes.h:239
double m_autoLeading
Definition: QXPTypes.h:594
TextPathAlignment alignment
Definition: QXPTypes.h:419
double rotation
Definition: QXPTypes.h:493
VerticalAlignment
Definition: QXPTypes.h:200
Arrow(const std::string &d, const std::string &vbox="0 0 10 10", double s=3)
Definition: QXPTypes.h:339
std::vector< Point > points
Definition: QXPTypes.h:430
std::vector< unsigned > objectsIndexes
Definition: QXPTypes.h:529
double cornerRadius
Definition: QXPTypes.h:492
Definition: QXPTypes.h:274
Definition: QXPTypes.h:333
double skew
Definition: QXPTypes.h:393
HJ()
Definition: QXPTypes.h:175
LinkedTextSettings()
Definition: QXPTypes.h:369
Line()
Definition: QXPTypes.h:455
double distance(const Point &p2) const
Definition: QXPTypes.cpp:45
Definition: QXPTypes.h:306
unsigned linkedIndex
Definition: QXPTypes.h:365
double subscriptHScale
Definition: QXPTypes.h:579
CornerType cornerType
Definition: QXPTypes.h:491
const std::string path
Definition: QXPTypes.h:335
const unsigned startIndex
Definition: QXPTypes.h:276
Color(uint8_t r, uint8_t g, uint8_t b)
Definition: QXPTypes.h:78
Definition: QXPTypes.h:173
Box()
Definition: QXPTypes.h:497
Definition: QXPTypes.h:315
ParagraphRule()
Definition: QXPTypes.h:242
TabStopType
Definition: QXPTypes.h:208
std::vector< CurveComponent > curveComponents
Definition: QXPTypes.h:495
Point move(double dx, double dy) const
Definition: QXPTypes.cpp:28
std::vector< Point > customPoints
Definition: QXPTypes.h:494
LineCapType endcapType
Definition: QXPTypes.h:132
unsigned endIndex() const
Definition: QXPTypes.h:279
TextPathSettings()
Definition: QXPTypes.h:422
double right
Definition: QXPTypes.h:49
unsigned objectsCount
Definition: QXPTypes.h:548
unsigned nextLinkedIndex
Definition: QXPTypes.h:366
std::vector< CharFormatSpec > charFormats
Definition: QXPTypes.h:320
boost::optional< unsigned > textLength
Definition: QXPTypes.h:367
double width
Definition: QXPTypes.h:235
Gradient()
Definition: QXPTypes.h:104
uint8_t blue
Definition: QXPTypes.h:72
bool isProportional
Definition: QXPTypes.h:130
double pictureRotation
Definition: QXPTypes.h:514
std::vector< CurveComponent > curveComponents
Definition: QXPTypes.h:453
Definition: QXPTypes.h:374
double rotation
Definition: QXPTypes.h:392
std::shared_ptr< ParagraphFormat > format
Definition: QXPTypes.h:308
Rect inset
Definition: QXPTypes.h:391
CurveComponent()
Definition: QXPTypes.h:432
Point(double xVal, double yVal)
Definition: QXPTypes.h:33
const Arrow * startArrow
Definition: QXPTypes.h:350
Color color
Definition: QXPTypes.h:236
TextObject()
Definition: QXPTypes.h:379
Text()
Definition: QXPTypes.h:325
double superscriptOffset
Definition: QXPTypes.h:575
TextPathLineAlignment lineAlignment
Definition: QXPTypes.h:420
boost::optional< Fill > fill
Definition: QXPTypes.h:488
boost::optional< std::shared_ptr< Text > > text
Definition: QXPTypes.h:377
double top
Definition: QXPTypes.h:48
TabStop()
Definition: QXPTypes.h:228
double offset
Definition: QXPTypes.h:240
Definition: QXPTypes.h:415
double patternLength
Definition: QXPTypes.h:131
GradientType
Definition: QXPTypes.h:87
Definition: QXPTypes.h:486
double superiorHScale
Definition: QXPTypes.h:581
Frame style
Definition: QXPTypes.h:452
Definition: QXPTypes.h:97
double x
Definition: QXPTypes.h:26
double offsetTop
Definition: QXPTypes.h:517
unsigned minAfter
Definition: QXPTypes.h:186
unsigned offsetIntoText
Definition: QXPTypes.h:364
uint8_t green
Definition: QXPTypes.h:71
bool rotate
Definition: QXPTypes.h:417
HorizontalAlignment
Definition: QXPTypes.h:191
TextSettings()
Definition: QXPTypes.h:395
unsigned zIndex
Definition: QXPTypes.h:441
bool isIncrementalAutoLeading() const
Definition: QXPTypes.h:588
Definition: QXPTypes.h:46
boost::optional< Color > color
Definition: QXPTypes.h:347
TabStopType type
Definition: QXPTypes.h:218
std::string text
Definition: QXPTypes.h:317
double subscriptOffset
Definition: QXPTypes.h:578
TextSpec(unsigned start, unsigned len)
Definition: QXPTypes.h:292
double scaleVert
Definition: QXPTypes.h:519
const char * encoding
Definition: QXPTypes.h:318
librevenge::RVNGString alignChar
Definition: QXPTypes.h:221
CornerType
Definition: QXPTypes.h:469
const std::string viewbox
Definition: QXPTypes.h:336
Page()
Definition: QXPTypes.h:550
PictureBox()
Definition: QXPTypes.h:521
boost::variant< Color, Gradient > Fill
Definition: QXPTypes.h:109
Definition: QXPTypes.h:233
double offsetLeft
Definition: QXPTypes.h:516
Definition: QXPTypes.h:126
ContentType
Definition: QXPTypes.h:265
Definition: QXPTypes.h:545
Rect boundingBox
Definition: QXPTypes.h:439
Definition: QXPTypes.h:216
Definition: QXPTypes.h:503
Definition: QXPTypes.h:512
boost::optional< Color > gapColor
Definition: QXPTypes.h:348
double width
Definition: QXPTypes.h:346
double subscriptVScale
Definition: QXPTypes.h:580
double scaleHor
Definition: QXPTypes.h:518
LinkedTextSettings linkSettings
Definition: QXPTypes.h:376
Definition: QXPTypes.h:68
VerticalAlignment verticalAlignment
Definition: QXPTypes.h:390
Definition: QXPTypes.h:344
LineJoinType joinType
Definition: QXPTypes.h:133
Definition: QXPTypes.h:386
Object()
Definition: QXPTypes.h:444
unsigned maxInRow
Definition: QXPTypes.h:187
Color color2
Definition: QXPTypes.h:101