QwtTextEngine Class Referenceabstract

Abstract base class for rendering text strings. More...

`#include <qwt_text_engine.h>`

Inheritance diagram for QwtTextEngine:
[legend]

## Public Member Functions

virtual | ~QwtTextEngine ()
| Destructor.
virtual double | heightForWidth (const QFont &font, int flags, const QString &text, double width) const =0
virtual QSizeF | textSize (const QFont &font, int flags, const QString &text) const =0
virtual bool | mightRender (const QString &text) const =0
virtual void | textMargins (const QFont &font, const QString &text, double &left, double &right, double &top, double &bottom) const =0
virtual void | draw (QPainter *painter, const QRectF &rect, int flags, const QString &text) const =0

## Protected Member Functions

| QwtTextEngine ()
| Constructor.

## Detailed Description

Abstract base class for rendering text strings.

A text engine is responsible for rendering texts for a specific text format. They are used by QwtText to render a text.

QwtPlainTextEngine and QwtRichTextEngine are part of the Qwt library. The implementation of QwtMathMLTextEngine uses code from the Qt solution package. Because of license implications it is built into a separate library.

See also
  QwtText::setTextEngine()

## Member Function Documentation

## draw()

virtual void QwtTextEngine::draw | ( | QPainter * | painter,
|  | const QRectF & | rect,
|  | int | flags,
|  | const QString & | text
| ) |  | const

pure virtual

Draw the text in a clipping rectangle

Parameters

  painter | Painter
  rect | Clipping rectangle
  flags | Bitwise OR of the flags like in for QPainter::drawText()
  text | Text to be rendered

Implemented in QwtMathMLTextEngine, QwtRichTextEngine, and QwtPlainTextEngine.

## heightForWidth()

virtual double QwtTextEngine::heightForWidth | ( | const QFont & | font,
|  | int | flags,
|  | const QString & | text,
|  | double | width
| ) |  | const

pure virtual

Find the height for a given width

Parameters

  font | Font of the text
  flags | Bitwise OR of the flags used like in QPainter::drawText
  text | Text to be rendered
  width | Width

Returns
  Calculated height

Implemented in QwtMathMLTextEngine, QwtRichTextEngine, and QwtPlainTextEngine.

## mightRender()

virtual bool QwtTextEngine::mightRender | ( | const QString & | text | ) | const

pure virtual

Test if a string can be rendered by this text engine

Parameters

  text | Text to be tested

Returns
  true, if it can be rendered

Implemented in QwtMathMLTextEngine, QwtRichTextEngine, and QwtPlainTextEngine.

## textMargins()

virtual void QwtTextEngine::textMargins | ( | const QFont & | font,
|  | const QString & | text,
|  | double & | left,
|  | double & | right,
|  | double & | top,
|  | double & | bottom
| ) |  | const

pure virtual

Return margins around the texts

The textSize might include margins around the text, like QFontMetrics::descent(). In situations where texts need to be aligned in detail, knowing these margins might improve the layout calculations.

Parameters

  font | Font of the text
  text | Text to be rendered
  left | Return value for the left margin
  right | Return value for the right margin
  top | Return value for the top margin
  bottom | Return value for the bottom margin

Implemented in QwtMathMLTextEngine, QwtRichTextEngine, and QwtPlainTextEngine.

## textSize()

virtual QSizeF QwtTextEngine::textSize | ( | const QFont & | font,
|  | int | flags,
|  | const QString & | text
| ) |  | const

pure virtual

Returns the size, that is needed to render text

Parameters

  font | Font of the text
  flags | Bitwise OR of the flags like in for QPainter::drawText
  text | Text to be rendered

Returns
  Calculated size

Implemented in QwtMathMLTextEngine, QwtRichTextEngine, and QwtPlainTextEngine.