Qt 4.8
Public Functions | Public Variables | List of all members
QOutlineMapper Class Reference

#include <qoutlinemapper_p.h>

Public Functions

void beginOutline (Qt::FillRule fillRule)
 
void clipElements (const QPointF *points, const QPainterPath::ElementType *types, int count)
 
void closeSubpath ()
 
void convertElements (const QPointF *points, const QPainterPath::ElementType *types, int count)
 
QT_FT_OutlineconvertPath (const QPainterPath &path)
 
QT_FT_OutlineconvertPath (const QVectorPath &path)
 
void curveTo (const QPointF &cp1, const QPointF &cp2, const QPointF &ep)
 
QPainterPath::ElementTypeelementTypes () const
 
void endOutline ()
 
void lineTo (const QPointF &pt)
 
void moveTo (const QPointF &pt)
 
QT_FT_Outlineoutline ()
 
 QOutlineMapper ()
 
void setMatrix (const QTransform &m)
 Sets up the matrix to be used for conversion. More...
 

Public Variables

QRectF controlPointRect
 
QRect m_clip_rect
 
QDataBuffer< int > m_contours
 
qreal m_dx
 
qreal m_dy
 
QDataBuffer< QPainterPath::ElementTypem_element_types
 
QDataBuffer< QPointFm_elements
 
QDataBuffer< QPointFm_elements_dev
 
bool m_in_clip_elements
 
qreal m_m11
 
qreal m_m12
 
qreal m_m13
 
qreal m_m21
 
qreal m_m22
 
qreal m_m23
 
qreal m_m33
 
QT_FT_Outline m_outline
 
QDataBuffer< QT_FT_Vectorm_points
 
QDataBuffer< QPointFm_polygon_dev
 
int m_subpath_start
 
QDataBuffer< char > m_tags
 
uint m_txop
 
bool m_valid
 

Detailed Description

Definition at line 87 of file qoutlinemapper_p.h.

Constructors and Destructors

◆ QOutlineMapper()

QOutlineMapper::QOutlineMapper ( )
inline

Definition at line 90 of file qoutlinemapper_p.h.

90  :
91  m_element_types(0),
92  m_elements(0),
93  m_elements_dev(0),
94  m_points(0),
95  m_tags(0),
96  m_contours(0),
97  m_polygon_dev(0),
98  m_in_clip_elements(false)
99  {
100  }
QDataBuffer< QPointF > m_elements_dev
QDataBuffer< QT_FT_Vector > m_points
QDataBuffer< QPointF > m_polygon_dev
QDataBuffer< char > m_tags
QDataBuffer< QPointF > m_elements
QDataBuffer< QPainterPath::ElementType > m_element_types
QDataBuffer< int > m_contours

Functions

◆ beginOutline()

void QOutlineMapper::beginOutline ( Qt::FillRule  fillRule)
inline

Definition at line 121 of file qoutlinemapper_p.h.

Referenced by convertPath(), and QRasterPaintEngine::drawPolygon().

122  {
123 #ifdef QT_DEBUG_CONVERT
124  printf("QOutlineMapper::beginOutline rule=%d\n", fillRule);
125 #endif
126  m_valid = true;
127  m_elements.reset();
130  m_points.reset();
131  m_tags.reset();
132  m_contours.reset();
133  m_outline.flags = fillRule == Qt::WindingFill
136  m_subpath_start = 0;
137  }
#define QT_FT_OUTLINE_EVEN_ODD_FILL
QT_FT_Outline m_outline
QDataBuffer< QPointF > m_elements_dev
QDataBuffer< QT_FT_Vector > m_points
QDataBuffer< char > m_tags
QDataBuffer< QPointF > m_elements
#define QT_FT_OUTLINE_NONE
QDataBuffer< QPainterPath::ElementType > m_element_types
QDataBuffer< int > m_contours
void reset()
Definition: qdatabuffer_p.h:79

◆ clipElements()

