diff options
Diffstat (limited to 'src/quick/util/qquickglobal.cpp')
-rw-r--r-- | src/quick/util/qquickglobal.cpp | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp index 1d2f3de1df..5337bfd640 100644 --- a/src/quick/util/qquickglobal.cpp +++ b/src/quick/util/qquickglobal.cpp @@ -302,6 +302,8 @@ public: QV4::ScopedValue vweight(scope, obj->get((s = v4->newString(QStringLiteral("weight"))))); QV4::ScopedValue vwspac(scope, obj->get((s = v4->newString(QStringLiteral("wordSpacing"))))); QV4::ScopedValue vhint(scope, obj->get((s = v4->newString(QStringLiteral("hintingPreference"))))); + QV4::ScopedValue vkerning(scope, obj->get((s = v4->newString(QStringLiteral("kerning"))))); + QV4::ScopedValue vshaping(scope, obj->get((s = v4->newString(QStringLiteral("preferShaping"))))); // pull out the values, set ok to true if at least one valid field is given. if (vbold->isBoolean()) { @@ -356,6 +358,17 @@ public: retn.setHintingPreference(static_cast<QFont::HintingPreference>(vhint->integerValue())); if (ok) *ok = true; } + if (vkerning->isBoolean()) { + retn.setKerning(vkerning->booleanValue()); + if (ok) *ok = true; + } + if (vshaping->isBoolean()) { + bool enable = vshaping->booleanValue(); + if (enable) + retn.setStyleStrategy(static_cast<QFont::StyleStrategy>(retn.styleStrategy() & ~QFont::PreferNoShaping)); + else + retn.setStyleStrategy(static_cast<QFont::StyleStrategy>(retn.styleStrategy() | QFont::PreferNoShaping)); + } return retn; } @@ -375,7 +388,7 @@ public: float matVals[16]; QV4::ScopedValue v(scope); for (quint32 i = 0; i < 16; ++i) { - v = array->getIndexed(i); + v = array->get(i); if (!v->isNumber()) return QMatrix4x4(); matVals[i] = v->asDouble(); @@ -385,7 +398,7 @@ public: return QMatrix4x4(matVals); } - const QMetaObject *getMetaObjectForMetaType(int type) Q_DECL_OVERRIDE + const QMetaObject *getMetaObjectForMetaType(int type) override { switch (type) { case QMetaType::QColor: @@ -406,10 +419,10 @@ public: break; } - return 0; + return nullptr; } - bool init(int type, QVariant& dst) Q_DECL_OVERRIDE + bool init(int type, QVariant& dst) override { switch (type) { case QMetaType::QColor: @@ -439,7 +452,7 @@ public: return false; } - bool create(int type, int argc, const void *argv[], QVariant *v) Q_DECL_OVERRIDE + bool create(int type, int argc, const void *argv[], QVariant *v) override { switch (type) { case QMetaType::QFont: // must specify via js-object. @@ -506,7 +519,7 @@ public: return true; } - bool createFromString(int type, const QString &s, void *data, size_t dataSize) Q_DECL_OVERRIDE + bool createFromString(int type, const QString &s, void *data, size_t dataSize) override { bool ok = false; @@ -529,7 +542,7 @@ public: return false; } - bool createStringFrom(int type, const void *data, QString *s) Q_DECL_OVERRIDE + bool createStringFrom(int type, const void *data, QString *s) override { if (type == QMetaType::QColor) { const QColor *color = reinterpret_cast<const QColor *>(data); @@ -540,7 +553,7 @@ public: return false; } - bool variantFromString(const QString &s, QVariant *v) Q_DECL_OVERRIDE + bool variantFromString(const QString &s, QVariant *v) override { QColor c(s); if (c.isValid()) { @@ -583,7 +596,7 @@ public: return false; } - bool variantFromString(int type, const QString &s, QVariant *v) Q_DECL_OVERRIDE + bool variantFromString(int type, const QString &s, QVariant *v) override { bool ok = false; @@ -626,7 +639,7 @@ public: return false; } - bool variantFromJsObject(int type, QQmlV4Handle object, QV4::ExecutionEngine *v4, QVariant *v) Q_DECL_OVERRIDE + bool variantFromJsObject(int type, QQmlV4Handle object, QV4::ExecutionEngine *v4, QVariant *v) override { QV4::Scope scope(v4); #ifndef QT_NO_DEBUG @@ -652,7 +665,7 @@ public: return (*(reinterpret_cast<const T *>(lhs)) == rhs.value<T>()); } - bool equal(int type, const void *lhs, const QVariant &rhs) Q_DECL_OVERRIDE + bool equal(int type, const void *lhs, const QVariant &rhs) override { switch (type) { case QMetaType::QColor: @@ -685,7 +698,7 @@ public: return true; } - bool store(int type, const void *src, void *dst, size_t dstSize) Q_DECL_OVERRIDE + bool store(int type, const void *src, void *dst, size_t dstSize) override { Q_UNUSED(dstSize); switch (type) { @@ -715,7 +728,7 @@ public: return true; } - bool read(const QVariant &src, void *dst, int dstType) Q_DECL_OVERRIDE + bool read(const QVariant &src, void *dst, int dstType) override { switch (dstType) { case QMetaType::QColor: @@ -749,7 +762,7 @@ public: return false; } - bool write(int type, const void *src, QVariant& dst) Q_DECL_OVERRIDE + bool write(int type, const void *src, QVariant& dst) override { switch (type) { case QMetaType::QColor: @@ -850,8 +863,8 @@ void QQuick_initializeProviders() void QQuick_deinitializeProviders() { QQml_removeValueTypeProvider(getValueTypeProvider()); - QQml_setColorProvider(0); // technically, another plugin may have overridden our providers - QQml_setGuiProvider(0); // but we cannot handle that case in a sane way. + QQml_setColorProvider(nullptr); // technically, another plugin may have overridden our providers + QQml_setGuiProvider(nullptr); // but we cannot handle that case in a sane way. } QT_END_NAMESPACE |