aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-01-17 22:55:09 +0800
committercrupest <crupest@outlook.com>2022-01-17 22:55:09 +0800
commit67dd012c0f49898f1734c46d3bb264f59d056a8e (patch)
tree780dc9c50868a8e7b89e68b463a60745fce72ae9 /include/cru/ui/controls
parent81f7d5faaaf79149070a901a4f299aee70c46379 (diff)
downloadcru-67dd012c0f49898f1734c46d3bb264f59d056a8e.tar.gz
cru-67dd012c0f49898f1734c46d3bb264f59d056a8e.tar.bz2
cru-67dd012c0f49898f1734c46d3bb264f59d056a8e.zip
...
Diffstat (limited to 'include/cru/ui/controls')
-rw-r--r--include/cru/ui/controls/Button.hpp2
-rw-r--r--include/cru/ui/controls/Container.hpp2
-rw-r--r--include/cru/ui/controls/ContentControl.hpp2
-rw-r--r--include/cru/ui/controls/Control.hpp2
-rw-r--r--include/cru/ui/controls/FlexLayout.hpp2
-rw-r--r--include/cru/ui/controls/IBorderControl.hpp2
-rw-r--r--include/cru/ui/controls/IClickableControl.hpp2
-rw-r--r--include/cru/ui/controls/LayoutControl.hpp2
-rw-r--r--include/cru/ui/controls/NoChildControl.hpp2
-rw-r--r--include/cru/ui/controls/Popup.hpp2
-rw-r--r--include/cru/ui/controls/RootControl.hpp2
-rw-r--r--include/cru/ui/controls/ScrollView.hpp2
-rw-r--r--include/cru/ui/controls/StackLayout.hpp2
-rw-r--r--include/cru/ui/controls/TextBlock.hpp2
-rw-r--r--include/cru/ui/controls/TextBox.hpp5
-rw-r--r--include/cru/ui/controls/TextHostControlService.hpp4
-rw-r--r--include/cru/ui/controls/Window.hpp2
17 files changed, 18 insertions, 21 deletions
diff --git a/include/cru/ui/controls/Button.hpp b/include/cru/ui/controls/Button.hpp
index e0335a39..77e0989c 100644
--- a/include/cru/ui/controls/Button.hpp
+++ b/include/cru/ui/controls/Button.hpp
@@ -8,7 +8,7 @@
#include "cru/ui/style/ApplyBorderStyleInfo.hpp"
namespace cru::ui::controls {
-class Button : public ContentControl,
+class CRU_UI_API Button : public ContentControl,
public virtual IClickableControl,
public virtual IBorderControl {
public:
diff --git a/include/cru/ui/controls/Container.hpp b/include/cru/ui/controls/Container.hpp
index f992c152..4385c23f 100644
--- a/include/cru/ui/controls/Container.hpp
+++ b/include/cru/ui/controls/Container.hpp
@@ -2,7 +2,7 @@
#include "ContentControl.hpp"
namespace cru::ui::controls {
-class Container : public ContentControl {
+class CRU_UI_API Container : public ContentControl {
static constexpr StringView control_type = u"Container";
protected:
diff --git a/include/cru/ui/controls/ContentControl.hpp b/include/cru/ui/controls/ContentControl.hpp
index 1bdaf7e4..7b40de64 100644
--- a/include/cru/ui/controls/ContentControl.hpp
+++ b/include/cru/ui/controls/ContentControl.hpp
@@ -4,7 +4,7 @@
#include "cru/ui/render/RenderObject.hpp"
namespace cru::ui::controls {
-class ContentControl : public Control {
+class CRU_UI_API ContentControl : public Control {
protected:
ContentControl() = default;
diff --git a/include/cru/ui/controls/Control.hpp b/include/cru/ui/controls/Control.hpp
index 29d48f21..ed6233a9 100644
--- a/include/cru/ui/controls/Control.hpp
+++ b/include/cru/ui/controls/Control.hpp
@@ -8,7 +8,7 @@
#include <string_view>
namespace cru::ui::controls {
-class Control : public Object {
+class CRU_UI_API Control : public Object {
friend host::WindowHost;
protected:
diff --git a/include/cru/ui/controls/FlexLayout.hpp b/include/cru/ui/controls/FlexLayout.hpp
index f4e186db..7724c4c6 100644
--- a/include/cru/ui/controls/FlexLayout.hpp
+++ b/include/cru/ui/controls/FlexLayout.hpp
@@ -2,7 +2,7 @@
#include "LayoutControl.hpp"
namespace cru::ui::controls {
-class FlexLayout : public LayoutControl {
+class CRU_UI_API FlexLayout : public LayoutControl {
public:
static constexpr StringView control_type = u"FlexLayout";
diff --git a/include/cru/ui/controls/IBorderControl.hpp b/include/cru/ui/controls/IBorderControl.hpp
index 817305ef..a8bc0b51 100644
--- a/include/cru/ui/controls/IBorderControl.hpp
+++ b/include/cru/ui/controls/IBorderControl.hpp
@@ -4,7 +4,7 @@
#include "cru/common/Base.hpp"
namespace cru::ui::controls {
-struct IBorderControl : virtual Interface {
+struct CRU_UI_API IBorderControl : virtual Interface {
virtual void ApplyBorderStyle(const style::ApplyBorderStyleInfo& style) = 0;
};
} // namespace cru::ui::controls
diff --git a/include/cru/ui/controls/IClickableControl.hpp b/include/cru/ui/controls/IClickableControl.hpp
index aa7f13ab..af9ae100 100644
--- a/include/cru/ui/controls/IClickableControl.hpp
+++ b/include/cru/ui/controls/IClickableControl.hpp
@@ -5,7 +5,7 @@
#include "cru/ui/helper/ClickDetector.hpp"
namespace cru::ui::controls {
-struct IClickableControl : virtual Interface {
+struct CRU_UI_API IClickableControl : virtual Interface {
virtual helper::ClickState GetClickState() = 0;
virtual IEvent<helper::ClickState>* ClickStateChangeEvent() = 0;
};
diff --git a/include/cru/ui/controls/LayoutControl.hpp b/include/cru/ui/controls/LayoutControl.hpp
index 381df1df..3999e9bc 100644
--- a/include/cru/ui/controls/LayoutControl.hpp
+++ b/include/cru/ui/controls/LayoutControl.hpp
@@ -2,7 +2,7 @@
#include "Control.hpp"
namespace cru::ui::controls {
-class LayoutControl : public Control {
+class CRU_UI_API LayoutControl : public Control {
protected:
LayoutControl() = default;
explicit LayoutControl(render::RenderObject* container_render_object)
diff --git a/include/cru/ui/controls/NoChildControl.hpp b/include/cru/ui/controls/NoChildControl.hpp
index 562137f1..0c432532 100644
--- a/include/cru/ui/controls/NoChildControl.hpp
+++ b/include/cru/ui/controls/NoChildControl.hpp
@@ -2,7 +2,7 @@
#include "Control.hpp"
namespace cru::ui::controls {
-class NoChildControl : public Control {
+class CRU_UI_API NoChildControl : public Control {
protected:
NoChildControl() = default;
diff --git a/include/cru/ui/controls/Popup.hpp b/include/cru/ui/controls/Popup.hpp
index 2e40bb5b..4076e45b 100644
--- a/include/cru/ui/controls/Popup.hpp
+++ b/include/cru/ui/controls/Popup.hpp
@@ -6,7 +6,7 @@
#include <memory>
namespace cru::ui::controls {
-class Popup : public RootControl {
+class CRU_UI_API Popup : public RootControl {
public:
static constexpr StringView kControlType = u"Popup";
diff --git a/include/cru/ui/controls/RootControl.hpp b/include/cru/ui/controls/RootControl.hpp
index c3f3da9f..f70f2eeb 100644
--- a/include/cru/ui/controls/RootControl.hpp
+++ b/include/cru/ui/controls/RootControl.hpp
@@ -9,7 +9,7 @@
#include "cru/ui/host/WindowHost.hpp"
namespace cru::ui::controls {
-class RootControl : public LayoutControl {
+class CRU_UI_API RootControl : public LayoutControl {
protected:
explicit RootControl(Control* attached_control);
diff --git a/include/cru/ui/controls/ScrollView.hpp b/include/cru/ui/controls/ScrollView.hpp
index 4edf1706..18a9bf97 100644
--- a/include/cru/ui/controls/ScrollView.hpp
+++ b/include/cru/ui/controls/ScrollView.hpp
@@ -8,7 +8,7 @@
#include <string_view>
namespace cru::ui::controls {
-class ScrollView : public ContentControl {
+class CRU_UI_API ScrollView : public ContentControl {
public:
static ScrollView* Create() { return new ScrollView(); }
diff --git a/include/cru/ui/controls/StackLayout.hpp b/include/cru/ui/controls/StackLayout.hpp
index 6128f4ef..657cadc6 100644
--- a/include/cru/ui/controls/StackLayout.hpp
+++ b/include/cru/ui/controls/StackLayout.hpp
@@ -2,7 +2,7 @@
#include "LayoutControl.hpp"
namespace cru::ui::controls {
-class StackLayout : public LayoutControl {
+class CRU_UI_API StackLayout : public LayoutControl {
public:
static constexpr StringView control_type = u"StackLayout";
diff --git a/include/cru/ui/controls/TextBlock.hpp b/include/cru/ui/controls/TextBlock.hpp
index 710a39d8..68e9ced1 100644
--- a/include/cru/ui/controls/TextBlock.hpp
+++ b/include/cru/ui/controls/TextBlock.hpp
@@ -4,7 +4,7 @@
#include "TextHostControlService.hpp"
namespace cru::ui::controls {
-class TextBlock : public NoChildControl, public virtual ITextHostControl {
+class CRU_UI_API TextBlock : public NoChildControl, public virtual ITextHostControl {
public:
static constexpr StringView control_type = u"TextBlock";
diff --git a/include/cru/ui/controls/TextBox.hpp b/include/cru/ui/controls/TextBox.hpp
index baca6e3e..241a8a16 100644
--- a/include/cru/ui/controls/TextBox.hpp
+++ b/include/cru/ui/controls/TextBox.hpp
@@ -7,10 +7,7 @@
#include <memory>
namespace cru::ui::controls {
-template <typename TControl>
-class TextControlService;
-
-class TextBox : public NoChildControl,
+class CRU_UI_API TextBox : public NoChildControl,
public virtual IBorderControl,
public virtual ITextHostControl {
public:
diff --git a/include/cru/ui/controls/TextHostControlService.hpp b/include/cru/ui/controls/TextHostControlService.hpp
index 7c0fbcda..be6a7c39 100644
--- a/include/cru/ui/controls/TextHostControlService.hpp
+++ b/include/cru/ui/controls/TextHostControlService.hpp
@@ -22,7 +22,7 @@ class PopupMenu;
namespace cru::ui::controls {
constexpr int k_default_caret_blink_duration = 500;
-struct ITextHostControl : virtual Interface {
+struct CRU_UI_API ITextHostControl : virtual Interface {
virtual gsl::not_null<render::TextRenderObject*> GetTextRenderObject() = 0;
// May return nullptr.
virtual render::ScrollRenderObject* GetScrollRenderObject() = 0;
@@ -76,7 +76,7 @@ class TextControlMovePattern : public Object {
MoveFunction move_function_;
};
-class TextHostControlService : public Object {
+class CRU_UI_API TextHostControlService : public Object {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::ui::controls::TextControlService")
public:
diff --git a/include/cru/ui/controls/Window.hpp b/include/cru/ui/controls/Window.hpp
index b0828f70..c304a839 100644
--- a/include/cru/ui/controls/Window.hpp
+++ b/include/cru/ui/controls/Window.hpp
@@ -5,7 +5,7 @@
#include "cru/common/Base.hpp"
namespace cru::ui::controls {
-class Window final : public RootControl {
+class CRU_UI_API Window final : public RootControl {
public:
static constexpr StringView control_type = u"Window";