void QOutlineMapper::clipElements ( const QPointF points,
const QPainterPath::ElementType types,
int  count 
)

Definition at line 341 of file qoutlinemapper.cpp.

Referenced by beginOutline(), and endOutline().

344 {
345  // We could save a bit of time by actually implementing them fully
346  // instead of going through convenience functionallity, but since
347  // this part of code hardly every used, it shouldn't matter.
348 
349  m_in_clip_elements = true;
350 
351  QPainterPath path;
352 
355 
356  if (types) {
357  for (int i=0; i<element_count; ++i) {
358  switch (types[i]) {
360  path.moveTo(elements[i]);
361  break;
362 
364  path.lineTo(elements[i]);
365  break;
366 
368  path.cubicTo(elements[i], elements[i+1], elements[i+2]);
369  i += 2;
370  break;
371  default:
372  break;
373  }
374  }
375  } else {
376  path.moveTo(elements[0]);
377  for (int i=1; i<element_count; ++i)
378  path.lineTo(elements[i]);
379  }
380 
381  QPainterPath clipPath;
382  clipPath.addRect(m_clip_rect);
383  QPainterPath clippedPath = path.intersected(clipPath);
384  uint old_txop = m_txop;
386  if (clippedPath.isEmpty())
387  m_valid = false;
388  else
389  convertPath(clippedPath);
390  m_txop = old_txop;
391 
392  m_in_clip_elements = false;
393 }
bool isEmpty() const
Returns true if either there are no elements in this path, or if the only element is a MoveToElement;...
Definition: qpainterpath.h:392
#define QT_FT_OUTLINE_EVEN_ODD_FILL
QT_FT_Outline m_outline
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
Definition: qpainterpath.h:67
QPainterPath intersected(const QPainterPath &r) const
Returns a path which is the intersection of this path&#39;s fill area and p&#39;s fill area.
void moveTo(const QPointF &p)
Moves the current point to the given point, implicitly starting a new subpath and closing the previou...
void lineTo(const QPointF &p)
Adds a straight line from the current position to the given endPoint.
void setFillRule(Qt::FillRule fillRule)
Sets the fill rule of the painter path to the given fillRule.
unsigned int uint
Definition: qglobal.h:996
void addRect(const QRectF &rect)
Adds the given rectangle to this path as a closed subpath.
static const struct @32 types[]
void cubicTo(const QPointF &ctrlPt1, const QPointF &ctrlPt2, const QPointF &endPt)
Adds a cubic Bezier curve between the current position and the given endPoint using the control point...
static const QTextHtmlElement elements[Html_NumElements]
QT_FT_Outline * convertPath(const QPainterPath &path)

◆ closeSubpath()

void QOutlineMapper::closeSubpath ( )
inline

Definition at line 173 of file qoutlinemapper_p.h.

Referenced by endOutline(), and moveTo().

173  {
174  int element_count = m_elements.size();
175  if (element_count > 0) {
176  if (m_elements.at(element_count-1) != m_elements.at(m_subpath_start)) {
177 #ifdef QT_DEBUG_CONVERT
178  printf(" - implicitly closing\n");
179 #endif
180  // Put the object on the stack to avoid the odd case where
181  // lineTo reallocs the databuffer and the QPointF & will
182  // be invalidated.
184 
185  // only do lineTo if we have element_type array...
186  if (m_element_types.size())
187  lineTo(pt);
188  else
189  m_elements << pt;
190 
191  }
192  }
193  }
void lineTo(const QPointF &pt)
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
Type & at(int i)
Definition: qdatabuffer_p.h:86
QDataBuffer< QPointF > m_elements
QDataBuffer< QPainterPath::ElementType > m_element_types
int size() const
Definition: qdatabuffer_p.h:83

◆ convertElements()

void QOutlineMapper::convertElements ( const QPointF points,
const QPainterPath::ElementType types,
int  count 
)

Definition at line 244 of file qoutlinemapper.cpp.

