/**************************************************************************** ** $Id: qt/src/kernel/qfontmetrics.h 2.2.1 edited 2000-08-25 $ ** ** Definition of QFontMetrics class ** ** Created : 940514 ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of the kernel module of the Qt GUI Toolkit. ** ** This file may be distributed under the terms of the Q Public License ** as defined by Trolltech AS of Norway and appearing in the file ** LICENSE.QPL included in the packaging of this file. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition ** licenses may use this file in accordance with the Qt Commercial License ** Agreement provided with the Software. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about Qt Commercial License Agreements. ** See http://www.trolltech.com/qpl/ for QPL licensing information. ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef QFONTMETRICS_H #define QFONTMETRICS_H #ifndef QT_H #include "qfont.h" #include "qrect.h" #endif // QT_H class QTextCodec; class Q_EXPORT QFontMetrics { public: QFontMetrics( const QFont & ); QFontMetrics( const QFontMetrics & ); ~QFontMetrics(); QFontMetrics &operator=( const QFontMetrics & ); int ascent() const; int descent() const; int height() const; int leading() const; int lineSpacing() const; int minLeftBearing() const; int minRightBearing() const; int maxWidth() const; bool inFont(QChar) const; int leftBearing(QChar) const; int rightBearing(QChar) const; int width( const QString &, int len = -1 ) const; int width( QChar ) const; int width( char c ) const { return width( (QChar) c ); } QRect boundingRect( const QString &, int len = -1 ) const; QRect boundingRect( QChar ) const; QRect boundingRect( int x, int y, int w, int h, int flags, const QString& str, int len=-1, int tabstops=0, int *tabarray=0, char **intern=0 ) const; QSize size( int flags, const QString& str, int len=-1, int tabstops=0, int *tabarray=0, char **intern=0 ) const; int underlinePos() const; int strikeOutPos() const; int lineWidth() const; private: QFontMetrics( const QPainter * ); static void reset( const QPainter * ); const QFontDef *spec() const; #if defined(_WS_WIN_) void *textMetric() const; HDC hdc() const; #elif defined(_WS_X11_) void *fontStruct() const; void *fontSet() const; const QTextCodec *mapper() const; int printerAdjusted(int) const; #elif defined(_WS_QWS_) QFontInternal *internal(); #endif friend class QWidget; friend class QPainter; QFontInternal *fin; QPainter *painter; int flags; bool underlineFlag() const { return (flags & 0x1) != 0; } bool strikeOutFlag() const { return (flags & 0x2) != 0; } void setUnderlineFlag() { flags |= 0x1; } void setStrikeOutFlag() { flags |= 0x2; } }; #endif // QFONTMETRICS_H
Copyright © 2000 Trolltech | Trademarks | Qt version 2.2.1
|