aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui')
-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