qwt_text.h
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* 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 <qstring.h>
#include <qsize.h>
#include <qfont.h>
#include <qmetatype.h>
class QColor;
class QPen;
class QBrush;
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
};
typedef QFlags<PaintAttribute> PaintAttributes;
enum LayoutAttribute
{
MinimumLayout = 0x01
};
typedef QFlags<LayoutAttribute> LayoutAttributes;
QwtText( const QString & = 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 QFont & = QFont() ) const;
QSizeF textSize( const QFont & = 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 *d_data;
class LayoutCache;
LayoutCache *d_layoutCache;
};
inline bool QwtText::isNull() const
{
return text().isNull();
}
inline bool QwtText::isEmpty() const
{
return text().isEmpty();
}
Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::PaintAttributes )
Q_DECLARE_OPERATORS_FOR_FLAGS( QwtText::LayoutAttributes )
Q_DECLARE_METATYPE( QwtText )
#endif
QwtText::TeXText
@ TeXText
Definition: qwt_text.h:97
QwtText::LayoutAttribute
LayoutAttribute
Layout Attributes The layout attributes affects some aspects of the layout of the text.
Definition: qwt_text.h:132
QwtTextEngine
Abstract base class for rendering text strings.
Definition: qwt_text_engine.h:36
QwtText::PaintAttribute
PaintAttribute
Paint Attributes.
Definition: qwt_text.h:113
QwtText
A class representing a text.
Definition: qwt_text.h:52
QwtText::RichText
@ RichText
Use the Scribe framework (Qt Rich Text) to render the text.
Definition: qwt_text.h:78
QwtText::isEmpty
bool isEmpty() const
Definition: qwt_text.h:216
QwtText::TextFormat
TextFormat
Text format.
Definition: qwt_text.h:65
QwtText::isNull
bool isNull() const
Definition: qwt_text.h:210
QwtText::MathMLText
@ MathMLText
Definition: qwt_text.h:91
QwtText::text
QString text() const
Definition: qwt_text.cpp:253
QwtText::PlainText
@ PlainText
Draw the text as it is, using a QwtPlainTextEngine.
Definition: qwt_text.h:75
QwtText::PaintAttributes
QFlags< PaintAttribute > PaintAttributes
Paint attributes.
Definition: qwt_text.h:125
QwtText::LayoutAttributes
QFlags< LayoutAttribute > LayoutAttributes
Layout attributes.
Definition: qwt_text.h:143