diff --git a/doric-Qt/doric/resources/text.qml b/doric-Qt/doric/resources/text.qml index 36e9ad39..078c6a94 100644 --- a/doric-Qt/doric/resources/text.qml +++ b/doric-Qt/doric/resources/text.qml @@ -1,6 +1,8 @@ import QtQuick 2.12 import QtQuick.Controls 2.5 + import "util.mjs" as Util +import "gravity.mjs" as Gravity Rectangle { property var uuid: Util.uuidv4() @@ -32,6 +34,18 @@ Rectangle { } Text { + property int textAlignment: 0 + onTextAlignmentChanged: { + let gravity = Gravity.enumerate() + let result = this.textAlignment | gravity.CENTER_Y + console.log(tag, uuid + " onTextAlignmentChanged: " + this.textAlignment) + switch(result) { + case gravity.CENTER: + this.anchors.horizontalCenter = parent.horizontalCenter + this.anchors.verticalCenter = parent.verticalCenter + break + } + } } } diff --git a/doric-Qt/doric/shader/DoricTextNode.cpp b/doric-Qt/doric/shader/DoricTextNode.cpp index b3f29959..036a8522 100644 --- a/doric-Qt/doric/shader/DoricTextNode.cpp +++ b/doric-Qt/doric/shader/DoricTextNode.cpp @@ -25,6 +25,8 @@ void DoricTextNode::blend(QQuickItem *view, QString name, QJSValue prop) { QFont font = view->childItems().at(0)->property("font").value(); font.setPixelSize(prop.toNumber()); view->childItems().at(0)->setProperty("font", QVariant(font)); + } else if (name == "textAlignment") { + view->childItems().at(0)->setProperty("textAlignment", prop.toInt()); } else { DoricViewNode::blend(view, name, prop); }