aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/cru/base/SubProcess.h8
-rw-r--r--include/cru/base/platform/osx/Base.h (renamed from include/cru/base/Osx.h)2
-rw-r--r--include/cru/platform/graphics/quartz/Base.h (renamed from include/cru/platform/graphics/quartz/Convert.h)19
-rw-r--r--include/cru/platform/graphics/quartz/Brush.h14
-rw-r--r--include/cru/platform/graphics/quartz/Factory.h13
-rw-r--r--include/cru/platform/graphics/quartz/Font.h13
-rw-r--r--include/cru/platform/graphics/quartz/Geometry.h32
-rw-r--r--include/cru/platform/graphics/quartz/Image.h10
-rw-r--r--include/cru/platform/graphics/quartz/ImageFactory.h9
-rw-r--r--include/cru/platform/graphics/quartz/Painter.h12
-rw-r--r--include/cru/platform/graphics/quartz/Resource.h24
-rw-r--r--include/cru/platform/graphics/quartz/TextLayout.h18
-rw-r--r--include/cru/platform/gui/osx/Base.h (renamed from include/cru/platform/gui/osx/Resource.h)8
-rw-r--r--include/cru/platform/gui/osx/Clipboard.h9
-rw-r--r--include/cru/platform/gui/osx/Cursor.h12
-rw-r--r--include/cru/platform/gui/osx/InputMethod.h8
-rw-r--r--include/cru/platform/gui/osx/Menu.h7
-rw-r--r--include/cru/platform/gui/osx/UiApplication.h9
-rw-r--r--include/cru/platform/gui/osx/Window.h11
-rw-r--r--include/cru/platform/osx/Resource.h9
-rw-r--r--include/cru/ui/helper/ClickDetector.h5
-rw-r--r--src/base/CMakeLists.txt2
-rw-r--r--src/base/platform/osx/Base.cpp (renamed from src/base/Osx.cpp)2
-rw-r--r--src/platform/CMakeLists.txt1
-rw-r--r--src/platform/graphics/quartz/Base.cpp (renamed from src/platform/graphics/quartz/Convert.cpp)2
-rw-r--r--src/platform/graphics/quartz/Brush.cpp1
-rw-r--r--src/platform/graphics/quartz/CMakeLists.txt9
-rw-r--r--src/platform/graphics/quartz/Factory.cpp1
-rw-r--r--src/platform/graphics/quartz/Font.cpp3
-rw-r--r--src/platform/graphics/quartz/Geometry.cpp1
-rw-r--r--src/platform/graphics/quartz/Image.cpp2
-rw-r--r--src/platform/graphics/quartz/ImageFactory.cpp5
-rw-r--r--src/platform/graphics/quartz/Painter.cpp2
-rw-r--r--src/platform/graphics/quartz/Resource.cpp1
-rw-r--r--src/platform/graphics/quartz/TextLayout.cpp5
-rw-r--r--src/platform/gui/osx/Base.cpp (renamed from src/platform/gui/osx/Resource.cpp)2
-rw-r--r--src/platform/gui/osx/CMakeLists.txt6
-rw-r--r--src/platform/gui/osx/Clipboard.mm2
-rw-r--r--src/platform/gui/osx/Cursor.mm4
-rw-r--r--src/platform/gui/osx/InputMethod.mm3
-rw-r--r--src/platform/gui/osx/Menu.mm2
-rw-r--r--src/platform/gui/osx/UiApplication.mm6
-rw-r--r--src/platform/gui/osx/Window.mm4
-rw-r--r--src/platform/gui/osx/WindowPrivate.h1
-rw-r--r--src/platform/osx/CMakeLists.txt8
-rw-r--r--src/platform/osx/Resource.cpp1
46 files changed, 102 insertions, 226 deletions
diff --git a/include/cru/base/SubProcess.h b/include/cru/base/SubProcess.h
index 1562769e..e8ba5936 100644
--- a/include/cru/base/SubProcess.h
+++ b/include/cru/base/SubProcess.h
@@ -210,7 +210,7 @@ class PlatformSubProcess : public Object {
std::unique_lock<std::mutex> lock_;
};
-class CRU_BASE_API SubProcess : public Object {
+class CRU_BASE_API SubProcess {
CRU_DEFINE_CLASS_LOG_TAG("SubProcess")
public:
@@ -226,11 +226,9 @@ class CRU_BASE_API SubProcess : public Object {
SubProcess(SubProcessStartInfo start_info);
CRU_DELETE_COPY(SubProcess)
+ CRU_DEFAULT_MOVE(SubProcess)
- SubProcess(SubProcess&& other) = default;
- SubProcess& operator=(SubProcess&& other) = default;
-
- ~SubProcess() override;
+ ~SubProcess();
public:
void Wait(std::optional<std::chrono::milliseconds> wait_time = std::nullopt);
diff --git a/include/cru/base/Osx.h b/include/cru/base/platform/osx/Base.h
index e42a4fe5..290d9b3d 100644
--- a/include/cru/base/Osx.h
+++ b/include/cru/base/platform/osx/Base.h
@@ -6,7 +6,7 @@
#error "This header can only be included on OSX platforms."
#endif
-#include "Range.h"
+#include "../../Range.h"
#include <CoreFoundation/CoreFoundation.h>
#include <string>
diff --git a/include/cru/platform/graphics/quartz/Convert.h b/include/cru/platform/graphics/quartz/Base.h
index fd6159a6..271d4035 100644
--- a/include/cru/platform/graphics/quartz/Convert.h
+++ b/include/cru/platform/graphics/quartz/Base.h
@@ -1,10 +1,25 @@
#pragma once
-#include "cru/base/io/Stream.h"
-#include "cru/platform/Matrix.h"
+#include <cru/base/Base.h>
+#include <cru/base/io/Stream.h>
+#include <cru/platform/graphics/Base.h>
#include <CoreGraphics/CoreGraphics.h>
namespace cru::platform::graphics::quartz {
+class OsxQuartzResource : public Object, public virtual IGraphicsResource {
+ public:
+ explicit OsxQuartzResource(IGraphicsFactory* graphics_factory)
+ : graphics_factory_(graphics_factory) {}
+
+ public:
+ std::string GetPlatformId() const override { return "OSX Quartz"; }
+
+ IGraphicsFactory* GetGraphicsFactory() override { return graphics_factory_; }
+
+ private:
+ IGraphicsFactory* graphics_factory_;
+};
+
CGAffineTransform Convert(const Matrix& matrix);
Matrix Convert(const CGAffineTransform& matrix);
diff --git a/include/cru/platform/graphics/quartz/Brush.h b/include/cru/platform/graphics/quartz/Brush.h
index 73aa2f6d..da303940 100644
--- a/include/cru/platform/graphics/quartz/Brush.h
+++ b/include/cru/platform/graphics/quartz/Brush.h
@@ -1,8 +1,7 @@
#pragma once
-#include "Resource.h"
-#include "cru/base/Base.h"
-#include "cru/platform/graphics/Base.h"
-#include "cru/platform/graphics/Brush.h"
+#include "Base.h"
+
+#include <cru/platform/graphics/Brush.h>
#include <CoreGraphics/CoreGraphics.h>
@@ -11,9 +10,6 @@ class QuartzBrush : public OsxQuartzResource, public virtual IBrush {
public:
QuartzBrush(IGraphicsFactory* graphics_factory)
: OsxQuartzResource(graphics_factory) {}
- CRU_DELETE_COPY(QuartzBrush)
- CRU_DELETE_MOVE(QuartzBrush)
- ~QuartzBrush() override = default;
public:
virtual void Select(CGContextRef context) = 0;
@@ -23,10 +19,6 @@ class QuartzSolidColorBrush : public QuartzBrush,
public virtual ISolidColorBrush {
public:
QuartzSolidColorBrush(IGraphicsFactory* graphics_factory, const Color& color);
-
- CRU_DELETE_COPY(QuartzSolidColorBrush)
- CRU_DELETE_MOVE(QuartzSolidColorBrush)
-
~QuartzSolidColorBrush() override;
Color GetColor() override { return color_; }
diff --git a/include/cru/platform/graphics/quartz/Factory.h b/include/cru/platform/graphics/quartz/Factory.h
index 61d8dbdb..f79b475d 100644
--- a/include/cru/platform/graphics/quartz/Factory.h
+++ b/include/cru/platform/graphics/quartz/Factory.h
@@ -1,19 +1,14 @@
#pragma once
-#include "Resource.h"
-#include "cru/base/Base.h"
-#include "cru/platform/graphics/quartz/ImageFactory.h"
-#include "cru/platform/graphics/Factory.h"
-#include "cru/platform/graphics/ImageFactory.h"
+#include "Base.h"
+#include "ImageFactory.h"
+
+#include <cru/platform/graphics/Factory.h>
namespace cru::platform::graphics::quartz {
class QuartzGraphicsFactory : public OsxQuartzResource,
public virtual IGraphicsFactory {
public:
QuartzGraphicsFactory();
-
- CRU_DELETE_COPY(QuartzGraphicsFactory)
- CRU_DELETE_MOVE(QuartzGraphicsFactory)
-
~QuartzGraphicsFactory() override;
public:
diff --git a/include/cru/platform/graphics/quartz/Font.h b/include/cru/platform/graphics/quartz/Font.h
index d110b59b..49792956 100644
--- a/include/cru/platform/graphics/quartz/Font.h
+++ b/include/cru/platform/graphics/quartz/Font.h
@@ -1,18 +1,15 @@
#pragma once
-#include "Resource.h"
-#include "cru/base/Base.h"
-#include "cru/platform/graphics/Font.h"
+#include "Base.h"
+
+#include <cru/platform/graphics/Font.h>
#include <CoreText/CoreText.h>
namespace cru::platform::graphics::quartz {
class OsxCTFont : public OsxQuartzResource, public virtual IFont {
public:
- OsxCTFont(IGraphicsFactory* graphics_factory, const std::string& name, float size);
-
- CRU_DELETE_COPY(OsxCTFont)
- CRU_DELETE_MOVE(OsxCTFont)
-
+ OsxCTFont(IGraphicsFactory* graphics_factory, const std::string& name,
+ float size);
~OsxCTFont() override;
CTFontRef GetCTFont() const { return ct_font_; }
diff --git a/include/cru/platform/graphics/quartz/Geometry.h b/include/cru/platform/graphics/quartz/Geometry.h
index 18e2e25e..e13d268e 100644
--- a/include/cru/platform/graphics/quartz/Geometry.h
+++ b/include/cru/platform/graphics/quartz/Geometry.h
@@ -1,27 +1,23 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/graphics/Geometry.h"
+#include "Base.h"
-#include <memory>
+#include <cru/platform/graphics/Geometry.h>
#include <CoreGraphics/CoreGraphics.h>
+#include <memory>
namespace cru::platform::graphics::quartz {
class QuartzGeometry : public OsxQuartzResource, public virtual IGeometry {
public:
- QuartzGeometry(IGraphicsFactory *graphics_factory, CGPathRef cg_path);
-
- CRU_DELETE_COPY(QuartzGeometry)
- CRU_DELETE_MOVE(QuartzGeometry)
-
+ QuartzGeometry(IGraphicsFactory* graphics_factory, CGPathRef cg_path);
~QuartzGeometry() override;
CGPathRef GetCGPath() const { return cg_path_; }
- bool FillContains(const Point &point) override;
+ bool FillContains(const Point& point) override;
Rect GetBounds() override;
- std::unique_ptr<IGeometry> Transform(const Matrix &matrix) override;
+ std::unique_ptr<IGeometry> Transform(const Matrix& matrix) override;
std::unique_ptr<IGeometry> CreateStrokeGeometry(float width) override;
private:
@@ -31,7 +27,7 @@ class QuartzGeometry : public OsxQuartzResource, public virtual IGeometry {
class QuartzGeometryBuilder : public OsxQuartzResource,
public virtual IGeometryBuilder {
public:
- explicit QuartzGeometryBuilder(IGraphicsFactory *graphics_factory);
+ explicit QuartzGeometryBuilder(IGraphicsFactory* graphics_factory);
CRU_DELETE_COPY(QuartzGeometryBuilder)
CRU_DELETE_MOVE(QuartzGeometryBuilder)
@@ -40,13 +36,13 @@ class QuartzGeometryBuilder : public OsxQuartzResource,
Point GetCurrentPosition() override;
- void MoveTo(const Point &point) override;
- void LineTo(const Point &point) override;
- void CubicBezierTo(const Point &start_control_point,
- const Point &end_control_point,
- const Point &end_point) override;
- void QuadraticBezierTo(const Point &control_point,
- const Point &end_point) override;
+ void MoveTo(const Point& point) override;
+ void LineTo(const Point& point) override;
+ void CubicBezierTo(const Point& start_control_point,
+ const Point& end_control_point,
+ const Point& end_point) override;
+ void QuadraticBezierTo(const Point& control_point,
+ const Point& end_point) override;
void CloseFigure(bool close) override;
std::unique_ptr<IGeometry> Build() override;
diff --git a/include/cru/platform/graphics/quartz/Image.h b/include/cru/platform/graphics/quartz/Image.h
index 1dd8f0a6..e21c9a857 100644
--- a/include/cru/platform/graphics/quartz/Image.h
+++ b/include/cru/platform/graphics/quartz/Image.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/graphics/Image.h"
-#include "cru/platform/graphics/ImageFactory.h"
+#include "Base.h"
+
+#include <cru/platform/graphics/Image.h>
#include <CoreGraphics/CoreGraphics.h>
@@ -11,10 +11,6 @@ class QuartzImage : public OsxQuartzResource, public virtual IImage {
QuartzImage(IGraphicsFactory* graphics_factory, IImageFactory* image_factory,
CGImageRef image, bool auto_release,
unsigned char* buffer = nullptr);
-
- CRU_DELETE_COPY(QuartzImage)
- CRU_DELETE_MOVE(QuartzImage)
-
~QuartzImage() override;
public:
diff --git a/include/cru/platform/graphics/quartz/ImageFactory.h b/include/cru/platform/graphics/quartz/ImageFactory.h
index bd2a929f..2874a9bb 100644
--- a/include/cru/platform/graphics/quartz/ImageFactory.h
+++ b/include/cru/platform/graphics/quartz/ImageFactory.h
@@ -1,16 +1,13 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/graphics/ImageFactory.h"
+#include "Base.h"
+
+#include <cru/platform/graphics/ImageFactory.h>
namespace cru::platform::graphics::quartz {
class QuartzImageFactory : public OsxQuartzResource,
public virtual IImageFactory {
public:
explicit QuartzImageFactory(IGraphicsFactory* graphics_factory);
-
- CRU_DELETE_COPY(QuartzImageFactory)
- CRU_DELETE_MOVE(QuartzImageFactory)
-
~QuartzImageFactory() override;
public:
diff --git a/include/cru/platform/graphics/quartz/Painter.h b/include/cru/platform/graphics/quartz/Painter.h
index ec0e57af..7e86222d 100644
--- a/include/cru/platform/graphics/quartz/Painter.h
+++ b/include/cru/platform/graphics/quartz/Painter.h
@@ -1,11 +1,9 @@
#pragma once
-#include "Resource.h"
-#include "cru/base/Base.h"
-#include "cru/platform/graphics/Base.h"
-#include "cru/platform/graphics/Painter.h"
+#include "Base.h"
-#include <CoreGraphics/CoreGraphics.h>
+#include <cru/platform/graphics/Painter.h>
+#include <CoreGraphics/CoreGraphics.h>
#include <functional>
namespace cru::platform::graphics::quartz {
@@ -18,10 +16,6 @@ class QuartzCGContextPainter : public OsxQuartzResource,
IGraphicsFactory* graphics_factory, CGContextRef cg_context,
bool auto_release, const Size& size,
std::function<void(QuartzCGContextPainter*)> on_end_draw);
-
- CRU_DELETE_COPY(QuartzCGContextPainter)
- CRU_DELETE_MOVE(QuartzCGContextPainter)
-
~QuartzCGContextPainter() override;
public:
diff --git a/include/cru/platform/graphics/quartz/Resource.h b/include/cru/platform/graphics/quartz/Resource.h
deleted file mode 100644
index f683e5ad..00000000
--- a/include/cru/platform/graphics/quartz/Resource.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-#include "cru/platform/graphics/Base.h"
-#include "cru/platform/osx/Resource.h"
-
-namespace cru::platform::graphics::quartz {
-class OsxQuartzResource : public platform::osx::OsxResource,
- public virtual IGraphicsResource {
- public:
- explicit OsxQuartzResource(IGraphicsFactory* graphics_factory)
- : graphics_factory_(graphics_factory) {}
-
- CRU_DELETE_COPY(OsxQuartzResource)
- CRU_DELETE_MOVE(OsxQuartzResource)
- ~OsxQuartzResource() override = default;
-
- public:
- std::string GetPlatformId() const override { return "OSX Quartz"; }
-
- IGraphicsFactory* GetGraphicsFactory() override { return graphics_factory_; }
-
- private:
- IGraphicsFactory* graphics_factory_;
-};
-} // namespace cru::platform::graphics::quartz
diff --git a/include/cru/platform/graphics/quartz/TextLayout.h b/include/cru/platform/graphics/quartz/TextLayout.h
index e53ee464..5174c0dd 100644
--- a/include/cru/platform/graphics/quartz/TextLayout.h
+++ b/include/cru/platform/graphics/quartz/TextLayout.h
@@ -1,21 +1,16 @@
#pragma once
-#include "Resource.h"
-
+#include "Base.h"
#include "Font.h"
-#include "cru/base/Base.h"
-#include "cru/platform/graphics/TextLayout.h"
+
+#include <cru/platform/graphics/TextLayout.h>
#include <memory>
namespace cru::platform::graphics::quartz {
class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout {
public:
- OsxCTTextLayout(IGraphicsFactory* graphics_factory,
- std::shared_ptr<OsxCTFont> font, const std::string& str);
-
- CRU_DELETE_COPY(OsxCTTextLayout)
- CRU_DELETE_MOVE(OsxCTTextLayout)
-
+ OsxCTTextLayout(IGraphicsFactory* graphics_factory, std::shared_ptr<OsxCTFont> font,
+ const std::string& str);
~OsxCTTextLayout() override;
public:
@@ -55,8 +50,7 @@ class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout {
void RecreateFrame();
CGRect DoGetTextBounds(bool includingTrailingSpace = false);
- CGRect DoGetTextBoundsIncludingEmptyLines(
- bool includingTrailingSpace = false);
+ CGRect DoGetTextBoundsIncludingEmptyLines(bool includingTrailingSpace = false);
std::vector<CGRect> DoTextRangeRect(const TextRange& text_range);
CGRect DoTextSinglePoint(Index position, bool trailing);
diff --git a/include/cru/platform/gui/osx/Resource.h b/include/cru/platform/gui/osx/Base.h
index 1253544c..48388ddf 100644
--- a/include/cru/platform/gui/osx/Resource.h
+++ b/include/cru/platform/gui/osx/Base.h
@@ -1,16 +1,12 @@
#pragma once
-#include "cru/platform/osx/Resource.h"
+#include <cru/platform/Base.h>
#include <cru/platform/gui/UiApplication.h>
namespace cru::platform::gui::osx {
-class OsxGuiResource : public platform::osx::OsxResource {
+class OsxGuiResource : public Object, public virtual IPlatformResource {
public:
explicit OsxGuiResource(IUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxGuiResource)
- CRU_DELETE_MOVE(OsxGuiResource)
-
~OsxGuiResource() override = default;
public:
diff --git a/include/cru/platform/gui/osx/Clipboard.h b/include/cru/platform/gui/osx/Clipboard.h
index 6672f84d..838ad9a6 100644
--- a/include/cru/platform/gui/osx/Clipboard.h
+++ b/include/cru/platform/gui/osx/Clipboard.h
@@ -1,8 +1,7 @@
#pragma once
-#include "Resource.h"
+#include "Base.h"
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/Clipboard.h"
+#include <cru/platform/gui/Clipboard.h>
#include <memory>
@@ -15,10 +14,6 @@ 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:
diff --git a/include/cru/platform/gui/osx/Cursor.h b/include/cru/platform/gui/osx/Cursor.h
index 6cfd400a..582e25af 100644
--- a/include/cru/platform/gui/osx/Cursor.h
+++ b/include/cru/platform/gui/osx/Cursor.h
@@ -1,6 +1,7 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/Cursor.h"
+#include "Base.h"
+
+#include <cru/platform/gui/Cursor.h>
#include <memory>
@@ -17,9 +18,6 @@ class OsxCursor : public OsxGuiResource, public virtual ICursor {
public:
OsxCursor(IUiApplication* ui_application, SystemCursorType cursor_type);
- CRU_DELETE_COPY(OsxCursor)
- CRU_DELETE_MOVE(OsxCursor)
-
~OsxCursor() override;
private:
@@ -29,10 +27,6 @@ class OsxCursor : public OsxGuiResource, public virtual ICursor {
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;
diff --git a/include/cru/platform/gui/osx/InputMethod.h b/include/cru/platform/gui/osx/InputMethod.h
index 067d86ea..9044a76c 100644
--- a/include/cru/platform/gui/osx/InputMethod.h
+++ b/include/cru/platform/gui/osx/InputMethod.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.h"
+#include "Base.h"
-#include "cru/platform/gui/InputMethod.h"
+#include <cru/platform/gui/InputMethod.h>
namespace cru::platform::gui::osx {
class OsxWindow;
@@ -19,10 +19,6 @@ class OsxInputMethodContext : public OsxGuiResource,
public:
explicit OsxInputMethodContext(OsxWindow* window);
-
- CRU_DELETE_COPY(OsxInputMethodContext)
- CRU_DELETE_MOVE(OsxInputMethodContext)
-
~OsxInputMethodContext() override;
public:
diff --git a/include/cru/platform/gui/osx/Menu.h b/include/cru/platform/gui/osx/Menu.h
index 05f21e1c..296adb69 100644
--- a/include/cru/platform/gui/osx/Menu.h
+++ b/include/cru/platform/gui/osx/Menu.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Resource.h"
+#include "Base.h"
-#include "cru/platform/gui/Menu.h"
+#include <cru/platform/gui/Menu.h>
namespace cru::platform::gui::osx {
namespace details {
@@ -19,9 +19,6 @@ class OsxMenuItem : public OsxGuiResource, public virtual IMenuItem {
explicit OsxMenuItem(IUiApplication* ui_application);
public:
- CRU_DELETE_COPY(OsxMenuItem)
- CRU_DELETE_MOVE(OsxMenuItem)
-
~OsxMenuItem() override;
public:
diff --git a/include/cru/platform/gui/osx/UiApplication.h b/include/cru/platform/gui/osx/UiApplication.h
index f0e311dc..e8bcb9f8 100644
--- a/include/cru/platform/gui/osx/UiApplication.h
+++ b/include/cru/platform/gui/osx/UiApplication.h
@@ -1,6 +1,7 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/UiApplication.h"
+#include "Base.h"
+
+#include <cru/platform/gui/UiApplication.h>
#include <functional>
#include <memory>
@@ -18,10 +19,6 @@ class OsxUiApplication : public OsxGuiResource, public virtual IUiApplication {
public:
OsxUiApplication();
-
- CRU_DELETE_COPY(OsxUiApplication)
- CRU_DELETE_MOVE(OsxUiApplication)
-
~OsxUiApplication() override;
public:
diff --git a/include/cru/platform/gui/osx/Window.h b/include/cru/platform/gui/osx/Window.h
index d00136b0..f4bda28e 100644
--- a/include/cru/platform/gui/osx/Window.h
+++ b/include/cru/platform/gui/osx/Window.h
@@ -1,8 +1,7 @@
#pragma once
-#include "Resource.h"
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/InputMethod.h"
-#include "cru/platform/gui/Window.h"
+#include "Base.h"
+
+#include <cru/platform/gui/Window.h>
#include <memory>
@@ -21,10 +20,6 @@ class OsxWindow : public OsxGuiResource, public INativeWindow {
public:
OsxWindow(OsxUiApplication* ui_application);
-
- CRU_DELETE_COPY(OsxWindow)
- CRU_DELETE_MOVE(OsxWindow)
-
~OsxWindow() override;
public:
diff --git a/include/cru/platform/osx/Resource.h b/include/cru/platform/osx/Resource.h
deleted file mode 100644
index 59a545b2..00000000
--- a/include/cru/platform/osx/Resource.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-#include <cru/platform/Base.h>
-
-namespace cru::platform::osx {
-class OsxResource : public Object, public virtual IPlatformResource {
- public:
- std::string GetPlatformId() const override { return "OSX"; }
-};
-} // namespace cru::platform::osx
diff --git a/include/cru/ui/helper/ClickDetector.h b/include/cru/ui/helper/ClickDetector.h
index 037b015e..eaf1f4af 100644
--- a/include/cru/ui/helper/ClickDetector.h
+++ b/include/cru/ui/helper/ClickDetector.h
@@ -15,11 +15,6 @@ class CRU_UI_API ClickEventArgs : Object {
up_point_(up_point),
button_(button) {}
- CRU_DEFAULT_COPY(ClickEventArgs)
- CRU_DEFAULT_MOVE(ClickEventArgs)
-
- ~ClickEventArgs() override = default;
-
controls::Control* GetSender() const { return sender_; }
Point GetDownPoint() const { return down_point_; }
Point GetDownPointOfScreen() const;
diff --git a/src/base/CMakeLists.txt b/src/base/CMakeLists.txt
index 106a03ef..be45d0e0 100644
--- a/src/base/CMakeLists.txt
+++ b/src/base/CMakeLists.txt
@@ -33,7 +33,7 @@ if (UNIX AND NOT EMSCRIPTEN)
endif()
if (APPLE)
- target_sources(CruBase PRIVATE Osx.cpp)
+ target_sources(CruBase PRIVATE platform/osx/Base.cpp)
find_library(CORE_FOUNDATION CoreFoundation REQUIRED)
target_link_libraries(CruBase PUBLIC ${CORE_FOUNDATION})
endif()
diff --git a/src/base/Osx.cpp b/src/base/platform/osx/Base.cpp
index d979f542..1206d514 100644
--- a/src/base/Osx.cpp
+++ b/src/base/platform/osx/Base.cpp
@@ -1,4 +1,4 @@
-#include "cru/base/Osx.h"
+#include "cru/base/platform/osx/Base.h"
#include "cru/base/StringUtil.h"
namespace cru {
diff --git a/src/platform/CMakeLists.txt b/src/platform/CMakeLists.txt
index d577d79c..62ebe9c7 100644
--- a/src/platform/CMakeLists.txt
+++ b/src/platform/CMakeLists.txt
@@ -14,7 +14,6 @@ if (WIN32)
add_subdirectory(graphics/direct2d)
add_subdirectory(gui/win)
elseif (APPLE)
- add_subdirectory(osx)
add_subdirectory(graphics/quartz)
# TODO: Re-enable this!
# add_subdirectory(graphics/cairo)
diff --git a/src/platform/graphics/quartz/Convert.cpp b/src/platform/graphics/quartz/Base.cpp
index 06699b0c..3d6e664a 100644
--- a/src/platform/graphics/quartz/Convert.cpp
+++ b/src/platform/graphics/quartz/Base.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/graphics/quartz/Convert.h"
+#include "cru/platform/graphics/quartz/Base.h"
namespace cru::platform::graphics::quartz {
diff --git a/src/platform/graphics/quartz/Brush.cpp b/src/platform/graphics/quartz/Brush.cpp
index c5784e51..acdc7170 100644
--- a/src/platform/graphics/quartz/Brush.cpp
+++ b/src/platform/graphics/quartz/Brush.cpp
@@ -1,4 +1,5 @@
#include "cru/platform/graphics/quartz/Brush.h"
+
#include <format>
namespace cru::platform::graphics::quartz {
diff --git a/src/platform/graphics/quartz/CMakeLists.txt b/src/platform/graphics/quartz/CMakeLists.txt
index 88050a07..bde8e815 100644
--- a/src/platform/graphics/quartz/CMakeLists.txt
+++ b/src/platform/graphics/quartz/CMakeLists.txt
@@ -1,19 +1,20 @@
add_library(CruPlatformGraphicsQuartz
+ Base.cpp
Brush.cpp
- Convert.cpp
Factory.cpp
Font.cpp
Geometry.cpp
Image.cpp
ImageFactory.cpp
Painter.cpp
- Resource.cpp
TextLayout.cpp
)
+find_library(FOUNDATION Foundation REQUIRED)
+find_library(CORE_FOUNDATION CoreFoundation REQUIRED)
find_library(CORE_GRAPHICS CoreGraphics REQUIRED)
find_library(CORE_TEXT CoreText REQUIRED)
find_library(IMAGE_IO ImageIO REQUIRED)
-target_link_libraries(CruPlatformGraphicsQuartz PUBLIC ${CORE_GRAPHICS} ${CORE_TEXT} ${IMAGE_IO})
-target_link_libraries(CruPlatformGraphicsQuartz PUBLIC CruPlatformBaseOsx CruPlatformGraphics)
+target_link_libraries(CruPlatformGraphicsQuartz PUBLIC ${FOUNDATION} ${CORE_FOUNDATION} ${CORE_GRAPHICS} ${CORE_TEXT} ${IMAGE_IO})
+target_link_libraries(CruPlatformGraphicsQuartz PUBLIC CruPlatformGraphics)
diff --git a/src/platform/graphics/quartz/Factory.cpp b/src/platform/graphics/quartz/Factory.cpp
index 3a489212..bdef7554 100644
--- a/src/platform/graphics/quartz/Factory.cpp
+++ b/src/platform/graphics/quartz/Factory.cpp
@@ -1,6 +1,5 @@
#include "cru/platform/graphics/quartz/Factory.h"
-#include "cru/platform/graphics/ImageFactory.h"
#include "cru/platform/graphics/quartz/Brush.h"
#include "cru/platform/graphics/quartz/Font.h"
#include "cru/platform/graphics/quartz/Geometry.h"
diff --git a/src/platform/graphics/quartz/Font.cpp b/src/platform/graphics/quartz/Font.cpp
index 12a8aa7f..dc60d559 100644
--- a/src/platform/graphics/quartz/Font.cpp
+++ b/src/platform/graphics/quartz/Font.cpp
@@ -1,7 +1,6 @@
#include "cru/platform/graphics/quartz/Font.h"
-#include "cru/base/Osx.h"
-#include "cru/platform/graphics/quartz/Resource.h"
+#include "cru/base/platform/osx/Base.h"
namespace cru::platform::graphics::quartz {
OsxCTFont::OsxCTFont(IGraphicsFactory* graphics_factory,
diff --git a/src/platform/graphics/quartz/Geometry.cpp b/src/platform/graphics/quartz/Geometry.cpp
index e6558fbb..4c2f90a6 100644
--- a/src/platform/graphics/quartz/Geometry.cpp
+++ b/src/platform/graphics/quartz/Geometry.cpp
@@ -1,5 +1,4 @@
#include "cru/platform/graphics/quartz/Geometry.h"
-#include "cru/platform/graphics/quartz/Convert.h"
#include <memory>
diff --git a/src/platform/graphics/quartz/Image.cpp b/src/platform/graphics/quartz/Image.cpp
index a6c7c65b..be63f5f5 100644
--- a/src/platform/graphics/quartz/Image.cpp
+++ b/src/platform/graphics/quartz/Image.cpp
@@ -1,6 +1,4 @@
#include "cru/platform/graphics/quartz/Image.h"
-#include "cru/base/Exception.h"
-#include "cru/platform/graphics/quartz/Convert.h"
#include "cru/platform/graphics/quartz/Painter.h"
namespace cru::platform::graphics::quartz {
diff --git a/src/platform/graphics/quartz/ImageFactory.cpp b/src/platform/graphics/quartz/ImageFactory.cpp
index 87b2ff36..c591d9d7 100644
--- a/src/platform/graphics/quartz/ImageFactory.cpp
+++ b/src/platform/graphics/quartz/ImageFactory.cpp
@@ -1,8 +1,5 @@
#include "cru/platform/graphics/quartz/ImageFactory.h"
-#include "cru/base/Exception.h"
-#include "cru/base/Osx.h"
-#include "cru/platform/graphics/Image.h"
-#include "cru/platform/graphics/quartz/Convert.h"
+#include "cru/base/platform/osx/Base.h"
#include "cru/platform/graphics/quartz/Image.h"
#include <ImageIO/ImageIO.h>
diff --git a/src/platform/graphics/quartz/Painter.cpp b/src/platform/graphics/quartz/Painter.cpp
index b825f28c..90450bab 100644
--- a/src/platform/graphics/quartz/Painter.cpp
+++ b/src/platform/graphics/quartz/Painter.cpp
@@ -1,11 +1,9 @@
#include "cru/platform/graphics/quartz/Painter.h"
#include "cru/platform/graphics/quartz/Brush.h"
-#include "cru/platform/graphics/quartz/Convert.h"
#include "cru/platform/graphics/quartz/Geometry.h"
#include "cru/platform/graphics/quartz/Image.h"
#include "cru/platform/graphics/quartz/TextLayout.h"
-#include "cru/platform/Color.h"
namespace cru::platform::graphics::quartz {
QuartzCGContextPainter::QuartzCGContextPainter(
diff --git a/src/platform/graphics/quartz/Resource.cpp b/src/platform/graphics/quartz/Resource.cpp
deleted file mode 100644
index a5d43747..00000000
--- a/src/platform/graphics/quartz/Resource.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "cru/platform/graphics/quartz/Resource.h"
diff --git a/src/platform/graphics/quartz/TextLayout.cpp b/src/platform/graphics/quartz/TextLayout.cpp
index b7a015c1..f98cff3a 100644
--- a/src/platform/graphics/quartz/TextLayout.cpp
+++ b/src/platform/graphics/quartz/TextLayout.cpp
@@ -1,10 +1,7 @@
#include "cru/platform/graphics/quartz/TextLayout.h"
#include "cru/base/Base.h"
-#include "cru/base/Osx.h"
#include "cru/base/StringUtil.h"
-#include "cru/platform/graphics/Base.h"
-#include "cru/platform/graphics/quartz/Convert.h"
-#include "cru/platform/graphics/quartz/Resource.h"
+#include "cru/base/platform/osx/Base.h"
#include <format>
#include <limits>
diff --git a/src/platform/gui/osx/Resource.cpp b/src/platform/gui/osx/Base.cpp
index d33133c7..0cd7eab1 100644
--- a/src/platform/gui/osx/Resource.cpp
+++ b/src/platform/gui/osx/Base.cpp
@@ -1,4 +1,4 @@
-#include "cru/platform/gui/osx/Resource.h"
+#include "cru/platform/gui/osx/Base.h"
namespace cru::platform::gui::osx {
OsxGuiResource::OsxGuiResource(IUiApplication* ui_application)
diff --git a/src/platform/gui/osx/CMakeLists.txt b/src/platform/gui/osx/CMakeLists.txt
index 87245cdb..df790392 100644
--- a/src/platform/gui/osx/CMakeLists.txt
+++ b/src/platform/gui/osx/CMakeLists.txt
@@ -1,15 +1,17 @@
add_library(CruPlatformGuiOsx
+ Base.cpp
Clipboard.mm
Cursor.mm
InputMethod.mm
Keyboard.mm
Menu.mm
- Resource.cpp
UiApplication.mm
Window.mm
)
+find_library(FOUNDATION Foundation REQUIRED)
+find_library(CORE_FOUNDATION CoreFoundation REQUIRED)
find_library(APPKIT AppKit REQUIRED)
find_library(UNIFORMTYPEIDENTIFIERS UniformTypeIdentifiers REQUIRED)
-target_link_libraries(CruPlatformGuiOsx PUBLIC CruPlatformGui CruPlatformGraphicsQuartz ${APPKIT} ${UNIFORMTYPEIDENTIFIERS})
+target_link_libraries(CruPlatformGuiOsx PUBLIC CruPlatformGui CruPlatformGraphicsQuartz ${FOUNDATION} ${CORE_FOUNDATION} ${APPKIT} ${UNIFORMTYPEIDENTIFIERS})
diff --git a/src/platform/gui/osx/Clipboard.mm b/src/platform/gui/osx/Clipboard.mm
index a09bca1c..61652589 100644
--- a/src/platform/gui/osx/Clipboard.mm
+++ b/src/platform/gui/osx/Clipboard.mm
@@ -1,5 +1,5 @@
#include "cru/platform/gui/osx/Clipboard.h"
-#include "cru/base/Osx.h"
+#include "cru/base/platform/osx/Base.h"
#include "cru/base/log/Logger.h"
#include "ClipboardPrivate.h"
diff --git a/src/platform/gui/osx/Cursor.mm b/src/platform/gui/osx/Cursor.mm
index 9c25fdbd..e9d8f484 100644
--- a/src/platform/gui/osx/Cursor.mm
+++ b/src/platform/gui/osx/Cursor.mm
@@ -2,10 +2,6 @@
#include "CursorPrivate.h"
#include "cru/base/Exception.h"
-#include "cru/platform/gui/Cursor.h"
-#include "cru/platform/gui/UiApplication.h"
-#include "cru/platform/gui/osx/Resource.h"
-
#include <memory>
namespace cru::platform::gui::osx {
diff --git a/src/platform/gui/osx/InputMethod.mm b/src/platform/gui/osx/InputMethod.mm
index c17dab3d..10003a5d 100644
--- a/src/platform/gui/osx/InputMethod.mm
+++ b/src/platform/gui/osx/InputMethod.mm
@@ -1,11 +1,12 @@
#include "cru/platform/gui/osx/InputMethod.h"
-#import <AppKit/AppKit.h>
#include "InputMethodPrivate.h"
#include "WindowPrivate.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/gui/osx/Window.h"
+#import <AppKit/AppKit.h>
+
namespace cru::platform::gui::osx {
namespace details {
OsxInputMethodContextPrivate::OsxInputMethodContextPrivate(
diff --git a/src/platform/gui/osx/Menu.mm b/src/platform/gui/osx/Menu.mm
index 0eea19ec..62e9fe64 100644
--- a/src/platform/gui/osx/Menu.mm
+++ b/src/platform/gui/osx/Menu.mm
@@ -2,7 +2,7 @@
#include "KeyboardPrivate.h"
#import "MenuPrivate.h"
-#include "cru/base/Osx.h"
+#include "cru/base/platform/osx/Base.h"
#import <AppKit/NSApplication.h>
diff --git a/src/platform/gui/osx/UiApplication.mm b/src/platform/gui/osx/UiApplication.mm
index fca21075..19fcdc87 100644
--- a/src/platform/gui/osx/UiApplication.mm
+++ b/src/platform/gui/osx/UiApplication.mm
@@ -1,13 +1,9 @@
#include "cru/platform/gui/osx/UiApplication.h"
#include "ClipboardPrivate.h"
-#include "cru/base/Osx.h"
+#include "cru/base/platform/osx/Base.h"
#include "cru/base/log/Logger.h"
-#include "cru/platform/graphics/Factory.h"
#include "cru/platform/graphics/quartz/Factory.h"
-#include "cru/platform/gui/Base.h"
-#include "cru/platform/gui/UiApplication.h"
-#include "cru/platform/gui/Window.h"
#include "cru/platform/gui/osx/Clipboard.h"
#include "cru/platform/gui/osx/Cursor.h"
#include "cru/platform/gui/osx/Menu.h"
diff --git a/src/platform/gui/osx/Window.mm b/src/platform/gui/osx/Window.mm
index ca2de573..600f4902 100644
--- a/src/platform/gui/osx/Window.mm
+++ b/src/platform/gui/osx/Window.mm
@@ -3,18 +3,16 @@
#include "CursorPrivate.h"
#include "InputMethodPrivate.h"
-#include "cru/base/Osx.h"
+#include "cru/base/platform/osx/Base.h"
#include "cru/base/Range.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/graphics/NullPainter.h"
-#include "cru/platform/graphics/quartz/Convert.h"
#include "cru/platform/graphics/quartz/Painter.h"
#include "cru/platform/gui/Input.h"
#include "cru/platform/gui/TimerHelper.h"
#include "cru/platform/gui/osx/Cursor.h"
#include "cru/platform/gui/osx/InputMethod.h"
#include "cru/platform/gui/osx/Keyboard.h"
-#include "cru/platform/gui/osx/Resource.h"
#include "cru/platform/gui/osx/UiApplication.h"
#include <AppKit/AppKit.h>
diff --git a/src/platform/gui/osx/WindowPrivate.h b/src/platform/gui/osx/WindowPrivate.h
index 9e1b2a6c..913f2b2b 100644
--- a/src/platform/gui/osx/WindowPrivate.h
+++ b/src/platform/gui/osx/WindowPrivate.h
@@ -3,7 +3,6 @@
#include "cru/base/Event.h"
#include "cru/platform/gui/TimerHelper.h"
-#include "cru/platform/gui/Window.h"
#include "cru/platform/gui/osx/Cursor.h"
#import <AppKit/AppKit.h>
diff --git a/src/platform/osx/CMakeLists.txt b/src/platform/osx/CMakeLists.txt
deleted file mode 100644
index 43a0a22b..00000000
--- a/src/platform/osx/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-add_library(CruPlatformBaseOsx
- Resource.cpp
-)
-
-find_library(FOUNDATION Foundation REQUIRED)
-find_library(CORE_FOUNDATION CoreFoundation REQUIRED)
-
-target_link_libraries(CruPlatformBaseOsx PUBLIC CruPlatformBase ${FOUNDATION} ${CORE_FOUNDATION})
diff --git a/src/platform/osx/Resource.cpp b/src/platform/osx/Resource.cpp
deleted file mode 100644
index 0b098d6f..00000000
--- a/src/platform/osx/Resource.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "cru/platform/osx/Resource.h"