Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

qfontdata_p.h

Go to the documentation of this file.
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

Generated on Sat Nov 5 16:15:59 2005 for OPIE by  doxygen 1.4.2