aboutsummaryrefslogtreecommitdiff
path: root/include/cru/osx/gui
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/osx/gui')
-rw-r--r--include/cru/osx/gui/Clipboard.h31
-rw-r--r--include/cru/osx/gui/Cursor.h43
-rw-r--r--include/cru/osx/gui/InputMethod.h56
-rw-r--r--include/cru/osx/gui/Keyboard.h7
-rw-r--r--include/cru/osx/gui/Menu.h67
-rw-r--r--include/cru/osx/gui/Resource.h24
-rw-r--r--include/cru/osx/gui/UiApplication.h64
-rw-r--r--include/cru/osx/gui/Window.h90
8 files changed, 0 insertions, 382 deletions
diff --git a/include/cru/osx/gui/Clipboard.h b/include/cru/osx/gui/Clipboard.h
deleted file mode 100644
index b4dcce4c..00000000
--- a/include/cru/osx/gui/Clipboard.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#pragma once
-#include "Resource.h"
-
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/Clipboard.h"
-
-#include <memory>
-
-namespace cru::platform::gui::osx {
-namespace details {
-class OsxClipboardPrivate;
-}
-
-class OsxClipboard : public OsxGuiResource, public virtual IClipboard {
- public:
- OsxClipboard(cru::platform::gui::IUiApplication* ui_application,
- std::unique_ptr<details::OsxClipboardPrivate> p);
-
- CRU_DELETE_COPY(OsxClipboard)
- CRU_DELETE_MOVE(OsxClipboard)
-
- ~OsxClipboard() override;
-
- public:
- String GetText() override;
- void SetText(String text) override;
-
- private:
- std::unique_ptr<details::OsxClipboardPrivate> p_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/Cursor.h b/include/cru/osx/gui/Cursor.h
deleted file mode 100644
index 6cfd400a..00000000
--- a/include/cru/osx/gui/Cursor.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/Cursor.h"
-
-#include <memory>
-
-namespace cru::platform::gui::osx {
-namespace details {
-class OsxWindowPrivate;
-class OsxCursorPrivate;
-class OsxCursorManagerPrivate;
-} // namespace details
-
-class OsxCursor : public OsxGuiResource, public virtual ICursor {
- friend class OsxWindow;
- friend class details::OsxWindowPrivate;
-
- public:
- OsxCursor(IUiApplication* ui_application, SystemCursorType cursor_type);
- CRU_DELETE_COPY(OsxCursor)
- CRU_DELETE_MOVE(OsxCursor)
-
- ~OsxCursor() override;
-
- private:
- std::unique_ptr<details::OsxCursorPrivate> p_;
-};
-
-class OsxCursorManager : public OsxGuiResource, public virtual ICursorManager {
- public:
- explicit OsxCursorManager(IUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxCursorManager)
- CRU_DELETE_MOVE(OsxCursorManager)
-
- ~OsxCursorManager() override;
-
- std::shared_ptr<ICursor> GetSystemCursor(SystemCursorType type) override;
-
- private:
- std::unique_ptr<details::OsxCursorManagerPrivate> p_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/InputMethod.h b/include/cru/osx/gui/InputMethod.h
deleted file mode 100644
index cbfdae6c..00000000
--- a/include/cru/osx/gui/InputMethod.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#pragma once
-#include "Resource.h"
-
-#include "cru/platform/gui/InputMethod.h"
-
-namespace cru::platform::gui::osx {
-class OsxWindow;
-
-namespace details {
-class OsxWindowPrivate;
-class OsxInputMethodContextPrivate;
-} // namespace details
-
-class OsxInputMethodContext : public OsxGuiResource,
- public virtual IInputMethodContext {
- friend OsxWindow;
- friend details::OsxWindowPrivate;
- friend details::OsxInputMethodContextPrivate;
-
- public:
- explicit OsxInputMethodContext(OsxWindow* window);
-
- CRU_DELETE_COPY(OsxInputMethodContext)
- CRU_DELETE_MOVE(OsxInputMethodContext)
-
- ~OsxInputMethodContext() override;
-
- public:
- bool ShouldManuallyDrawCompositionText() override;
-
- void EnableIME() override;
-
- void DisableIME() override;
-
- void CompleteComposition() override;
-
- void CancelComposition() override;
-
- CompositionText GetCompositionText() override;
-
- void SetCandidateWindowPosition(const Point& point) override;
-
- IEvent<std::nullptr_t>* CompositionStartEvent() override;
-
- IEvent<std::nullptr_t>* CompositionEndEvent() override;
-
- IEvent<std::nullptr_t>* CompositionEvent() override;
-
- IEvent<StringView>* TextEvent() override;
-
- bool IsEnabled();
-
- private:
- std::unique_ptr<details::OsxInputMethodContextPrivate> p_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/Keyboard.h b/include/cru/osx/gui/Keyboard.h
deleted file mode 100644
index 89e0fa05..00000000
--- a/include/cru/osx/gui/Keyboard.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-#include "cru/platform/gui/Keyboard.h"
-
-namespace cru::platform::gui::osx {
-KeyCode KeyCodeFromOsxToCru(unsigned short n);
-unsigned short KeyCodeFromCruToOsx(KeyCode k);
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/Menu.h b/include/cru/osx/gui/Menu.h
deleted file mode 100644
index c5cc756a..00000000
--- a/include/cru/osx/gui/Menu.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-#include "Resource.h"
-
-#include "cru/platform/gui/Menu.h"
-
-namespace cru::platform::gui::osx {
-namespace details {
-struct OsxMenuItemPrivate;
-struct OsxMenuPrivate;
-} // namespace details
-
-class OsxMenu;
-
-class OsxMenuItem : public OsxGuiResource, public virtual IMenuItem {
- friend OsxMenu;
- friend details::OsxMenuPrivate;
-
- private:
- explicit OsxMenuItem(IUiApplication* ui_application);
-
- public:
- CRU_DELETE_COPY(OsxMenuItem)
- CRU_DELETE_MOVE(OsxMenuItem)
-
- ~OsxMenuItem() override;
-
- public:
- String GetTitle() override;
- void SetTitle(String title) override;
- bool IsEnabled() override;
- void SetEnabled(bool enabled) override;
- IMenu* GetParentMenu() override;
- IMenu* GetSubmenu() override;
- void SetKeyboardShortcut(KeyCode key, KeyModifier modifiers) override;
- void DeleteKeyboardShortcut() override;
- void SetOnClickHandler(std::function<void()> handler) override;
-
- private:
- details::OsxMenuItemPrivate* p_;
-};
-
-class OsxMenu : public OsxGuiResource, public virtual IMenu {
- friend OsxMenuItem;
- friend details::OsxMenuPrivate;
- friend details::OsxMenuItemPrivate;
-
- private:
- explicit OsxMenu(IUiApplication* ui_application);
-
- public:
- static OsxMenu* CreateOrGetApplicationMenu(IUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxMenu)
- CRU_DELETE_MOVE(OsxMenu)
-
- ~OsxMenu() override;
-
- public:
- IMenuItem* GetItemAt(int index) override;
- int GetItemCount() override;
- IMenuItem* CreateItemAt(int index) override;
- void RemoveItemAt(int index) override;
-
- private:
- details::OsxMenuPrivate* p_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/Resource.h b/include/cru/osx/gui/Resource.h
deleted file mode 100644
index bc3f9cd6..00000000
--- a/include/cru/osx/gui/Resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-#include "../Resource.h"
-
-#include "cru/platform/gui/Base.h"
-
-namespace cru::platform::gui::osx {
-class OsxGuiResource : public platform::osx::OsxResource {
- public:
- explicit OsxGuiResource(IUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxGuiResource)
- CRU_DELETE_MOVE(OsxGuiResource)
-
- ~OsxGuiResource() override = default;
-
- public:
- String GetPlatformId() const override { return u"OSX GUI"; }
-
- IUiApplication* GetUiApplication() const { return ui_application_; }
-
- private:
- IUiApplication* ui_application_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/UiApplication.h b/include/cru/osx/gui/UiApplication.h
deleted file mode 100644
index 2d2c119c..00000000
--- a/include/cru/osx/gui/UiApplication.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/UiApplication.h"
-
-#include <functional>
-#include <memory>
-
-namespace cru::platform::gui::osx {
-class OsxWindow;
-
-namespace details {
-class OsxUiApplicationPrivate;
-}
-
-class OsxUiApplication : public OsxGuiResource, public virtual IUiApplication {
- friend details::OsxUiApplicationPrivate;
- friend OsxWindow;
-
- public:
- OsxUiApplication();
-
- CRU_DELETE_COPY(OsxUiApplication)
- CRU_DELETE_MOVE(OsxUiApplication)
-
- ~OsxUiApplication() override;
-
- public:
- int Run() override;
-
- void RequestQuit(int quit_code) override;
- void AddOnQuitHandler(std::function<void()> handler) override;
- bool IsQuitOnAllWindowClosed() override;
- void SetQuitOnAllWindowClosed(bool quit_on_all_window_closed) override;
-
- long long SetImmediate(std::function<void()> action) override;
- long long SetTimeout(std::chrono::milliseconds milliseconds,
- std::function<void()> action) override;
- long long SetInterval(std::chrono::milliseconds milliseconds,
- std::function<void()> action) override;
- void CancelTimer(long long id) override;
-
- std::vector<INativeWindow*> GetAllWindow() override;
-
- INativeWindow* CreateWindow() override;
-
- cru::platform::graphics::IGraphicsFactory* GetGraphicsFactory() override;
-
- ICursorManager* GetCursorManager() override;
-
- IClipboard* GetClipboard() override;
-
- IMenu* GetApplicationMenu() override;
-
- std::optional<String> ShowSaveDialog(SaveDialogOptions options) override;
-
- std::optional<std::vector<String>> ShowOpenDialog(
- OpenDialogOptions options) override;
-
- private:
- void UnregisterWindow(OsxWindow* window);
-
- std::unique_ptr<details::OsxUiApplicationPrivate> p_;
-};
-} // namespace cru::platform::gui::osx
diff --git a/include/cru/osx/gui/Window.h b/include/cru/osx/gui/Window.h
deleted file mode 100644
index 6cefbe8e..00000000
--- a/include/cru/osx/gui/Window.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/InputMethod.h"
-#include "cru/platform/gui/Window.h"
-
-#include <memory>
-
-namespace cru::platform::gui::osx {
-namespace details {
-class OsxWindowPrivate;
-class OsxInputMethodContextPrivate;
-} // namespace details
-
-class OsxUiApplication;
-class OsxInputMethodContext;
-
-class OsxWindow : public OsxGuiResource, public INativeWindow {
- friend details::OsxWindowPrivate;
- friend details::OsxInputMethodContextPrivate;
-
- public:
- OsxWindow(OsxUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxWindow)
- CRU_DELETE_MOVE(OsxWindow)
-
- ~OsxWindow() override;
-
- public:
- void Close() override;
-
- INativeWindow* GetParent() override;
- void SetParent(INativeWindow* parent) override;
-
- WindowStyleFlag GetStyleFlag() override;
- void SetStyleFlag(WindowStyleFlag flag) override;
-
- String GetTitle() override;
- void SetTitle(String title) override;
-
- WindowVisibilityType GetVisibility() override;
- void SetVisibility(WindowVisibilityType visibility) override;
-
- Size GetClientSize() override;
- void SetClientSize(const Size& size) override;
-
- Rect GetClientRect() override;
- void SetClientRect(const Rect& rect) override;
-
- Rect GetWindowRect() override;
- void SetWindowRect(const Rect& rect) override;
-
- bool RequestFocus() override;
-
- Point GetMousePosition() override;
-
- bool CaptureMouse() override;
- bool ReleaseMouse() override;
-
- void SetCursor(std::shared_ptr<ICursor> cursor) override;
-
- void SetToForeground() override;
-
- void RequestRepaint() override;
-
- std::unique_ptr<graphics::IPainter> BeginPaint() override;
-
- IEvent<std::nullptr_t>* CreateEvent() override;
- IEvent<std::nullptr_t>* DestroyEvent() override;
- IEvent<std::nullptr_t>* PaintEvent() override;
-
- IEvent<WindowVisibilityType>* VisibilityChangeEvent() override;
- IEvent<Size>* ResizeEvent() override;
- IEvent<FocusChangeType>* FocusEvent() override;
-
- IEvent<MouseEnterLeaveType>* MouseEnterLeaveEvent() override;
- IEvent<Point>* MouseMoveEvent() override;
- IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() override;
- IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() override;
- IEvent<NativeMouseWheelEventArgs>* MouseWheelEvent() override;
- IEvent<NativeKeyEventArgs>* KeyDownEvent() override;
- IEvent<NativeKeyEventArgs>* KeyUpEvent() override;
-
- IInputMethodContext* GetInputMethodContext() override;
-
- private:
- std::unique_ptr<details::OsxWindowPrivate> p_;
-};
-} // namespace cru::platform::gui::osx