#pragma once #include #include #include #include #include Q_DECLARE_METATYPE(QFontInfo) Q_DECLARE_METATYPE(QFontMetrics) Q_DECLARE_METATYPE(QFontMetricsF) namespace QtMetaTypePrivate { template <> inline void *QMetaTypeFunctionHelper::Construct(void *where, const void *t) { if (t) return new (where) QFontInfo(*static_cast(t)); return new (where) QFontInfo(QFont()); } template <> inline void *QMetaTypeFunctionHelper::Construct(void *where, const void *t) { if (t) return new (where) QFontMetrics(*static_cast(t)); return new (where) QFontMetrics(QFont()); } template <> inline void *QMetaTypeFunctionHelper::Construct(void *where, const void *t) { if (t) return new (where) QFontMetricsF(*static_cast(t)); return new (where) QFontMetricsF(QFont()); } } template <> inline QFontInfo qscriptvalue_cast(const QScriptValue &value) { QFont f; QFontInfo t(f); const int id = qMetaTypeId(); if (qscriptvalue_cast_helper(value, id, (void*)&t)) return t; return QFontInfo(QFont()); } template <> inline QFontMetrics qscriptvalue_cast(const QScriptValue &value) { QFont f; QFontMetrics t(f); const int id = qMetaTypeId(); if (qscriptvalue_cast_helper(value, id, (void*)&t)) return t; return QFontMetrics(QFont()); } template <> inline QFontMetricsF qscriptvalue_cast(const QScriptValue &value) { QFont f; QFontMetricsF t(f); const int id = qMetaTypeId(); if (qscriptvalue_cast_helper(value, id, (void*)&t)) return t; return QFontMetricsF(QFont()); }