QCAD
Open Source 2D CAD
RTextBasedData.h
Go to the documentation of this file.
1 
20 #ifndef RTEXTBASEDDATA_H
21 #define RTEXTBASEDDATA_H
22 
23 #include "core_global.h"
24 
25 #include "RDocument.h"
26 #include "REntityData.h"
27 #include "RPainterPath.h"
28 #include "RPainterPathSource.h"
29 #include "RVector.h"
30 #include "RTextLayout.h"
31 #include "RTextProxy.h"
32 
33 class QTextDocument;
34 
45  friend class RTextBasedEntity;
46 
47 public:
48  enum TextFlag {
49  NoFlags = 0x000,
50  Bold = 0x001,
51  Italic = 0x002,
52  Simple = 0x004,
53  DimensionLabel = 0x008,
54  Highlighted = 0x010,
55  Backward = 0x020,
56  UpsideDown = 0x040
57  };
58  Q_DECLARE_FLAGS(TextFlags, TextFlag)
59 
60 protected:
62 
63 public:
65  RTextBasedData(const RVector& position,
66  const RVector& alignmentPoint,
67  double textHeight,
68  double textWidth,
69  RS::VAlign verticalAlignment,
70  RS::HAlign horizontalAlignment,
71  RS::TextDrawingDirection drawingDirection,
72  RS::TextLineSpacingStyle lineSpacingStyle,
73  double lineSpacingFactor,
74  const QString& text,
75  const QString& fontName,
76  bool bold,
77  bool italic,
78  double angle,
79  bool simple);
80  virtual ~RTextBasedData() {}
81 
82  virtual RS::EntityType getType() const {
83  return RS::EntityTextBased;
84  }
85 
86  void setFlag(RTextBasedData::TextFlag flag, bool on = true) {
87  if (on) {
88  flags |= flag;
89  } else {
90  flags &= ~flag;
91  }
92  }
93  bool getFlag(RTextBasedData::TextFlag flag) const {
94  return (flags & flag) == flag;
95  }
96 
97  virtual bool isValid() const {
98  return !text.isNull();
99  }
100  virtual bool isSane() const;
101 
102  virtual RBox getBoundingBox(bool ignoreEmpty=false) const;
103  double getWidth() const;
104  double getHeight() const;
105 
106  void sync(const RTextBasedData& other);
107 
108  virtual RVector getPointOnEntity() const;
109 
110  virtual QList<RVector> getEndPoints(const RBox& queryBox = RDEFAULT_RBOX) const {
111  Q_UNUSED(queryBox);
112  return QList<RVector>();
113  }
114  virtual QList<RVector> getMiddlePoints(const RBox& queryBox = RDEFAULT_RBOX) const {
115  Q_UNUSED(queryBox);
116  return QList<RVector>();
117  }
118  virtual QList<RVector> getCenterPoints(const RBox& queryBox = RDEFAULT_RBOX) const {
119  Q_UNUSED(queryBox);
120  return QList<RVector>();
121  }
122  virtual QList<RVector> getPointsWithDistanceToEnd(
123  double distance, int from = RS::FromAny, const RBox& queryBox = RDEFAULT_RBOX) const {
124  Q_UNUSED(distance);
125  Q_UNUSED(from);
126  Q_UNUSED(queryBox);
127 
128  return QList<RVector>();
129  }
130 
131  virtual double getDistanceTo(const RVector& point, bool limited = true, double range = 0.0, bool draft = false, double strictRange = RMAXDOUBLE) const;
132  virtual bool intersectsWith(const RShape& shape) const;
133 
138  return position;
139  }
140 
141  void setPosition(const RVector& position) {
142  this->position = position;
143  }
144 
150  return alignmentPoint;
151  }
152 
153  void setAlignmentPoint(const RVector& alignmentPoint) {
154  this->alignmentPoint = alignmentPoint;
155  }
156 
157  void setText(const QString& text);
158 
159  QString getFontName() const {
160  return fontName;
161  }
162 
163  void setFontName(const QString& fontName);
164 
165  QString getFontFile() const {
166  return fontFile;
167  }
168 
169  void setFontFile(const QString& fontFile) {
170  this->fontFile = fontFile;
171  }
172 
173  bool isBold() const {
174  return getFlag(Bold);
175  }
176 
177  void setBold(bool on) {
178  setFlag(Bold, on);
179  update();
180  }
181 
182  bool isItalic() const {
183  return getFlag(Italic);
184  }
185 
186  void setItalic(bool on) {
187  setFlag(Italic, on);
188  update();
189  }
190 
191  double getTextHeight() const {
192  return textHeight;
193  }
194 
195  void setTextHeight(double h) {
196  this->textHeight = h;
197  update();
198  }
199 
203  double getTextWidth() const {
204  return textWidth;
205  }
206 
207  void setTextWidth(double w) {
208  this->textWidth = w;
209  update();
210  }
211 
212  void setVAlign(RS::VAlign valign) {
213  this->verticalAlignment = valign;
214  update();
215  }
216 
218  return this->verticalAlignment;
219  }
220 
221  void setHAlign(RS::HAlign halign) {
222  this->horizontalAlignment = halign;
223  update();
224  }
225 
227  return this->horizontalAlignment;
228  }
229 
231  this->drawingDirection = drawingDirection;
232  update();
233  }
234 
236  return drawingDirection;
237  }
238 
240  this->lineSpacingStyle = lineSpacingStyle;
241  update();
242  }
243 
245  return lineSpacingStyle;
246  }
247 
248  void setLineSpacingFactor(double lineSpacingFactor) {
249  if (lineSpacingFactor<0) {
250  return;
251  }
252  this->lineSpacingFactor = lineSpacingFactor;
253  update();
254  }
255 
256  double getLineSpacingFactor() const {
257  return lineSpacingFactor;
258  }
259 
260  void setAngle(double angle) {
261  this->angle = angle;
262  update();
263  }
264 
265  double getAngle() const {
266  return angle;
267  }
268 
269  void setXScale(double xScale) {
270  // only positive xScale for MText:
271  if (xScale<=0) {
272  xScale = 1;
273  }
274  this->xScale = xScale;
275  update();
276  }
277 
278  double getXScale() const {
279  return xScale;
280  }
281 
282  void setSimple(bool on) {
283  setFlag(Simple, on);
284  update();
285  }
286 
287  bool isSimple() const {
288  return getFlag(Simple);
289  }
290 
291  void setBackward(bool on) {
292  setFlag(Backward, isSimple() && on);
293  update();
294  }
295 
296  bool isBackward() const {
297  return isSimple() && getFlag(Backward);
298  }
299 
300  void setUpsideDown(bool on) {
301  setFlag(UpsideDown, isSimple() && on);
302  update();
303  }
304 
305  bool isUpsideDown() const {
306  return isSimple() && getFlag(UpsideDown);
307  }
308 
309  void setDimensionLabel(bool on) {
310  setFlag(DimensionLabel, on);
311  update();
312  }
313 
314  bool isDimensionLabel() const {
315  return getFlag(DimensionLabel);
316  }
317 
318  void setSelected(bool on) {
320  update();
321  }
322 
323  void setHighlighted(bool on) {
324  setFlag(Highlighted, on);
325  }
326 
327  bool isHighlighted() const {
328  return getFlag(Highlighted);
329  }
330 
331  virtual QList<RRefPoint> getReferencePoints(RS::ProjectionRenderingHint hint = RS::RenderTop) const;
332 
333  virtual bool moveReferencePoint(const RVector& referencePoint, const RVector& targetPoint, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
334 
335  virtual bool move(const RVector& offset);
336  virtual bool rotate(double rotation, const RVector& center);
337  virtual bool scale(const RVector& scaleFactors, const RVector& center);
338  virtual bool mirror(const RLine& axis);
339  virtual bool flipHorizontal();
340  virtual bool flipVertical();
341 
342  virtual QString getText() const {
343  return text;
344  }
345  virtual QString getRenderedText(bool escapeUnicode = false) const;
346  virtual QString getPlainText() const;
347  virtual QString getEscapedText(bool escapeUnicode = false) const;
348  static QString escapeUnicode(const QString& str);
349  virtual QFont getMainFont() const;
350 
351  virtual void update(bool layout) const;
352  virtual void update() const {
353  update(true);
354  }
355  virtual bool isDirty() const;
356 
357  virtual QList<RPainterPath> getPainterPaths(bool draft = false, double pixelSizeHint = RDEFAULT_MIN1) const;
358  virtual QList<QSharedPointer<RShape> > getShapes(const RBox& queryBox = RDEFAULT_RBOX, bool ignoreComplex = false, bool segment = false) const;
359  virtual QList<QSharedPointer<RShape> > getExploded() const;
360 
361  virtual QSharedPointer<RShape> getClosestShape(const RVector& pos, double range = RNANDOUBLE, bool ignoreComplex = false) const {
362  Q_UNUSED(pos);
363  Q_UNUSED(range);
364  Q_UNUSED(ignoreComplex)
365  return QSharedPointer<RShape>();
366  }
367 
368  virtual RVector getClosestPointOnEntity(const RVector& point, double range, bool limited) const;
369 
370  QList<RTextLayout> getTextLayouts() const;
371 
372  QList<RTextBasedData> getSimpleTextBlocks();
373 
374 // virtual RTextBasedData getRenderedTextData() const {
375 // return *this;
376 // }
377 
378  static bool hasProxy() {
379  return textProxy!=NULL;
380  }
381 
385  static void setTextProxy(RTextProxy* p) {
386  if (textProxy!=NULL) {
387  delete textProxy;
388  }
389  textProxy = p;
390  }
391 
396  return textProxy;
397  }
398 
399  static QString toEscapedText(const QTextDocument& textDocument, const RColor& initialColor, double fontHeightFactor=1.0, bool simpleText = false);
400  static QString toRichText(const QString& escapedText, const QFont& mainFont, double fontHeightFactor=1.0);
401 
402 protected:
403  QString text;
406  double textHeight;
407  double textWidth;
413  QString fontName;
414  QString fontFile;
415  double angle;
416  double xScale;
417  TextFlags flags;
418 
419  mutable double height;
420  mutable double width;
421  mutable RBox boundingBox;
422  mutable QList<RPainterPath> painterPaths;
423  mutable bool dirty;
424  mutable bool gotDraft;
425  mutable QList<RTextLayout> textLayouts;
426 
427 private:
429 };
430 
431 QCADCORE_EXPORT QDebug operator<<(QDebug dbg, const RTextBasedData& t);
432 
436 Q_DECLARE_METATYPE(QSharedPointer<RTextBasedData>)
437 Q_DECLARE_METATYPE(QSharedPointer<RTextBasedData>*)
440 
441 #endif
RTextBasedData::getTextWidth
double getTextWidth() const
Width of the text box used for line wrapping (not supported).
Definition: RTextBasedData.h:203
RPainterPathSource
Interface for entity data classes that can deliver painter paths.
Definition: RPainterPathSource.h:40
REntityData::update
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: REntityData.h:408
RTextBasedData::isBackward
bool isBackward() const
Definition: RTextBasedData.h:296
RTextBasedData::setFontFile
void setFontFile(const QString &fontFile)
Definition: RTextBasedData.h:169
RTextBasedData::hasProxy
static bool hasProxy()
Definition: RTextBasedData.h:378
RTextBasedData::setTextProxy
static void setTextProxy(RTextProxy *p)
Definition: RTextBasedData.h:385
RTextBasedData::horizontalAlignment
RS::HAlign horizontalAlignment
Definition: RTextBasedData.h:409
RTextBasedData::setBold
void setBold(bool on)
Definition: RTextBasedData.h:177
RTextBasedData::isUpsideDown
bool isUpsideDown() const
Definition: RTextBasedData.h:305
RTextBasedData::setVAlign
void setVAlign(RS::VAlign valign)
Definition: RTextBasedData.h:212
RPainterPathSource.h
RS::EntityTextBased
@ EntityTextBased
Any text based entity (text, attribute def, attribute)
Definition: RS.h:154
REntityData::getBoundingBox
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition: REntityData.cpp:303
RObject::setFlag
void setFlag(int flag, bool on=true)
Definition: RObject.h:123
RS::HAlign
HAlign
Horizontal alignments.
Definition: RS.h:234
RObject::NoFlags
@ NoFlags
Definition: RObject.h:85
RTextBasedData::xScale
double xScale
Definition: RTextBasedData.h:416
RTextBasedData::setHAlign
void setHAlign(RS::HAlign halign)
Definition: RTextBasedData.h:221
REntityData::isSane
virtual bool isSane() const
Definition: REntityData.h:102
RTextBasedEntity::getEscapedText
QString getEscapedText(bool escapeUnicode=false) const
Definition: RTextBasedEntity.h:257
RTextBasedData::isValid
virtual bool isValid() const
Definition: RTextBasedData.h:97
RVector
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
RTextBasedData::getMiddlePoints
virtual QList< RVector > getMiddlePoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:114
RTextBasedData::getPosition
RVector getPosition() const
Definition: RTextBasedData.h:137
REntityData::intersectsWith
virtual bool intersectsWith(const RShape &shape) const
Definition: REntityData.cpp:499
RTextBasedData::setAngle
void setAngle(double angle)
Definition: RTextBasedData.h:260
RTextBasedData::setAlignmentPoint
void setAlignmentPoint(const RVector &alignmentPoint)
Definition: RTextBasedData.h:153
RTextBasedData::getCenterPoints
virtual QList< RVector > getCenterPoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:118
RS::EntityType
EntityType
Entity types used for property handling / filtering.
Definition: RS.h:125
RTextBasedData::update
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: RTextBasedData.h:352
RTextBasedData::getLineSpacingStyle
RS::TextLineSpacingStyle getLineSpacingStyle() const
Definition: RTextBasedData.h:244
RTextBasedData::setLineSpacingFactor
void setLineSpacingFactor(double lineSpacingFactor)
Definition: RTextBasedData.h:248
RTextBasedData::setXScale
void setXScale(double xScale)
Definition: RTextBasedData.h:269
RObject::document
RDocument * document
Definition: RObject.h:341
RTextBasedData::setDrawingDirection
void setDrawingDirection(RS::TextDrawingDirection drawingDirection)
Definition: RTextBasedData.h:230
RTextBasedData::flags
TextFlags flags
Definition: RTextBasedData.h:417
RTextBasedEntity::getPlainText
QString getPlainText() const
Definition: RTextBasedEntity.h:265
RS::TextDrawingDirection
TextDrawingDirection
Text drawing direction.
Definition: RS.h:246
RTextBasedData::fontName
QString fontName
Definition: RTextBasedData.h:413
RTextBasedData::getClosestShape
virtual QSharedPointer< RShape > getClosestShape(const RVector &pos, double range=RNANDOUBLE, bool ignoreComplex=false) const
Definition: RTextBasedData.h:361
RTextBasedData::height
double height
Definition: RTextBasedData.h:419
RTextBasedData::dirty
bool dirty
Definition: RTextBasedData.h:423
RTextBasedData::setFlag
void setFlag(RTextBasedData::TextFlag flag, bool on=true)
Definition: RTextBasedData.h:86
RTextBasedEntity::setText
void setText(const QString &text)
Definition: RTextBasedEntity.h:269
operator<<
QCADCORE_EXPORT QDebug operator<<(QDebug dbg, const RTextBasedData &t)
Definition: RTextBasedData.cpp:1070
RTextBasedData::setSimple
void setSimple(bool on)
Definition: RTextBasedData.h:282
RS::TextLineSpacingStyle
TextLineSpacingStyle
Line spacing style for texts.
Definition: RS.h:255
RTextBasedData::textProxy
static RTextProxy * textProxy
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RTextBasedData.h:428
RLine
Low-level mathematical representation of a line.
Definition: RLine.h:41
RTextBasedData::getFontFile
QString getFontFile() const
Definition: RTextBasedData.h:165
RTextBasedData::isSimple
bool isSimple() const
Definition: RTextBasedData.h:287
RTextBasedData::isItalic
bool isItalic() const
Definition: RTextBasedData.h:182
RTextBasedEntity::getSimpleTextBlocks
QList< RTextBasedData > getSimpleTextBlocks()
Definition: RTextBasedEntity.h:277
RShape
Interface for geometrical shape classes.
Definition: RShape.h:72
RTextBasedData::alignmentPoint
RVector alignmentPoint
Definition: RTextBasedData.h:405
RTextBasedEntity::getWidth
double getWidth() const
Definition: RTextBasedEntity.h:174
RTextBasedEntity::getHeight
double getHeight() const
Definition: RTextBasedEntity.h:177
RTextBasedData::width
double width
Definition: RTextBasedData.h:420
RDocument.h
RTextBasedData::getType
virtual RS::EntityType getType() const
Definition: RTextBasedData.h:82
RTextBasedData::getLineSpacingFactor
double getLineSpacingFactor() const
Definition: RTextBasedData.h:256
RVector.h
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(RMath *)
RTextBasedEntity::sync
void sync(const RTextBasedEntity &other)
Definition: RTextBasedEntity.h:273
RTextBasedData::getAlignmentPoint
RVector getAlignmentPoint() const
Definition: RTextBasedData.h:149
RTextBasedData::getFontName
QString getFontName() const
Definition: RTextBasedData.h:159
RObject::getFlag
bool getFlag(int flag) const
Definition: RObject.h:130
RTextBasedData::isDimensionLabel
bool isDimensionLabel() const
Definition: RTextBasedData.h:314
RTextBasedData::textWidth
double textWidth
Definition: RTextBasedData.h:407
RNANDOUBLE
#define RNANDOUBLE
Definition: RMath.h:71
RTextBasedData::getTextProxy
static RTextProxy * getTextProxy()
Definition: RTextBasedData.h:395
REntityData::getReferencePoints
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const =0
REntityData::setSelected
virtual void setSelected(bool on)
Selects or deselects this entity.
Definition: REntityData.h:190
RTextBasedData::angle
double angle
Definition: RTextBasedData.h:415
RTextBasedData::getTextHeight
double getTextHeight() const
Definition: RTextBasedData.h:191
REntityData
Base class for all entity data classes.
Definition: REntityData.h:67
RDEFAULT_MIN1
#define RDEFAULT_MIN1
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RExplodable.h:30
RTextBasedData::setDimensionLabel
void setDimensionLabel(bool on)
Definition: RTextBasedData.h:309
core_global.h
RTextProxy
Proxy for advanced text functionality.
Definition: RTextProxy.h:36
RTextBasedData::~RTextBasedData
virtual ~RTextBasedData()
Definition: RTextBasedData.h:80
RTextBasedData::setHighlighted
void setHighlighted(bool on)
Definition: RTextBasedData.h:323
RTextBasedData::getPointsWithDistanceToEnd
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:122
RTextBasedData::getFlag
bool getFlag(RTextBasedData::TextFlag flag) const
Definition: RTextBasedData.h:93
RTextBasedData::gotDraft
bool gotDraft
Definition: RTextBasedData.h:424
RTextBasedData::lineSpacingStyle
RS::TextLineSpacingStyle lineSpacingStyle
Definition: RTextBasedData.h:411
RTextBasedData::setItalic
void setItalic(bool on)
Definition: RTextBasedData.h:186
RDocument
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
RTextBasedData::textLayouts
QList< RTextLayout > textLayouts
Definition: RTextBasedData.h:425
RTextBasedData::textHeight
double textHeight
Definition: RTextBasedData.h:406
RTextBasedData::getAngle
double getAngle() const
Definition: RTextBasedData.h:265
RTextBasedData::setSelected
void setSelected(bool on)
Selects or deselects this entity.
Definition: RTextBasedData.h:318
REntityData::move
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition: REntityData.cpp:571
RTextBasedData
Stores and manages all data that defines the geometry and appearance of a text based entity (text,...
Definition: RTextBasedData.h:44
RMAXDOUBLE
#define RMAXDOUBLE
Definition: RMath.h:63
RTextBasedData::verticalAlignment
RS::VAlign verticalAlignment
Definition: RTextBasedData.h:408
REntityData::getClosestPointOnEntity
virtual RVector getClosestPointOnEntity(const RVector &point, double range=RNANDOUBLE, bool limited=true) const
Definition: REntityData.cpp:438
REntityData::scale
virtual bool scale(const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:591
RTextBasedData::drawingDirection
RS::TextDrawingDirection drawingDirection
Definition: RTextBasedData.h:410
RTextBasedData::getDrawingDirection
RS::TextDrawingDirection getDrawingDirection() const
Definition: RTextBasedData.h:235
RTextBasedData::isBold
bool isBold() const
Definition: RTextBasedData.h:173
RTextBasedData::getXScale
double getXScale() const
Definition: RTextBasedData.h:278
REntityData::mirror
virtual bool mirror(const RLine &axis)
Definition: REntityData.cpp:611
RTextBasedData::painterPaths
QList< RPainterPath > painterPaths
Definition: RTextBasedData.h:422
REntityData::rotate
virtual bool rotate(double rotation, const RVector &center=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:581
RTextBasedData::getHAlign
RS::HAlign getHAlign() const
Definition: RTextBasedData.h:226
RTextBasedData::text
QString text
Definition: RTextBasedData.h:403
RTextBasedEntity
Text entity.
Definition: RTextBasedEntity.h:38
RTextBasedData::getEndPoints
virtual QList< RVector > getEndPoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:110
RTextBasedData::setUpsideDown
void setUpsideDown(bool on)
Definition: RTextBasedData.h:300
RTextBasedData::isHighlighted
bool isHighlighted() const
Definition: RTextBasedData.h:327
RTextBasedData::getText
virtual QString getText() const
Definition: RTextBasedData.h:342
RTextBasedData::position
RVector position
Definition: RTextBasedData.h:404
RTextProxy.h
RTextLayout.h
RTextBasedData::setLineSpacingStyle
void setLineSpacingStyle(RS::TextLineSpacingStyle lineSpacingStyle)
Definition: RTextBasedData.h:239
RS::FromAny
@ FromAny
Start or end.
Definition: RS.h:266
RTextBasedEntity::isSimple
bool isSimple() const
Definition: RTextBasedEntity.h:253
RS::ProjectionRenderingHint
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition: RS.h:185
RDEFAULT_RBOX
#define RDEFAULT_RBOX
Definition: RBox.h:32
REntityData::getPointOnEntity
virtual RVector getPointOnEntity() const
Definition: REntityData.cpp:362
RTextBasedEntity::getExploded
virtual QList< QSharedPointer< RShape > > getExploded() const
Definition: RTextBasedEntity.h:106
REntityData::flipHorizontal
virtual bool flipHorizontal()
Definition: REntityData.cpp:625
RTextBasedData::setTextWidth
void setTextWidth(double w)
Definition: RTextBasedData.h:207
RTextBasedData::TextFlag
TextFlag
Definition: RTextBasedData.h:48
RTextBasedData::fontFile
QString fontFile
Definition: RTextBasedData.h:414
RTextBasedData::boundingBox
RBox boundingBox
Definition: RTextBasedData.h:421
REntityData::getShapes
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false) const
Definition: REntityData.h:113
RObject::flags
Flags flags
Object flags (undone, protected, ...)
Definition: RObject.h:353
RTextBasedData::setTextHeight
void setTextHeight(double h)
Definition: RTextBasedData.h:195
RS::RenderTop
@ RenderTop
Definition: RS.h:186
RBox
Represents a box e.g.
Definition: RBox.h:43
REntityData::getDistanceTo
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
Definition: REntityData.cpp:289
RPainterPath.h
RTextBasedData::getVAlign
RS::VAlign getVAlign() const
Definition: RTextBasedData.h:217
RTextBasedEntity::setFontName
void setFontName(const QString &fontName)
Definition: RTextBasedEntity.h:201
QCADCORE_EXPORT
#define QCADCORE_EXPORT
Definition: core_global.h:10
REntityData::moveReferencePoint
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)=0
Moves the given reference point to the given target point or does nothing if this entity has no refer...
REntityData::flipVertical
virtual bool flipVertical()
Definition: REntityData.cpp:629
RTextBasedData::setBackward
void setBackward(bool on)
Definition: RTextBasedData.h:291
RTextBasedEntity::getPainterPaths
QList< RPainterPath > getPainterPaths(bool draft=false) const
Definition: RTextBasedEntity.h:98
RTextBasedData::setPosition
void setPosition(const RVector &position)
Definition: RTextBasedData.h:141
REntityData.h
RColor
Color.
Definition: RColor.h:44
RS::VAlign
VAlign
Vertical alignments.
Definition: RS.h:224
RTextBasedData::lineSpacingFactor
double lineSpacingFactor
Definition: RTextBasedData.h:412