aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/gui
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/win/gui')
-rw-r--r--include/cru/win/gui/Base.hpp10
-rw-r--r--include/cru/win/gui/Cursor.hpp3
-rw-r--r--include/cru/win/gui/GodWindow.hpp2
-rw-r--r--include/cru/win/gui/InputMethod.hpp7
-rw-r--r--include/cru/win/gui/Keyboard.hpp4
-rw-r--r--include/cru/win/gui/Resource.hpp3
-rw-r--r--include/cru/win/gui/UiApplication.hpp4
-rw-r--r--include/cru/win/gui/Window.hpp3
-rw-r--r--include/cru/win/gui/WindowClass.hpp2
-rw-r--r--include/cru/win/gui/WindowNativeMessageEventArgs.hpp6
10 files changed, 29 insertions, 15 deletions
diff --git a/include/cru/win/gui/Base.hpp b/include/cru/win/gui/Base.hpp
index 00782663..e6807710 100644
--- a/include/cru/win/gui/Base.hpp
+++ b/include/cru/win/gui/Base.hpp
@@ -3,6 +3,16 @@
#include "cru/common/Base.hpp"
+#ifdef CRU_PLATFORM_WINDOWS
+#ifdef CRU_WIN_GUI_EXPORT_API
+#define CRU_WIN_GUI_API __declspec(dllexport)
+#else
+#define CRU_WIN_GUI_API __declspec(dllimport)
+#endif
+#else
+#define CRU_WIN_GUI_API
+#endif
+
namespace cru::platform::gui::win {
class GodWindow;
class TimerManager;
diff --git a/include/cru/win/gui/Cursor.hpp b/include/cru/win/gui/Cursor.hpp
index e7c76879..89f61db9 100644
--- a/include/cru/win/gui/Cursor.hpp
+++ b/include/cru/win/gui/Cursor.hpp
@@ -6,7 +6,8 @@
#include <memory>
namespace cru::platform::gui::win {
-class WinCursor : public WinNativeResource, public virtual ICursor {
+class CRU_WIN_GUI_API WinCursor : public WinNativeResource,
+ public virtual ICursor {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::platform::gui::win::WinCursor")
public:
diff --git a/include/cru/win/gui/GodWindow.hpp b/include/cru/win/gui/GodWindow.hpp
index d9a128e6..fa69cb84 100644
--- a/include/cru/win/gui/GodWindow.hpp
+++ b/include/cru/win/gui/GodWindow.hpp
@@ -8,7 +8,7 @@
#include <memory>
namespace cru::platform::gui::win {
-class GodWindow : public Object {
+class CRU_WIN_GUI_API GodWindow : public Object {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::platform::gui::win::GodWindow")
public:
diff --git a/include/cru/win/gui/InputMethod.hpp b/include/cru/win/gui/InputMethod.hpp
index 3784dcda..0f50c0aa 100644
--- a/include/cru/win/gui/InputMethod.hpp
+++ b/include/cru/win/gui/InputMethod.hpp
@@ -11,7 +11,7 @@
#include <imm.h>
namespace cru::platform::gui::win {
-class AutoHIMC : public Object {
+class CRU_WIN_GUI_API AutoHIMC : public Object {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::platform::gui::win::AutoHIMC")
public:
@@ -33,8 +33,9 @@ class AutoHIMC : public Object {
HIMC handle_;
};
-class WinInputMethodContext : public WinNativeResource,
- public virtual IInputMethodContext {
+class CRU_WIN_GUI_API WinInputMethodContext
+ : public WinNativeResource,
+ public virtual IInputMethodContext {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::platform::gui::win::WinInputMethodContext")
public:
diff --git a/include/cru/win/gui/Keyboard.hpp b/include/cru/win/gui/Keyboard.hpp
index 5b98833c..d736966a 100644
--- a/include/cru/win/gui/Keyboard.hpp
+++ b/include/cru/win/gui/Keyboard.hpp
@@ -4,6 +4,6 @@
#include "cru/platform/gui/Keyboard.hpp"
namespace cru::platform::gui::win {
-KeyCode VirtualKeyToKeyCode(int virtual_key);
-KeyModifier RetrieveKeyMofifier();
+KeyCode CRU_WIN_GUI_API VirtualKeyToKeyCode(int virtual_key);
+KeyModifier CRU_WIN_GUI_API RetrieveKeyMofifier();
} // namespace cru::platform::gui::win
diff --git a/include/cru/win/gui/Resource.hpp b/include/cru/win/gui/Resource.hpp
index 4215de69..34c4fc1b 100644
--- a/include/cru/win/gui/Resource.hpp
+++ b/include/cru/win/gui/Resource.hpp
@@ -4,7 +4,8 @@
#include "cru/platform/Resource.hpp"
namespace cru::platform::gui::win {
-class WinNativeResource : public Object, public virtual IPlatformResource {
+class CRU_WIN_GUI_API WinNativeResource : public Object,
+ public virtual IPlatformResource {
public:
static String kPlatformId;
diff --git a/include/cru/win/gui/UiApplication.hpp b/include/cru/win/gui/UiApplication.hpp
index 4b972fee..a13dc932 100644
--- a/include/cru/win/gui/UiApplication.hpp
+++ b/include/cru/win/gui/UiApplication.hpp
@@ -11,8 +11,8 @@ class DirectGraphicsFactory;
}
namespace cru::platform::gui::win {
-class WinUiApplication : public WinNativeResource,
- public virtual IUiApplication {
+class CRU_WIN_GUI_API WinUiApplication : public WinNativeResource,
+ public virtual IUiApplication {
public:
static WinUiApplication* GetInstance() { return instance; }
diff --git a/include/cru/win/gui/Window.hpp b/include/cru/win/gui/Window.hpp
index 41eac5fa..baca8f00 100644
--- a/include/cru/win/gui/Window.hpp
+++ b/include/cru/win/gui/Window.hpp
@@ -9,7 +9,8 @@
#include <memory>
namespace cru::platform::gui::win {
-class WinNativeWindow : public WinNativeResource, public virtual INativeWindow {
+class CRU_WIN_GUI_API WinNativeWindow : public WinNativeResource,
+ public virtual INativeWindow {
CRU_DEFINE_CLASS_LOG_TAG(u"cru::platform::gui::win::WinNativeWindow")
public:
diff --git a/include/cru/win/gui/WindowClass.hpp b/include/cru/win/gui/WindowClass.hpp
index 2c07b68f..ab55b214 100644
--- a/include/cru/win/gui/WindowClass.hpp
+++ b/include/cru/win/gui/WindowClass.hpp
@@ -4,7 +4,7 @@
#include <string>
namespace cru::platform::gui::win {
-class WindowClass : public Object {
+class CRU_WIN_GUI_API WindowClass : public Object {
public:
WindowClass(std::wstring name, WNDPROC window_proc, HINSTANCE h_instance);
diff --git a/include/cru/win/gui/WindowNativeMessageEventArgs.hpp b/include/cru/win/gui/WindowNativeMessageEventArgs.hpp
index 834ba3c2..7e62c19d 100644
--- a/include/cru/win/gui/WindowNativeMessageEventArgs.hpp
+++ b/include/cru/win/gui/WindowNativeMessageEventArgs.hpp
@@ -1,17 +1,17 @@
#pragma once
-#include "../WinPreConfig.hpp"
+#include "Base.hpp"
#include "cru/common/Base.hpp"
namespace cru::platform::gui::win {
-struct WindowNativeMessage {
+struct CRU_WIN_GUI_API WindowNativeMessage {
HWND hwnd;
UINT msg;
WPARAM w_param;
LPARAM l_param;
};
-class WindowNativeMessageEventArgs : public Object {
+class CRU_WIN_GUI_API WindowNativeMessageEventArgs : public Object {
public:
WindowNativeMessageEventArgs(const WindowNativeMessage& message)
: message_(message) {}