From 3eeb062d2e1485ba9c35057afbd721fdc30cb1f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8A=B2=E9=B9=8F?= Date: Tue, 9 Feb 2021 17:42:11 +0800 Subject: [PATCH] fix circular deps --- doric-Qt/doric/DoricContext.cpp | 1 + doric-Qt/doric/DoricContext.h | 3 ++- doric-Qt/doric/DoricPanel.cpp | 2 ++ doric-Qt/doric/demo/DoricDemoBridge.cpp | 15 +++++++++++++-- doric-Qt/doric/shader/DoricRootNode.cpp | 2 +- doric-Qt/doric/shader/DoricRootNode.h | 8 ++++++-- 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/doric-Qt/doric/DoricContext.cpp b/doric-Qt/doric/DoricContext.cpp index f3dd32eb..6cdd398a 100644 --- a/doric-Qt/doric/DoricContext.cpp +++ b/doric-Qt/doric/DoricContext.cpp @@ -2,6 +2,7 @@ #include "DoricContextManager.h" #include "DoricNativeDriver.h" +#include "shader/DoricRootNode.h" #include "utils/DoricConstant.h" #include "utils/DoricContextHolder.h" diff --git a/doric-Qt/doric/DoricContext.h b/doric-Qt/doric/DoricContext.h index 28b28270..cebb8c2e 100644 --- a/doric-Qt/doric/DoricContext.h +++ b/doric-Qt/doric/DoricContext.h @@ -4,7 +4,8 @@ #include #include "DoricInterfaceDriver.h" -#include "shader/DoricRootNode.h" + +class DoricRootNode; class DoricContext { private: diff --git a/doric-Qt/doric/DoricPanel.cpp b/doric-Qt/doric/DoricPanel.cpp index ad95560c..ade267fa 100644 --- a/doric-Qt/doric/DoricPanel.cpp +++ b/doric-Qt/doric/DoricPanel.cpp @@ -1,4 +1,5 @@ #include "DoricPanel.h" +#include "shader/DoricRootNode.h" DoricPanel::DoricPanel() {} @@ -9,5 +10,6 @@ void DoricPanel::config(QString script, QString alias, QString extra) { void DoricPanel::config(DoricContext *context) { this->mContext = context; + this->mContext->getRootNode()->setRootView(); this->mContext->build(960, 720); } diff --git a/doric-Qt/doric/demo/DoricDemoBridge.cpp b/doric-Qt/doric/demo/DoricDemoBridge.cpp index 09e24f80..261e1bc8 100644 --- a/doric-Qt/doric/demo/DoricDemoBridge.cpp +++ b/doric-Qt/doric/demo/DoricDemoBridge.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "DoricDemoBridge.h" #include "DoricPanel.h" @@ -12,8 +14,17 @@ void DoricDemoBridge::navigate(QVariant route) { QString name = "Snake.es5.js"; QString script = DoricUtils::readAssetFile("/doric/bundles", name); - DoricPanel panel; - panel.config(script, name, NULL); + QQuickView *view = new QQuickView(); + view->setWidth(960); + view->setHeight(720); + QColor color("blue"); + view->setColor(color); + view->show(); + + view->rootObject(); + + DoricPanel *panel = new DoricPanel(); + panel->config(script, name, NULL); break; } } diff --git a/doric-Qt/doric/shader/DoricRootNode.cpp b/doric-Qt/doric/shader/DoricRootNode.cpp index d030916f..02b13df2 100644 --- a/doric-Qt/doric/shader/DoricRootNode.cpp +++ b/doric-Qt/doric/shader/DoricRootNode.cpp @@ -1,3 +1,3 @@ #include "DoricRootNode.h" -DoricRootNode::DoricRootNode() {} +void DoricRootNode::setRootView() {} diff --git a/doric-Qt/doric/shader/DoricRootNode.h b/doric-Qt/doric/shader/DoricRootNode.h index a6b68138..5b00263e 100644 --- a/doric-Qt/doric/shader/DoricRootNode.h +++ b/doric-Qt/doric/shader/DoricRootNode.h @@ -1,9 +1,13 @@ #ifndef ROOTNODE_H #define ROOTNODE_H -class DoricRootNode { +#include "DoricStackNode.h" + +class DoricRootNode : public DoricStackNode { public: - DoricRootNode(); + using DoricStackNode::DoricStackNode; + + void setRootView(); }; #endif // ROOTNODE_H