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

📄 qabstractfontengine_qws.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QABSTRACTFONTENGINE_QWS_H#define QABSTRACTFONTENGINE_QWS_H#include <QtCore/qobject.h>#include <QtCore/qhash.h>#include <QtCore/qvariant.h>#include <QtCore/qfactoryinterface.h>#include <QtGui/qpaintengine.h>#include <QtGui/qfontdatabase.h>QT_BEGIN_HEADERQT_MODULE(Gui)class QFontEngineInfoPrivate;class Q_GUI_EXPORT QFontEngineInfo{public:    QDOC_PROPERTY(QString family READ family WRITE setFamily)    QDOC_PROPERTY(qreal pixelSize READ pixelSize WRITE setPixelSize)    QDOC_PROPERTY(int weight READ weight WRITE setWeight)    QDOC_PROPERTY(QFont::Style style READ style WRITE setStyle)    QDOC_PROPERTY(QList<QFontDatabase::WritingSystem> writingSystems READ writingSystems WRITE setWritingSystems)    QFontEngineInfo();    explicit QFontEngineInfo(const QString &family);    QFontEngineInfo(const QFontEngineInfo &other);    QFontEngineInfo &operator=(const QFontEngineInfo &other);    ~QFontEngineInfo();    void setFamily(const QString &name);    QString family() const;    void setPixelSize(qreal size);    qreal pixelSize() const;    void setWeight(int weight);    int weight() const;    void setStyle(QFont::Style style);    QFont::Style style() const;    QList<QFontDatabase::WritingSystem> writingSystems() const;    void setWritingSystems(const QList<QFontDatabase::WritingSystem> &writingSystems);private:    QFontEngineInfoPrivate *d;};class QAbstractFontEngine;struct Q_GUI_EXPORT QFontEngineFactoryInterface : public QFactoryInterface{     virtual QAbstractFontEngine *create(const QFontEngineInfo &info) = 0;     virtual QList<QFontEngineInfo> availableFontEngines() const = 0;};#define QFontEngineFactoryInterface_iid "com.trolltech.Qt.QFontEngineFactoryInterface"Q_DECLARE_INTERFACE(QFontEngineFactoryInterface, QFontEngineFactoryInterface_iid)class QFontEnginePluginPrivate;class Q_GUI_EXPORT QFontEnginePlugin : public QObject, public QFontEngineFactoryInterface{    Q_OBJECT    Q_INTERFACES(QFontEngineFactoryInterface:QFactoryInterface)public:    QFontEnginePlugin(const QString &foundry, QObject *parent = 0);    ~QFontEnginePlugin();    virtual QStringList keys() const;    virtual QAbstractFontEngine *create(const QFontEngineInfo &info) = 0;    virtual QList<QFontEngineInfo> availableFontEngines() const = 0;private:    Q_DECLARE_PRIVATE(QFontEnginePlugin)    Q_DISABLE_COPY(QFontEnginePlugin)};class QAbstractFontEnginePrivate;class Q_GUI_EXPORT QAbstractFontEngine : public QObject{    Q_OBJECTpublic:    enum Capability {        CanOutlineGlyphs = 1,        CanRenderGlyphs_Mono = 2,        CanRenderGlyphs_Gray = 4,        CanRenderGlyphs = CanRenderGlyphs_Mono | CanRenderGlyphs_Gray    };    Q_DECLARE_FLAGS(Capabilities, Capability)    explicit QAbstractFontEngine(QObject *parent = 0);    ~QAbstractFontEngine();    typedef int Fixed; // 26.6    struct FixedPoint    {        Fixed x;        Fixed y;    };    struct GlyphMetrics    {        inline GlyphMetrics()            : x(0), y(0), width(0), height(0),              advance(0) {}        Fixed x;        Fixed y;        Fixed width;        Fixed height;        Fixed advance;    };    enum FontProperty {        Ascent,        Descent,        Leading,        XHeight,        AverageCharWidth,        LineThickness,        UnderlinePosition,        MaxCharWidth,        MinLeftBearing,        MinRightBearing,        GlyphCount,        // hints        CacheGlyphsHint,        OutlineGlyphsHint    };    // keep in sync with QTextEngine::ShaperFlag!!    enum TextShapingFlag {        RightToLeft         = 0x0001,        ReturnDesignMetrics = 0x0002    };    Q_DECLARE_FLAGS(TextShapingFlags, TextShapingFlag)    virtual Capabilities capabilities() const = 0;    virtual QVariant fontProperty(FontProperty property) const = 0;    virtual bool convertStringToGlyphIndices(const QChar *string, int length, uint *glyphs, int *numGlyphs, TextShapingFlags flags) const = 0;    virtual void getGlyphAdvances(const uint *glyphs, int numGlyphs, Fixed *advances, TextShapingFlags flags) const = 0;    virtual GlyphMetrics glyphMetrics(uint glyph) const = 0;    virtual bool renderGlyph(uint glyph, int depth, int bytesPerLine, int height, uchar *buffer);    virtual void addGlyphOutlinesToPath(uint *glyphs, int numGlyphs, FixedPoint *positions, QPainterPath *path);    /*    enum Extension {        GetTrueTypeTable    };    virtual bool supportsExtension(Extension extension) const;    virtual QVariant extension(Extension extension, const QVariant &argument = QVariant());    */private:    Q_DECLARE_PRIVATE(QAbstractFontEngine)    Q_DISABLE_COPY(QAbstractFontEngine)};Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFontEngine::Capabilities)Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractFontEngine::TextShapingFlags)QT_END_HEADER#endif

⌨️ 快捷键说明

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