diff options
Diffstat (limited to 'include/cru/osx/gui')
-rw-r--r-- | include/cru/osx/gui/Clipboard.h | 31 | ||||
-rw-r--r-- | include/cru/osx/gui/Cursor.h | 43 | ||||
-rw-r--r-- | include/cru/osx/gui/InputMethod.h | 56 | ||||
-rw-r--r-- | include/cru/osx/gui/Keyboard.h | 7 | ||||
-rw-r--r-- | include/cru/osx/gui/Menu.h | 67 | ||||
-rw-r--r-- | include/cru/osx/gui/Resource.h | 24 | ||||
-rw-r--r-- | include/cru/osx/gui/UiApplication.h | 64 | ||||
-rw-r--r-- | include/cru/osx/gui/Window.h | 90 |
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 |