# 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 | ~QwtTextEngine ()
virtual int | heightForWidth (const QFont &font, int flags, const QString &text, int width) const =0
virtual QSize | 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, int &left, int &right, int &top, int &bottom) const =0
virtual void | draw (QPainter *painter, const QRect &rect, int flags, const QString &text) const =0

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