add icon font support (except for res)
This commit is contained in:
parent
08d767bed0
commit
1d4667b347
@ -3,6 +3,10 @@
|
|||||||
<file>main.qml</file>
|
<file>main.qml</file>
|
||||||
<file>test-layout.qml</file>
|
<file>test-layout.qml</file>
|
||||||
<file>qtquickcontrols2.conf</file>
|
<file>qtquickcontrols2.conf</file>
|
||||||
|
<file alias="iconfont.ttf">../../../doric-demo/bundle/iconfont.ttf</file>
|
||||||
|
</qresource>
|
||||||
|
<qresource prefix="/fonts">
|
||||||
|
<file alias="assets_iconfont.ttf">./resources/assets_iconfont.ttf</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/doric/bundles">
|
<qresource prefix="/doric/bundles">
|
||||||
<file alias="Counter.js">../../../doric-demo/bundle/src/Counter.js</file>
|
<file alias="Counter.js">../../../doric-demo/bundle/src/Counter.js</file>
|
||||||
|
BIN
doric-Qt/example/app/resources/assets_iconfont.ttf
Normal file
BIN
doric-Qt/example/app/resources/assets_iconfont.ttf
Normal file
Binary file not shown.
@ -6,6 +6,8 @@ import "util.mjs" as Util
|
|||||||
import "gravity.mjs" as Gravity
|
import "gravity.mjs" as Gravity
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
|
FontLoader { id: webFont }
|
||||||
|
|
||||||
property var wrapper
|
property var wrapper
|
||||||
|
|
||||||
property var uuid: Util.uuidv4()
|
property var uuid: Util.uuidv4()
|
||||||
@ -21,6 +23,13 @@ TextArea {
|
|||||||
|
|
||||||
property int textAlignment: 0
|
property int textAlignment: 0
|
||||||
|
|
||||||
|
property var fontSource: ""
|
||||||
|
|
||||||
|
onFontSourceChanged: {
|
||||||
|
webFont.source = fontSource
|
||||||
|
font.family = webFont.name
|
||||||
|
}
|
||||||
|
|
||||||
property var fontStyle: ""
|
property var fontStyle: ""
|
||||||
|
|
||||||
onFontStyleChanged: {
|
onFontStyleChanged: {
|
||||||
|
@ -50,6 +50,26 @@ void DoricTextNode::blend(QQuickItem *view, QString name, QJsonValue prop) {
|
|||||||
view->setProperty("lineCount", prop.toInt());
|
view->setProperty("lineCount", prop.toInt());
|
||||||
} else if (name == "fontStyle") {
|
} else if (name == "fontStyle") {
|
||||||
view->setProperty("fontStyle", prop.toString());
|
view->setProperty("fontStyle", prop.toString());
|
||||||
|
} else if (name == "font") {
|
||||||
|
QString font = prop.toString();
|
||||||
|
QString fontPath = "";
|
||||||
|
QString fontName = font;
|
||||||
|
|
||||||
|
if (font.contains("/")) {
|
||||||
|
int separatorIndex = font.lastIndexOf("/");
|
||||||
|
fontPath = QStringRef(&font, 0, separatorIndex + 1).toString();
|
||||||
|
fontName = QStringRef(&font, separatorIndex + 1,
|
||||||
|
font.length() - separatorIndex - 1)
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fontName.endsWith(".ttf")) {
|
||||||
|
fontName = fontName.replace(".ttf", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
QString path = "qrc:/" + fontPath + fontName + ".ttf";
|
||||||
|
|
||||||
|
view->setProperty("fontSource", path);
|
||||||
} else if (name == "shadow") {
|
} else if (name == "shadow") {
|
||||||
view->setProperty("shadowColor", QVariant::fromValue(DoricUtils::doricColor(
|
view->setProperty("shadowColor", QVariant::fromValue(DoricUtils::doricColor(
|
||||||
prop["color"].toInt())));
|
prop["color"].toInt())));
|
||||||
|
Reference in New Issue
Block a user