# QwtMathMLTextEngine Class Reference

Text Engine for the MathML renderer of the Qt solutions package. More...

`#include <qwt_mathml_text_engine.h>`

Inheritance diagram for QwtMathMLTextEngine:

[legend]

List of all members.

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

## Detailed Description

Text Engine for the MathML renderer of the Qt solutions package.

The Qt Solution package includes a renderer for MathML http://www.trolltech.com/products/qt/addon/solutions/catalog/4/Widgets/qtmmlwidget that is available for owners of a commercial Qt license. You need a version >= 2.1, that is only available for Qt4.

To enable MathML support the following code needs to be added to the application:

    #include <qwt_mathml_text_engine.h>

    QwtText::setTextEngine(QwtText::MathMLText, new QwtMathMLTextEngine());

See also:
  QwtTextEngine, QwtText::setTextEngine

Warning:
  Unfortunately the MathML renderer doesn't support rotating of texts.

## Constructor & Destructor Documentation

QwtMathMLTextEngine::QwtMathMLTextEngine | ( |  | ) |

Constructor.

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

Destructor.

## Member Function Documentation

void QwtMathMLTextEngine::draw | ( | QPainter * | painter,
|  | const QRect & | rect,
|  | int | flags,
|  | const QString & | text |
| ) |  |  | const`[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

Implements QwtTextEngine.

int QwtMathMLTextEngine::heightForWidth | ( | const QFont & | font,
|  | int | flags,
|  | const QString & | text,
|  | int | width |
| ) |  |  | const`[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

Implements QwtTextEngine.

bool QwtMathMLTextEngine::mightRender | ( | const QString & | text | ) | const`[virtual]`

Test if a string can be rendered by QwtMathMLTextEngine

Parameters:

  | text | Text to be tested

Returns:
  true, if text begins with "<math>".

Implements QwtTextEngine.

void QwtMathMLTextEngine::textMargins | ( | const QFont & | ,
|  | const QString & | ,
|  | int & | left,
|  | int & | right,
|  | int & | top,
|  | int & | bottom |
| ) |  |  | const`[virtual]`

Return margins around the texts

Parameters:

  | left | Return 0
  | right | Return 0
  | top | Return 0
  | bottom | Return 0

Implements QwtTextEngine.

QSize QwtMathMLTextEngine::textSize | ( | const QFont & | font,
|  | int | flags,
|  | const QString & | text |
| ) |  |  | const`[virtual]`

Returns the size, that is needed to render text

Parameters:

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

Returns:
  Caluclated size

Implements QwtTextEngine.