Referenced by beginOutline(), and endOutline().

247 {
248 
249  if (types) {
250  // Translate into FT coords
251  const QPointF *e = elements;
252  for (int i=0; i<element_count; ++i) {
253  switch (*types) {
255  {
256  QT_FT_Vector pt_fixed = { qreal_to_fixed_26_6(e->x()),
257  qreal_to_fixed_26_6(e->y()) };
258  if (i != 0)
259  m_contours << m_points.size() - 1;
260  m_points << pt_fixed;
262  }
263  break;
264 
266  {
267  QT_FT_Vector pt_fixed = { qreal_to_fixed_26_6(e->x()),
268  qreal_to_fixed_26_6(e->y()) };
269  m_points << pt_fixed;
271  }
272  break;
273 
275  {
276  QT_FT_Vector cp1_fixed = { qreal_to_fixed_26_6(e->x()),
277  qreal_to_fixed_26_6(e->y()) };
278  ++e;
279  QT_FT_Vector cp2_fixed = { qreal_to_fixed_26_6((e)->x()),
280  qreal_to_fixed_26_6((e)->y()) };
281  ++e;
282  QT_FT_Vector ep_fixed = { qreal_to_fixed_26_6((e)->x()),
283  qreal_to_fixed_26_6((e)->y()) };
284 
285  m_points << cp1_fixed << cp2_fixed << ep_fixed;
289 
290  types += 2;
291  i += 2;
292  }
293  break;
294  default:
295  break;
296  }
297  ++types;
298  ++e;
299  }
300  } else {
301  // Plain polygon...
302  const QPointF *last = elements + element_count;
303  const QPointF *e = elements;
304  while (e < last) {
305  QT_FT_Vector pt_fixed = { qreal_to_fixed_26_6(e->x()),
306  qreal_to_fixed_26_6(e->y()) };
307  m_points << pt_fixed;
309  ++e;
310  }
311  }
312 
313  // close the very last subpath
314  m_contours << m_points.size() - 1;
315 
317  m_outline.n_points = m_points.size();
318 
319  m_outline.points = m_points.data();
322 
323 #ifdef QT_DEBUG_CONVERT
324  printf("QOutlineMapper::endOutline\n");
325 
326  printf(" - contours: %d\n", m_outline.n_contours);
327  for (int i=0; i<m_outline.n_contours; ++i) {
328  printf(" - %d\n", m_outline.contours[i]);
329  }
330 
331  printf(" - points: %d\n", m_outline.n_points);
332  for (int i=0; i<m_outline.n_points; ++i) {
333  printf(" - %d -- %.2f, %.2f, (%d, %d)\n", i,
334  (double) (m_outline.points[i].x / 64.0),
335  (double) (m_outline.points[i].y / 64.0),
336  (int) m_outline.points[i].x, (int) m_outline.points[i].y);
337  }
338 #endif
339 }
QT_FT_Outline m_outline
#define QT_FT_CURVE_TAG_CUBIC
#define QT_FT_CURVE_TAG_ON
#define qreal_to_fixed_26_6(f)
Type * data() const
Definition: qdatabuffer_p.h:84
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
QDataBuffer< QT_FT_Vector > m_points
QDataBuffer< char > m_tags
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
QT_FT_Vector * points
static const struct @32 types[]
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287
static const QTextHtmlElement elements[Html_NumElements]
QDataBuffer< int > m_contours
int size() const
Definition: qdatabuffer_p.h:83

◆ convertPath() [1/2]

QT_FT_Outline * QOutlineMapper::convertPath ( const QPainterPath path)

Definition at line 78 of file qoutlinemapper.cpp.

Referenced by QRasterPaintEngine::clip(), clipElements(), endOutline(), QRasterPaintEngine::fill(), QRasterPaintEngine::fillPath(), QRasterPaintEngine::fillPolygon(), and outline().

