diff options
Diffstat (limited to 'include')
21 files changed, 79 insertions, 173 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; |
