# 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

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

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