79 {
80  Q_ASSERT(!path.isEmpty());
81  int elmCount = path.elementCount();
82 #ifdef QT_DEBUG_CONVERT
83  printf("QOutlineMapper::convertPath(), size=%d\n", elmCount);
84 #endif
85  beginOutline(path.fillRule());
86 
87  for (int index=0; index<elmCount; ++index) {
88  const QPainterPath::Element &elm = path.elementAt(index);
89 
90  switch (elm.type) {
91 
93  if (index == elmCount - 1)
94  continue;
95  moveTo(elm);
96  break;
97 
99  lineTo(elm);
100  break;
101 
103  curveTo(elm, path.elementAt(index + 1), path.elementAt(index + 2));
104  index += 2;
105  break;
106 
107  default:
108  break; // This will never hit..
109  }
110  }
111 
112  endOutline();
113  return outline();
114 }
ElementType type
the type of element
Definition: qpainterpath.h:81
The QPainterPath::Element class specifies the position and type of a subpath.
Definition: qpainterpath.h:77
bool isEmpty() const
Returns true if either there are no elements in this path, or if the only element is a MoveToElement;...
Definition: qpainterpath.h:392
void curveTo(const QPointF &cp1, const QPointF &cp2, const QPointF &ep)
void lineTo(const QPointF &pt)
void moveTo(const QPointF &pt)
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
const QPainterPath::Element & elementAt(int i) const
Returns the element at the given index in the painter path.
Definition: qpainterpath.h:402
QT_FT_Outline * outline()
Qt::FillRule fillRule() const
Returns the painter path&#39;s currently set fill rule.
void beginOutline(Qt::FillRule fillRule)
quint16 index
int elementCount() const
Returns the number of path elements in the painter path.
Definition: qpainterpath.h:397

◆ convertPath() [2/2]

QT_FT_Outline * QOutlineMapper::convertPath ( const QVectorPath path)

Definition at line 116 of file qoutlinemapper.cpp.

117 {
118  int count = path.elementCount();
119 
120 #ifdef QT_DEBUG_CONVERT
121  printf("QOutlineMapper::convertPath(VP), size=%d\n", count);
122 #endif
124 
125  if (path.elements()) {
126  // TODO: if we do closing of subpaths in convertElements instead we
127  // could avoid this loop
129  const QPointF *points = reinterpret_cast<const QPointF *>(path.points());
130 
131  for (int index = 0; index < count; ++index) {
132  switch (elements[index]) {
134  if (index == count - 1)
135  continue;
136  moveTo(points[index]);
137  break;
138 
140  lineTo(points[index]);
141  break;
142 
144  curveTo(points[index], points[index+1], points[index+2]);
145  index += 2;
146  break;
147 
148  default:
149  break; // This will never hit..
150  }
151  }
152 
153  } else {
154  // ### We can kill this copying and just use the buffer straight...
155 
156  m_elements.resize(count);
157  if (count)
158  memcpy(m_elements.data(), path.points(), count* sizeof(QPointF));
159 
161  }
162 
163  endOutline();
164  return outline();
165 }
ElementType
This enum describes the types of elements used to connect vertices in subpaths.
Definition: qpainterpath.h:70
void curveTo(const QPointF &cp1, const QPointF &cp2, const QPointF &ep)
void lineTo(const QPointF &pt)
int elementCount() const
Type * data() const
Definition: qdatabuffer_p.h:84
void moveTo(const QPointF &pt)
void resize(int size)
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
const QPainterPath::ElementType * elements() const
QT_FT_Outline * outline()
QDataBuffer< QPointF > m_elements
bool hasWindingFill() const
void beginOutline(Qt::FillRule fillRule)
const qreal * points() const
QDataBuffer< QPainterPath::ElementType > m_element_types
quint16 index
static const QTextHtmlElement elements[Html_NumElements]

◆ curveTo()

void QOutlineMapper::curveTo ( const QPointF cp1,
const QPointF cp2,
const QPointF ep 
)
inline

