📄 qfontmanager_qws-h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - qfontmanager_qws.h include file</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }--></style></head><body bgcolor="#ffffff"><table width="100%"><tr><td><a href="index.html"><img width="100" height="100" src="qtlogo.png"alt="Home" border="0"><img width="100"height="100" src="face.png" alt="Home" border="0"></a><td valign="top"><div align="right"><img src="dochead.png" width="472" height="27"><br><a href="classes.html"><b>Classes</b></a>- <a href="annotated.html">Annotated</a>- <a href="hierarchy.html">Tree</a>- <a href="functions.html">Functions</a>- <a href="index.html">Home</a>- <a href="topicals.html"><b>Structure</b> <font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" align="center" size=32>Qte</font></a></div></table><h1 align=center>qfontmanager_qws.h</h1><br clear="all">This is the verbatim text of the qfontmanager_qws.h include file. It isprovided only for illustration; the copyrightremains with Trolltech.<hr><pre>/****************************************************************************** $Id: qt/src/kernel/qfontmanager_qws.h 2.3.8 edited 2004-05-12 $**** Definition of font rendering infrastructure for Embedded Qt**** Created : 940721**** 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 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 for Qt/Embedded may use this file in accordance with the** Qt Embedded 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/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QFONTMANAGER_QWS_H#define QFONTMANAGER_QWS_H#ifndef QT_H#include "qfont.h"#include "qlist.h"#endif // QT_H// These are stored in the shared memory segment in front of their// data, and indexed at the start of the segment// This needs to be a multiple of 64 bitsclass Q_PACKED QGlyphMetrics {public: Q_UINT8 linestep; Q_UINT8 width; Q_UINT8 height; Q_UINT8 flags; Q_INT8 bearingx; // Difference from pen position to glyph's left bbox Q_UINT8 advance; // Difference between pen positions Q_INT8 bearingy; // Used for putting characters on baseline Q_INT8 reserved; // Do not use // Flags: // RendererOwnsData - the renderer is responsible for glyph data // memory deletion otherwise QGlyphTree must // delete [] the data when the glyph is deleted. enum Flags { RendererOwnsData=0x01 };};class QGlyph {public: QGlyph() { metrics=0; data=0; } QGlyph(QGlyphMetrics* m, uchar* d) : metrics(m), data(d) { } ~QGlyph() {} QGlyphMetrics* metrics; uchar* data;};class QFontFactory;class QDiskFont;// This is a particular font instance at a particular resolution// e.g. Truetype Times, 10 point. There's only one of these though;// we want to share generated glyphsclass QRenderedFont {public: // Normal font-type is monochrome; glyph data is a // bitmap, which doesn't use much memory // Initialise for name A, renderer B, font type C, D glyphs QRenderedFont(QDiskFont *,const QFontDef&); virtual ~QRenderedFont(); QFontDef fontDef() const; int refcount; int ptsize; bool italic; unsigned int weight; void ref() { refcount++; } bool deref() { refcount--; return refcount==0; } QDiskFont* diskfont; int fascent,fdescent; int fleftbearing,frightbearing; int fmaxwidth; int fleading; int funderlinepos; int funderlinewidth; bool smooth; int maxchar; int ascent() { return fascent; } int descent() { return fdescent; } int width(int); int width( const QString&, int =-1 ); int leftBearing(int); int rightBearing(int); // Calling any of these can trigger a full-font metrics check // which can be expensive int minLeftBearing(); int minRightBearing(); int maxWidth(); virtual bool inFont(QChar ch) const=0; virtual QGlyph render(QChar)=0;private:};// Keeps track of available renderers and which font is whichclass QDiskFontPrivate {};class QDiskFont {public: QDiskFont(QFontFactory *f, const QString& n, bool i, int w, int s, const QString &fl, const QString& fi) : factory(f), name(n), italic(i), weight(w), size(s), flags(fl), file(fi) { loaded=false; p=0; } QRenderedFont* load(const QFontDef &); QFontDef fontDef() const; QFontFactory *factory; QString name; bool italic; int weight; int size; QString flags; QString file; bool loaded; QDiskFontPrivate * p;};class QFontManager {public: QList<QFontFactory> factories; QList<QDiskFont> diskfonts; QFontManager(); ~QFontManager(); // Font definition, type and color QDiskFont * get(const QFontDef &); static int cmpFontDef(const QFontDef & goal, const QFontDef & choice); static void initialize(); static void cleanup();};class QFontFactory {public: QFontFactory() {} virtual ~QFontFactory() {} virtual QRenderedFont * get(const QFontDef &,QDiskFont *)=0; virtual void load(QDiskFont *) const=0; virtual void unload(QDiskFont *) {} virtual QString name()=0;};void qt_init_fonts();extern QFontManager * qt_fontmanager;#endif</pre><p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -