# 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 QRectF &rect, int flags, const QString &text) const =0
virtual double | heightForWidth (const QFont &font, int flags, const QString &text, double width) 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 QSizeF | 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. 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()

## Constructor & Destructor Documentation

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

Destructor.

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

Constructor.

## Member Function Documentation

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

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 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,
|  | 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 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 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:
  Caluclated size

Implemented in QwtPlainTextEngine, QwtRichTextEngine, and QwtMathMLTextEngine.