Definition at line 163 of file qoutlinemapper_p.h.

Referenced by convertPath().

163  {
164 #ifdef QT_DEBUG_CONVERT
165  printf("QOutlineMapper::curveTo() (%f, %f)\n", ep.x(), ep.y());
166 #endif
167  m_elements << cp1 << cp2 << ep;
171  }
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
QDataBuffer< QPointF > m_elements
QDataBuffer< QPainterPath::ElementType > m_element_types
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287

◆ elementTypes()

QPainterPath::ElementType* QOutlineMapper::elementTypes ( ) const
inline

Definition at line 204 of file qoutlinemapper_p.h.

Referenced by endOutline().

204 { return m_element_types.size() == 0 ? 0 : m_element_types.data(); }
Type * data() const
Definition: qdatabuffer_p.h:84
QDataBuffer< QPainterPath::ElementType > m_element_types
int size() const
Definition: qdatabuffer_p.h:83

◆ endOutline()

void QOutlineMapper::endOutline ( )

Definition at line 168 of file qoutlinemapper.cpp.

Referenced by beginOutline(), convertPath(), and QRasterPaintEngine::drawPolygon().

169 {
170  closeSubpath();
171 
172  int element_count = m_elements.size();
173 
174  if (element_count == 0) {
175  memset(&m_outline, 0, sizeof(m_outline));
176  return;
177  }
178 
179  QPointF *elements;
180 
181  // Transform the outline
182  if (m_txop == QTransform::TxNone) {
183  elements = m_elements.data();
184  } else {
186  for (int i=0; i<m_elements.size(); ++i) {
187  const QPointF &e = m_elements.at(i);
188  m_elements_dev << QPointF(e.x() + m_dx, e.y() + m_dy);
189  }
190  } else if (m_txop == QTransform::TxScale) {
191  for (int i=0; i<m_elements.size(); ++i) {
192  const QPointF &e = m_elements.at(i);
193  m_elements_dev << QPointF(m_m11 * e.x() + m_dx, m_m22 * e.y() + m_dy);
194  }
195  } else if (m_txop < QTransform::TxProject) {
196  for (int i=0; i<m_elements.size(); ++i) {
197  const QPointF &e = m_elements.at(i);
198  m_elements_dev << QPointF(m_m11 * e.x() + m_m21 * e.y() + m_dx,
199  m_m22 * e.y() + m_m12 * e.x() + m_dy);
200  }
201  } else {
203  QPainterPath path = vp.convertToPainterPath();
204  path = QTransform(m_m11, m_m12, m_m13, m_m21, m_m22, m_m23, m_dx, m_dy, m_m33).map(path);
206  path.setFillRule(Qt::WindingFill);
207  uint old_txop = m_txop;
209  if (path.isEmpty())
210  m_valid = false;
211  else
212  convertPath(path);
213  m_txop = old_txop;
214  return;
215  }
216  elements = m_elements_dev.data();
217  }
218 
219  controlPointRect = boundingRect(elements, element_count);
220 
221 #ifdef QT_DEBUG_CONVERT
222  printf(" - control point rect (%.2f, %.2f) %.2f x %.2f, clip=(%d,%d, %dx%d)\n",
226 #endif
227 
228 
229  // Check for out of dev bounds...
230  const bool do_clip = !m_in_clip_elements && ((controlPointRect.left() < -QT_RASTER_COORD_LIMIT
236 
237  if (do_clip) {
238  clipElements(elements, elementTypes(), element_count);
239  } else {
240  convertElements(elements, elementTypes(), element_count);
241  }
242 }
#define QT_FT_OUTLINE_EVEN_ODD_FILL
qreal y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:667
QT_FT_Outline m_outline
qreal right() const
Returns the x-coordinate of the rectangle&#39;s right edge.
Definition: qrect.h:527
double qreal
Definition: qglobal.h:1193
Type * data() const
Definition: qdatabuffer_p.h:84
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
Definition: qpainterpath.h:67
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
qreal left() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:525
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
QDataBuffer< QPointF > m_elements_dev
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
static const QRectF boundingRect(const QPointF *points, int pointCount)
QPainterPath::ElementType * elementTypes() const
const int QT_RASTER_COORD_LIMIT
void convertElements(const QPointF *points, const QPainterPath::ElementType *types, int count)
qreal height() const
Returns the height of the rectangle.
Definition: qrect.h:710
QPoint map(const QPoint &p) const
Creates and returns a QPoint object that is a copy of the given point, mapped into the coordinate sys...
Type & at(int i)
Definition: qdatabuffer_p.h:86
unsigned int uint
Definition: qglobal.h:996
QDataBuffer< QPointF > m_elements
qreal width() const
Returns the width of the rectangle.
Definition: qrect.h:707
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
qreal x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:664
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
QDataBuffer< QPainterPath::ElementType > m_element_types
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287
static const QTextHtmlElement elements[Html_NumElements]
qreal top() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:526
qreal bottom() const
Returns the y-coordinate of the rectangle&#39;s bottom edge.
Definition: qrect.h:528
void clipElements(const QPointF *points, const QPainterPath::ElementType *types, int count)
QT_FT_Outline * convertPath(const QPainterPath &path)
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:65
int size() const
Definition: qdatabuffer_p.h:83

◆ lineTo()

void QOutlineMapper::lineTo ( const QPointF pt)
inline

Definition at line 155 of file qoutlinemapper_p.h.

Referenced by closeSubpath(), convertPath(), and QRasterPaintEngine::drawPolygon().

155  {
156 #ifdef QT_DEBUG_CONVERT
157  printf("QOutlineMapper::lineTo() (%f, %f)\n", pt.x(), pt.y());
158 #endif
159  m_elements.add(pt);
161  }
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
QDataBuffer< QPointF > m_elements
void add(const Type &t)
Definition: qdatabuffer_p.h:93
QDataBuffer< QPainterPath::ElementType > m_element_types
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287

◆ moveTo()

void QOutlineMapper::moveTo ( const QPointF pt)
inline

Definition at line 145 of file qoutlinemapper_p.h.

Referenced by convertPath(), and QRasterPaintEngine::drawPolygon().

145  {
146 #ifdef QT_DEBUG_CONVERT
147  printf("QOutlineMapper::moveTo() (%f, %f)\n", pt.x(), pt.y());
148 #endif
149  closeSubpath();
151  m_elements << pt;
153  }
qreal x() const
Returns the x-coordinate of this point.
Definition: qpoint.h:282
QDataBuffer< QPointF > m_elements
QDataBuffer< QPainterPath::ElementType > m_element_types
qreal y() const
Returns the y-coordinate of this point.
Definition: qpoint.h:287
int size() const
Definition: qdatabuffer_p.h:83

◆ outline()

QT_FT_Outline* QOutlineMapper::outline ( )
inline

Definition at line 195 of file qoutlinemapper_p.h.

Referenced by convertPath(), and QRasterPaintEngine::drawPolygon().

195  {
196  if (m_valid)
197  return &m_outline;
198  return 0;
199  }
QT_FT_Outline m_outline

◆ setMatrix()

void QOutlineMapper::setMatrix ( const QTransform m)
inline

Sets up the matrix to be used for conversion.

This also sets up the qt_path_iterator function that is used as a callback to get points.

Definition at line 107 of file qoutlinemapper_p.h.

108  {
109  m_m11 = m.m11();
110  m_m12 = m.m12();
111  m_m13 = m.m13();
112  m_m21 = m.m21();
113  m_m22 = m.m22();
114  m_m23 = m.m23();
115  m_m33 = m.m33();
116  m_dx = m.dx();
117  m_dy = m.dy();
118  m_txop = m.type();
119  }
qreal dy() const
Returns the vertical translation factor.
Definition: qtransform.h:277
qreal m21() const
Returns the horizontal shearing factor.
Definition: qtransform.h:249
qreal m22() const
Returns the vertical scaling factor.
Definition: qtransform.h:253
TransformationType type() const
Returns the transformation type of this matrix.
qreal m12() const
Returns the vertical shearing factor.
Definition: qtransform.h:241
qreal m23() const
Returns the vertical projection factor.
Definition: qtransform.h:257
qreal dx() const
Returns the horizontal translation factor.
Definition: qtransform.h:273
qreal m13() const
Returns the horizontal projection factor.
Definition: qtransform.h:245
qreal m11() const
Returns the horizontal scaling factor.
Definition: qtransform.h:237
qreal m33() const
Returns the division factor.
Definition: qtransform.h:269

Properties

◆ controlPointRect

QRectF QOutlineMapper::controlPointRect

◆ m_clip_rect

QRect QOutlineMapper::m_clip_rect

Definition at line 214 of file qoutlinemapper_p.h.

Referenced by clipElements(), and endOutline().

◆ m_contours

QDataBuffer<int> QOutlineMapper::m_contours

Definition at line 212 of file qoutlinemapper_p.h.

Referenced by beginOutline(), and convertElements().

◆ m_dx

qreal QOutlineMapper::m_dx

Definition at line 232 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_dy

qreal QOutlineMapper::m_dy

Definition at line 233 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_element_types

QDataBuffer<QPainterPath::ElementType> QOutlineMapper::m_element_types

◆ m_elements

QDataBuffer<QPointF> QOutlineMapper::m_elements

◆ m_elements_dev

QDataBuffer<QPointF> QOutlineMapper::m_elements_dev

Definition at line 209 of file qoutlinemapper_p.h.

Referenced by beginOutline(), and endOutline().

◆ m_in_clip_elements

bool QOutlineMapper::m_in_clip_elements

Definition at line 236 of file qoutlinemapper_p.h.

Referenced by clipElements(), and endOutline().

◆ m_m11

qreal QOutlineMapper::m_m11

Definition at line 225 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m12

qreal QOutlineMapper::m_m12

Definition at line 226 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m13

qreal QOutlineMapper::m_m13

Definition at line 227 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m21

qreal QOutlineMapper::m_m21

Definition at line 228 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m22

qreal QOutlineMapper::m_m22

Definition at line 229 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m23

qreal QOutlineMapper::m_m23

Definition at line 230 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_m33

qreal QOutlineMapper::m_m33

Definition at line 231 of file qoutlinemapper_p.h.

Referenced by endOutline(), and setMatrix().

◆ m_outline

QT_FT_Outline QOutlineMapper::m_outline

Definition at line 219 of file qoutlinemapper_p.h.

Referenced by beginOutline(), clipElements(), convertElements(), endOutline(), and outline().

◆ m_points

QDataBuffer<QT_FT_Vector> QOutlineMapper::m_points

Definition at line 210 of file qoutlinemapper_p.h.

Referenced by beginOutline(), and convertElements().

◆ m_polygon_dev

QDataBuffer<QPointF> QOutlineMapper::m_polygon_dev

Definition at line 215 of file qoutlinemapper_p.h.

◆ m_subpath_start

int QOutlineMapper::m_subpath_start

Definition at line 222 of file qoutlinemapper_p.h.

Referenced by beginOutline(), closeSubpath(), and moveTo().

◆ m_tags

QDataBuffer<char> QOutlineMapper::m_tags

Definition at line 211 of file qoutlinemapper_p.h.

Referenced by beginOutline(), and convertElements().

◆ m_txop

uint QOutlineMapper::m_txop

Definition at line 220 of file qoutlinemapper_p.h.

Referenced by clipElements(), endOutline(), and setMatrix().

◆ m_valid

bool QOutlineMapper::m_valid

Definition at line 235 of file qoutlinemapper_p.h.

Referenced by beginOutline(), clipElements(), endOutline(), and outline().


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