qwt_text.h
/******************************************************************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_TEXT_H
#define QWT_TEXT_H
#include "qwt_global.h"
#include <qmetatype.h>
class QFont;
class QString;
class QColor;
class QPen;
class QBrush;
class QSizeF;
class QRectF;
class QPainter;
class QwtTextEngine;
class QWT_EXPORT QwtText
{
public:
enum TextFormat
{
AutoText = 0,
PlainText,
RichText,
MathMLText,
TeXText,
OtherFormat = 100
};
enum PaintAttribute
{
PaintUsingTextFont = 0x01,
PaintUsingTextColor = 0x02,
PaintBackground = 0x04
};
Q_DECLARE_FLAGS( PaintAttributes, PaintAttribute )
enum LayoutAttribute
{
MinimumLayout = 0x01
};
Q_DECLARE_FLAGS( LayoutAttributes, LayoutAttribute )
QwtText();
QwtText( const QString&, TextFormat textFormat = AutoText );
QwtText( const QwtText& );
~QwtText();
QwtText& operator=( const QwtText& );
bool operator==( const QwtText& ) const;
bool operator!=( const QwtText& ) const;
void setText( const QString&,
QwtText::TextFormat textFormat = AutoText );
QString text() const;
bool isNull() const;
bool isEmpty() const;
void setFont( const QFont& );
QFont font() const;
QFont usedFont( const QFont& ) const;
void setRenderFlags( int );
int renderFlags() const;
void setColor( const QColor& );
QColor color() const;
QColor usedColor( const QColor& ) const;
void setBorderRadius( double );
double borderRadius() const;
void setBorderPen( const QPen& );
QPen borderPen() const;
void setBackgroundBrush( const QBrush& );
QBrush backgroundBrush() const;
void setPaintAttribute( PaintAttribute, bool on = true );
bool testPaintAttribute( PaintAttribute ) const;
void setLayoutAttribute( LayoutAttribute, bool on = true );
bool testLayoutAttribute( LayoutAttribute ) const;
double heightForWidth( double width ) const;
double heightForWidth( double width, const QFont& ) const;
QSizeF textSize() const;
QSizeF textSize( const QFont& ) const;
void draw( QPainter* painter, const QRectF& rect ) const;
static const QwtTextEngine* textEngine(
const QString& text, QwtText::TextFormat = AutoText );
static const QwtTextEngine* textEngine( QwtText::TextFormat );
static void setTextEngine( QwtText::TextFormat, QwtTextEngine* );
private:
class PrivateData;
PrivateData* m_data;
class LayoutCache;
LayoutCache* m_layoutCache;
};
Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::PaintAttributes )
Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::LayoutAttributes )
Q_DECLARE_METATYPE( QwtText )
#endif
QwtTextEngine
Abstract base class for rendering text strings.
Definition: qwt_text_engine.h:31
QwtText
A class representing a text.
Definition: qwt_text.h:52
QwtText::LayoutAttribute
LayoutAttribute
Layout Attributes The layout attributes affects some aspects of the layout of the text.
Definition: qwt_text.h:133
QwtText::TextFormat
TextFormat
Text format.
Definition: qwt_text.h:65
QwtText::RichText
@ RichText
Use the Scribe framework (Qt Rich Text) to render the text.
Definition: qwt_text.h:78
QwtText::PlainText
@ PlainText
Draw the text as it is, using a QwtPlainTextEngine.
Definition: qwt_text.h:75
QwtText::MathMLText
@ MathMLText
Definition: qwt_text.h:93
QwtText::TeXText
@ TeXText
Definition: qwt_text.h:99
QwtText::LayoutAttributes
QFlags< LayoutAttribute > LayoutAttributes
Definition: qwt_text.h:143
QwtText::PaintAttribute
PaintAttribute
Paint Attributes.
Definition: qwt_text.h:115
QwtText::PaintAttributes
QFlags< PaintAttribute > PaintAttributes
Definition: qwt_text.h:126