# QwtTextEngine Class Reference

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

`#include <qwt_text_engine.h>`

Inheritance diagram for QwtTextEngine:
[legend]

List of all members.

## Public Member Functions

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

## Protected Member Functions

| QwtTextEngine ()

## 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.

QwtMathMLTextEngine can be found in Qwt MathML extension, that needs the MathML renderer of the Qt solutions package. Unfortunately it is only available with a commercial Qt license.

See also:
  QwtText::setTextEngine()

## Constructor & Destructor Documentation

QwtTextEngine::~QwtTextEngine | ( |  | ) | `[virtual]`

Destructor.

QwtTextEngine::QwtTextEngine | ( |  | ) | `[protected]`

Constructor.

## Member Function Documentation

virtual void QwtTextEngine::draw | ( | QPainter * | painter,
|  | const QRect & | 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 QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.

virtual int QwtTextEngine::heightForWidth | ( | const QFont & | font,
|  | int | flags,
|  | const QString & | text,
|  | int | 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 QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.

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 QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.

virtual void QwtTextEngine::textMargins | ( | const QFont & | font,
|  | const QString & | text,
|  | int & | left,
|  | int & | right,
|  | int & | top,
|  | int & | 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 aligend 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 QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.

virtual QSize 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:
  Caluclated size

Implemented in QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.