summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontengine_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/text/qfontengine_p.h')
-rw-r--r--src/gui/text/qfontengine_p.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index 855f0099ff..1a6862898d 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -75,11 +75,19 @@ struct QGlyphLayout;
((quint32)(ch4)) \
)
+// ### this only used in getPointInOutline(), refactor it and then remove these magic numbers
+enum HB_Compat_Error {
+ Err_Ok = 0x0000,
+ Err_Not_Covered = 0xFFFF,
+ Err_Invalid_Argument = 0x1A66,
+ Err_Invalid_SubTable_Format = 0x157F,
+ Err_Invalid_SubTable = 0x1570
+};
+
typedef void (*qt_destroy_func_t) (void *user_data);
-class Q_GUI_EXPORT QFontEngine : public QObject
+class Q_GUI_EXPORT QFontEngine
{
- Q_OBJECT
public:
enum Type {
Box,
@@ -291,9 +299,13 @@ public:
QImage currentlyLockedAlphaMap;
int m_subPixelPositionCount; // Number of positions within a single pixel for this cache
+ inline QVariant userData() const { return m_userData; }
+
protected:
QFixed lastRightBearing(const QGlyphLayout &glyphs, bool round = false);
+ inline void setUserData(const QVariant &userData) { m_userData = userData; }
+
private:
struct GlyphCacheEntry {
const void *context;
@@ -302,6 +314,9 @@ private:
};
mutable QLinkedList<GlyphCacheEntry> m_glyphCaches;
+
+private:
+ QVariant m_userData;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QFontEngine::ShaperFlags)
@@ -359,7 +374,6 @@ private:
class Q_GUI_EXPORT QFontEngineMulti : public QFontEngine
{
- Q_OBJECT
public:
explicit QFontEngineMulti(int engineCount);
~QFontEngineMulti();