aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-10-15 22:56:59 +0800
committercrupest <crupest@outlook.com>2023-10-15 22:56:59 +0800
commita696fed6a858e1abb88515842666b08bfad72334 (patch)
tree03ccdf4c5f05f6b8f2e18ddda483971da0297ead /include
parentc34035b9491c201eca226a2e065fd9753d706433 (diff)
downloadcru-a696fed6a858e1abb88515842666b08bfad72334.tar.gz
cru-a696fed6a858e1abb88515842666b08bfad72334.tar.bz2
cru-a696fed6a858e1abb88515842666b08bfad72334.zip
Init ui::document.
Diffstat (limited to 'include')
-rw-r--r--include/cru/ui/document/DocumentElement.h19
-rw-r--r--include/cru/ui/document/DocumentElementType.h25
2 files changed, 44 insertions, 0 deletions
diff --git a/include/cru/ui/document/DocumentElement.h b/include/cru/ui/document/DocumentElement.h
new file mode 100644
index 00000000..34c25f11
--- /dev/null
+++ b/include/cru/ui/document/DocumentElement.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "../Base.h"
+#include "DocumentElementType.h"
+
+namespace cru::ui::document {
+class CRU_UI_API DocumentElement : public Object {
+ public:
+ explicit DocumentElement(DocumentElementType* type);
+
+ ~DocumentElement() override;
+
+ public:
+ DocumentElementType* GetType() const { return type_; }
+
+ private:
+ DocumentElementType* type_;
+};
+} // namespace cru::ui::document
diff --git a/include/cru/ui/document/DocumentElementType.h b/include/cru/ui/document/DocumentElementType.h
new file mode 100644
index 00000000..a94bf029
--- /dev/null
+++ b/include/cru/ui/document/DocumentElementType.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "cru/common/String.h"
+
+#include "../Base.h"
+
+namespace cru::ui::document {
+class CRU_UI_API DocumentElementType : public Object {
+ public:
+ explicit DocumentElementType(String name);
+
+ ~DocumentElementType() override;
+
+ public:
+ String GetName() const { return name_; }
+
+ private:
+ String name_;
+};
+
+struct CRU_UI_API DocumentElementTypes {
+ static DocumentElementType* const kRootElementType;
+};
+
+} // namespace cru::ui::document