add x & y & spacing; render try catch; remove rectangle layer in qml
This commit is contained in:
@@ -6,18 +6,22 @@
|
||||
void DoricShaderPlugin::render(QJSValue jsValue, QString callbackId) {
|
||||
getContext()->getDriver()->asyncCall(
|
||||
[this, jsValue] {
|
||||
QString viewId = jsValue.property("id").toString();
|
||||
DoricRootNode *rootNode = getContext()->getRootNode();
|
||||
try {
|
||||
QString viewId = jsValue.property("id").toString();
|
||||
DoricRootNode *rootNode = getContext()->getRootNode();
|
||||
|
||||
if (rootNode->getId().isEmpty() &&
|
||||
jsValue.property("type").toString() == "Root") {
|
||||
rootNode->setId(viewId);
|
||||
rootNode->blend(jsValue.property("props"));
|
||||
} else {
|
||||
DoricViewNode *viewNode = getContext()->targetViewNode(viewId);
|
||||
if (viewNode != nullptr) {
|
||||
viewNode->blend(jsValue.property("props"));
|
||||
if (rootNode->getId().isEmpty() &&
|
||||
jsValue.property("type").toString() == "Root") {
|
||||
rootNode->setId(viewId);
|
||||
rootNode->blend(jsValue.property("props"));
|
||||
} else {
|
||||
DoricViewNode *viewNode = getContext()->targetViewNode(viewId);
|
||||
if (viewNode != nullptr) {
|
||||
viewNode->blend(jsValue.property("props"));
|
||||
}
|
||||
}
|
||||
} catch (...) {
|
||||
qCritical() << "render exception";
|
||||
}
|
||||
},
|
||||
DoricThreadMode::UI);
|
||||
|
Reference in New Issue
Block a user