00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 00021 00022 #ifndef QFONTDATA_P_H 00023 #define QFONTDATA_P_H 00024 00025 00026 // 00027 // W A R N I N G 00028 // ------------- 00029 // 00030 // This file is not part of the Qt API. It exists for the convenience 00031 // of qmenudata.cpp, qmenubar.cpp, qmenubar.cpp, qpopupmenu.cpp, 00032 // qmotifstyle.cpp and qwindowssstyle.cpp. This header file may change 00033 // from version to version without notice, or even be removed. 00034 // 00035 // We mean it. 00036 // oh, we're really scared. 00037 // 00038 00039 #ifndef QT_H 00040 #endif // QT_H 00041 00042 struct QFontDef { // font definition 00043 QString family; 00044 QString addStyle; 00045 int pointSize; 00046 uint styleHint : 8; 00047 uint styleStrategy : 8; 00048 uint charSet : 8; 00049 uint weight : 8; 00050 uint italic : 1; 00051 uint underline : 1; 00052 uint strikeOut : 1; 00053 uint fixedPitch : 1; 00054 uint hintSetByUser : 1; 00055 uint rawMode : 1; 00056 uint dirty : 1; 00057 short lbearing; 00058 short rbearing; 00059 }; 00060 00061 00062 class QFontInternal; 00063 class QTextCodec; 00064 00065 struct QFontData : public QShared { 00066 QFontData() 00067 : exactMatch(FALSE), fin(0), printerHackFont( 0 ) 00068 {} 00069 QFontData( const QFontData &d ) 00070 : QShared(d), req(d.req), exactMatch(d.exactMatch), fin(d.fin), 00071 printerHackFont(0) 00072 // Copy the QShared count as well. The count may need to be 00073 // reset when using the QFontData class, see QFont::QFont(QFontData*) 00074 {} 00075 ~QFontData() 00076 {} 00077 QFontData &operator=( const QFontData &d ) 00078 { 00079 req = d.req; 00080 exactMatch = d.exactMatch; 00081 fin = d.fin; 00082 printerHackFont=d.printerHackFont; 00083 return *this; 00084 } 00085 QFontDef req; // requested font 00086 bool exactMatch; 00087 QFontInternal *fin; 00088 QFont *printerHackFont; 00089 const QTextCodec *mapper() const; 00090 void *fontSet() const; 00091 }; 00092 00093 00094 #endif // QFONTDATA_P_H
1.4.2