⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qfontengine_p.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
📖 第 1 页 / 共 2 页
字号:
    QFixed lineThickness() const;    Type type() const;    bool canRender(const QChar *string, int len);    inline const char *name() const { return 0; }    inline bool drawAsOutline() const { return outline_drawing; }    FT_Face face;    bool smooth;    bool outline_drawing;    QGlyph **rendered_glyphs;    QOpenType *_openType;    enum { cmapCacheSize = 0x200 };    mutable glyph_t cmapCache[cmapCacheSize];    FaceId face_id;    friend class QFontDatabase;    static FT_Library ft_library;};#endif // QT_NO_FREETYPE#ifndef QT_NO_QWS_QPFclass QFontEngineQPFData;class QFontEngineQPF : public QFontEngine{public:    QFontEngineQPF(const QFontDef&, const QString &fn);   ~QFontEngineQPF();    bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;    void draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &si);    void addOutlineToPath(qreal x, qreal y, const QGlyphLayout *glyphs, int numGlyphs, QPainterPath *path, QTextItem::RenderFlags flags);    glyph_metrics_t boundingBox(const QGlyphLayout *glyphs, int numGlyphs);    glyph_metrics_t boundingBox(glyph_t glyph);    QFixed ascent() const;    QFixed descent() const;    QFixed leading() const;    qreal maxCharWidth() const;    qreal minLeftBearing() const;    qreal minRightBearing() const;    QFixed underlinePosition() const;    QFixed lineThickness() const;    Type type() const;    bool canRender(const QChar *string, int len);    inline const char *name() const { return 0; }    QFontEngineQPFData *d;};#endif // QT_NO_QWS_QPF#endif // QWSclass QFontEngineBox : public QFontEngine{public:    QFontEngineBox(int size);    ~QFontEngineBox();    bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;#if !defined(Q_WS_X11) && !defined(Q_WS_WIN) && !defined(Q_WS_MAC)    void draw(QPaintEngine *p, qreal x, qreal y, const QTextItemInt &si);#endif    void addOutlineToPath(qreal x, qreal y, const QGlyphLayout *glyphs, int numGlyphs, QPainterPath *path, QTextItem::RenderFlags flags);    glyph_metrics_t boundingBox(const QGlyphLayout *glyphs, int numGlyphs);    glyph_metrics_t boundingBox(glyph_t glyph);    QFixed ascent() const;    QFixed descent() const;    QFixed leading() const;    qreal maxCharWidth() const;    qreal minLeftBearing() const { return 0; }    qreal minRightBearing() const { return 0; }#ifdef Q_WS_X11    int cmap() const;#endif    const char *name() const;    bool canRender(const QChar *string, int len);    Type type() const;    inline int size() const { return _size; }private:    friend class QFontPrivate;    int _size;};class Q_GUI_EXPORT QFontEngineMulti : public QFontEngine{public:    explicit QFontEngineMulti(int engineCount);    ~QFontEngineMulti();    bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs,                      QTextEngine::ShaperFlags flags) const;    glyph_metrics_t boundingBox(const QGlyphLayout *glyphs, int numGlyphs);    glyph_metrics_t boundingBox(glyph_t glyph);    void recalcAdvances(int , QGlyphLayout *, QTextEngine::ShaperFlags) const;    void doKerning(int , QGlyphLayout *, QTextEngine::ShaperFlags) const;    void addOutlineToPath(qreal, qreal, const QGlyphLayout *, int, QPainterPath *, QTextItem::RenderFlags flags);    QFixed ascent() const;    QFixed descent() const;    QFixed leading() const;    QFixed xHeight() const;    QFixed lineThickness() const;    QFixed underlinePosition() const;    qreal maxCharWidth() const;    qreal minLeftBearing() const;    qreal minRightBearing() const;    inline Type type() const    { return QFontEngine::Multi; }    bool canRender(const QChar *string, int len);    inline const char *name() const    { return "Multi"; }    QFontEngine *engine(int at) const;protected:    friend class QPSPrintEnginePrivate;    friend class QPSPrintEngineFontMulti;    virtual void loadEngine(int at) = 0;    QVector<QFontEngine *> engines;};#if defined(Q_WS_MAC)#include "private/qt_mac_p.h"#include "QtCore/qmap.h"#include "QtCore/qcache.h"#include "private/qcore_mac_p.h"struct QShaperItem;class QFontEngineMacMulti;class QFontEngineMac : public QFontEngine{    friend class QFontEngineMacMulti;public:    QFontEngineMac(ATSUStyle baseStyle, FMFont font, const QFontDef &def, QFontEngineMacMulti *multiEngine = 0);    virtual ~QFontEngineMac();    virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;    virtual glyph_metrics_t boundingBox(const QGlyphLayout *glyphs, int numGlyphs);    virtual glyph_metrics_t boundingBox(glyph_t glyph);    virtual QFixed ascent() const;    virtual QFixed descent() const;    virtual QFixed leading() const;    virtual QFixed xHeight() const;    virtual qreal maxCharWidth() const;    virtual void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int numGlyphs,                                 QPainterPath *path, QTextItem::RenderFlags);    virtual const char *name() const { return "QFontEngineMac"; }    virtual bool canRender(const QChar *string, int len);    virtual int synthesized() const { return synthesisFlags; }    virtual Type type() const { return QFontEngine::Mac; }    void draw(CGContextRef ctx, qreal x, qreal y, const QTextItemInt &ti, int paintDeviceHeight);    virtual FaceId faceId() const;    virtual QByteArray getSfntTable(uint tag) const;    virtual Properties properties() const;    virtual void getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics);private:    FMFont fmFont;    QCFType<CGFontRef> cgFont;    ATSUStyle style;    int synthesisFlags;    mutable QGlyphLayout kashidaGlyph;    QFontEngineMacMulti *multiEngine;    mutable unsigned char *cmap;    mutable bool symbolCMap;};class QFontEngineMacMulti : public QFontEngineMulti{    friend class QFontEngineMac;public:    QFontEngineMacMulti(const ATSFontFamilyRef &family, const QFontDef &fontDef, bool kerning);    virtual ~QFontEngineMacMulti();    virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;    bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags,                      QShaperItem *shaperItem) const;    virtual void recalcAdvances(int , QGlyphLayout *, QTextEngine::ShaperFlags) const;    virtual void doKerning(int , QGlyphLayout *, QTextEngine::ShaperFlags) const;    virtual const char *name() const { return "ATSUI"; }    bool canRender(const QChar *string, int len);    inline ATSFontFamilyRef fontFamilyRef() const { return familyref; }protected:    virtual void loadEngine(int at);private:    inline const QFontEngineMac *engineAt(int i) const    { return static_cast<const QFontEngineMac *>(engines.at(i)); }    int fontIndexForFMFont(FMFont font) const;    ATSFontFamilyRef familyref;    uint kerning : 1;    mutable ATSUTextLayout textLayout;    mutable ATSUStyle style;};#endif#if defined(Q_WS_X11)#  include "private/qfontengine_x11_p.h"#elif defined(Q_WS_WIN)#  include "private/qfontengine_win_p.h"#endifclass QTestFontEngine : public QFontEngineBox{public:    QTestFontEngine(int size) : QFontEngineBox(size) {}    Type type() const { return TestFontEngine; }};#endif // QFONTENGINE_P_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -