diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/cru/base/Osx.h | 7 | ||||
-rw-r--r-- | include/cru/base/StringUtil.h | 5 | ||||
-rw-r--r-- | include/cru/platform/Color.h | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/Brush.h | 2 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/Convert.h | 2 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/Factory.h | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/Font.h | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/Resource.h | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/quartz/TextLayout.h | 14 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/Clipboard.h | 4 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/InputMethod.h | 2 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/Menu.h | 4 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/Resource.h | 4 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/UiApplication.h | 4 | ||||
-rw-r--r-- | include/cru/platform/gui/osx/Window.h | 4 | ||||
-rw-r--r-- | include/cru/platform/osx/Resource.h | 6 |
16 files changed, 42 insertions, 36 deletions
diff --git a/include/cru/base/Osx.h b/include/cru/base/Osx.h index fbdffc54..e42a4fe5 100644 --- a/include/cru/base/Osx.h +++ b/include/cru/base/Osx.h @@ -7,9 +7,10 @@ #endif #include "Range.h" -#include "String.h" #include <CoreFoundation/CoreFoundation.h> +#include <string> +#include <string_view> namespace cru { template <typename CFClassRef> @@ -29,8 +30,8 @@ class CFWrapper { } }; -CFWrapper<CFStringRef> ToCFString(StringView string); -String FromCFStringRef(CFStringRef string); +CFWrapper<CFStringRef> ToCFString(std::string_view string); +std::string FromCFStringRef(CFStringRef string); CFRange ToCFRange(const Range& range); Range FromCFRange(const CFRange& range); diff --git a/include/cru/base/StringUtil.h b/include/cru/base/StringUtil.h index 54e7b6e6..8c7841d7 100644 --- a/include/cru/base/StringUtil.h +++ b/include/cru/base/StringUtil.h @@ -375,4 +375,9 @@ class CodePointIterator { using Utf8CodePointIterator = CodePointIterator<char, &Utf8NextCodePoint>; using Utf16CodePointIterator = CodePointIterator<Utf16CodeUnit, &Utf16NextCodePoint>; + +Index Utf8IndexCodeUnitToCodePoint(const Utf8CodeUnit* ptr, Index size, Index position); +Index Utf8IndexCodePointToCodeUnit(const Utf8CodeUnit* ptr, Index size, Index position); +Index Utf16IndexCodeUnitToCodePoint(const Utf16CodeUnit* ptr, Index size, Index position); +Index Utf16IndexCodePointToCodeUnit(const Utf16CodeUnit* ptr, Index size, Index position); } // namespace cru::string diff --git a/include/cru/platform/Color.h b/include/cru/platform/Color.h index 53252cc4..f7c82dec 100644 --- a/include/cru/platform/Color.h +++ b/include/cru/platform/Color.h @@ -2,8 +2,10 @@ #include "Base.h" #include <cru/base/Base.h> +#include <cru/base/StringUtil.h> #include <cstdint> +#include <format> #include <optional> #include <string_view> @@ -248,6 +250,10 @@ struct std::hash<cru::platform::Color> { } }; +template <> +struct std::formatter<cru::platform::Color, char> + : cru::string::ImplementFormatterByToString<cru::platform::Color> {}; + namespace cru::platform { std::optional<Color> GetPredefinedColorByName(std::string_view name); diff --git a/include/cru/platform/graphics/quartz/Brush.h b/include/cru/platform/graphics/quartz/Brush.h index 9b29ef59..73aa2f6d 100644 --- a/include/cru/platform/graphics/quartz/Brush.h +++ b/include/cru/platform/graphics/quartz/Brush.h @@ -36,7 +36,7 @@ class QuartzSolidColorBrush : public QuartzBrush, void Select(CGContextRef context) override; - String GetDebugString() override; + std::string GetDebugString() override; private: Color color_; diff --git a/include/cru/platform/graphics/quartz/Convert.h b/include/cru/platform/graphics/quartz/Convert.h index c5a1a6cc..fd6159a6 100644 --- a/include/cru/platform/graphics/quartz/Convert.h +++ b/include/cru/platform/graphics/quartz/Convert.h @@ -1,6 +1,4 @@ #pragma once -#include "cru/base/Range.h" -#include "cru/base/String.h" #include "cru/base/io/Stream.h" #include "cru/platform/Matrix.h" diff --git a/include/cru/platform/graphics/quartz/Factory.h b/include/cru/platform/graphics/quartz/Factory.h index 042e35ca..61d8dbdb 100644 --- a/include/cru/platform/graphics/quartz/Factory.h +++ b/include/cru/platform/graphics/quartz/Factory.h @@ -21,11 +21,11 @@ class QuartzGraphicsFactory : public OsxQuartzResource, std::unique_ptr<IGeometryBuilder> CreateGeometryBuilder() override; - std::unique_ptr<IFont> CreateFont(String font_family, + std::unique_ptr<IFont> CreateFont(std::string font_family, float font_size) override; std::unique_ptr<ITextLayout> CreateTextLayout(std::shared_ptr<IFont> font, - String text) override; + std::string text) override; IImageFactory* GetImageFactory() override; diff --git a/include/cru/platform/graphics/quartz/Font.h b/include/cru/platform/graphics/quartz/Font.h index 975607b9..d110b59b 100644 --- a/include/cru/platform/graphics/quartz/Font.h +++ b/include/cru/platform/graphics/quartz/Font.h @@ -8,7 +8,7 @@ namespace cru::platform::graphics::quartz { class OsxCTFont : public OsxQuartzResource, public virtual IFont { public: - OsxCTFont(IGraphicsFactory* graphics_factory, const String& name, float size); + OsxCTFont(IGraphicsFactory* graphics_factory, const std::string& name, float size); CRU_DELETE_COPY(OsxCTFont) CRU_DELETE_MOVE(OsxCTFont) @@ -17,11 +17,11 @@ class OsxCTFont : public OsxQuartzResource, public virtual IFont { CTFontRef GetCTFont() const { return ct_font_; } - String GetFontName() override; + std::string GetFontName() override; float GetFontSize() override; private: - String name_; + std::string name_; CTFontRef ct_font_; }; } // namespace cru::platform::graphics::quartz diff --git a/include/cru/platform/graphics/quartz/Resource.h b/include/cru/platform/graphics/quartz/Resource.h index d28e4055..23fe6fa9 100644 --- a/include/cru/platform/graphics/quartz/Resource.h +++ b/include/cru/platform/graphics/quartz/Resource.h @@ -1,7 +1,7 @@ #pragma once -#include "cru/platform/osx/Resource.h" #include "cru/platform/graphics/Base.h" #include "cru/platform/graphics/Resource.h" +#include "cru/platform/osx/Resource.h" namespace cru::platform::graphics::quartz { class OsxQuartzResource : public platform::osx::OsxResource, @@ -15,7 +15,7 @@ class OsxQuartzResource : public platform::osx::OsxResource, ~OsxQuartzResource() override = default; public: - String GetPlatformId() const override { return u"OSX Quartz"; } + std::string GetPlatformId() const override { return "OSX Quartz"; } IGraphicsFactory* GetGraphicsFactory() override { return graphics_factory_; } diff --git a/include/cru/platform/graphics/quartz/TextLayout.h b/include/cru/platform/graphics/quartz/TextLayout.h index bbb417f6..e53ee464 100644 --- a/include/cru/platform/graphics/quartz/TextLayout.h +++ b/include/cru/platform/graphics/quartz/TextLayout.h @@ -11,7 +11,7 @@ namespace cru::platform::graphics::quartz { class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout { public: OsxCTTextLayout(IGraphicsFactory* graphics_factory, - std::shared_ptr<OsxCTFont> font, const String& str); + std::shared_ptr<OsxCTFont> font, const std::string& str); CRU_DELETE_COPY(OsxCTTextLayout) CRU_DELETE_MOVE(OsxCTTextLayout) @@ -19,8 +19,8 @@ class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout { ~OsxCTTextLayout() override; public: - String GetText() override { return text_; } - void SetText(String new_text) override; + std::string GetText() override { return text_; } + void SetText(std::string new_text) override; std::shared_ptr<IFont> GetFont() override { return font_; } void SetFont(std::shared_ptr<IFont> font) override; @@ -46,10 +46,10 @@ class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout { Matrix GetTransform() { return transform_; } - String GetDebugString() override; + std::string GetDebugString() override; private: - void DoSetText(String text); + void DoSetText(std::string text); void ReleaseResource(); void RecreateFrame(); @@ -68,8 +68,8 @@ class OsxCTTextLayout : public OsxQuartzResource, public virtual ITextLayout { std::shared_ptr<OsxCTFont> font_; - String text_; - String actual_text_; + std::string text_; + std::string actual_text_; CFMutableAttributedStringRef cf_attributed_text_; CTFramesetterRef ct_framesetter_ = nullptr; diff --git a/include/cru/platform/gui/osx/Clipboard.h b/include/cru/platform/gui/osx/Clipboard.h index b4dcce4c..6672f84d 100644 --- a/include/cru/platform/gui/osx/Clipboard.h +++ b/include/cru/platform/gui/osx/Clipboard.h @@ -22,8 +22,8 @@ class OsxClipboard : public OsxGuiResource, public virtual IClipboard { ~OsxClipboard() override; public: - String GetText() override; - void SetText(String text) override; + std::string GetText() override; + void SetText(std::string text) override; private: std::unique_ptr<details::OsxClipboardPrivate> p_; diff --git a/include/cru/platform/gui/osx/InputMethod.h b/include/cru/platform/gui/osx/InputMethod.h index cbfdae6c..067d86ea 100644 --- a/include/cru/platform/gui/osx/InputMethod.h +++ b/include/cru/platform/gui/osx/InputMethod.h @@ -46,7 +46,7 @@ class OsxInputMethodContext : public OsxGuiResource, IEvent<std::nullptr_t>* CompositionEvent() override; - IEvent<StringView>* TextEvent() override; + IEvent<std::string>* TextEvent() override; bool IsEnabled(); diff --git a/include/cru/platform/gui/osx/Menu.h b/include/cru/platform/gui/osx/Menu.h index c5cc756a..05f21e1c 100644 --- a/include/cru/platform/gui/osx/Menu.h +++ b/include/cru/platform/gui/osx/Menu.h @@ -25,8 +25,8 @@ class OsxMenuItem : public OsxGuiResource, public virtual IMenuItem { ~OsxMenuItem() override; public: - String GetTitle() override; - void SetTitle(String title) override; + std::string GetTitle() override; + void SetTitle(std::string title) override; bool IsEnabled() override; void SetEnabled(bool enabled) override; IMenu* GetParentMenu() override; diff --git a/include/cru/platform/gui/osx/Resource.h b/include/cru/platform/gui/osx/Resource.h index 1eec7d09..1253544c 100644 --- a/include/cru/platform/gui/osx/Resource.h +++ b/include/cru/platform/gui/osx/Resource.h @@ -1,7 +1,7 @@ #pragma once #include "cru/platform/osx/Resource.h" -#include "cru/platform/gui/Base.h" +#include <cru/platform/gui/UiApplication.h> namespace cru::platform::gui::osx { class OsxGuiResource : public platform::osx::OsxResource { @@ -14,7 +14,7 @@ class OsxGuiResource : public platform::osx::OsxResource { ~OsxGuiResource() override = default; public: - String GetPlatformId() const override { return u"OSX GUI"; } + std::string GetPlatformId() const override { return "OSX GUI"; } IUiApplication* GetUiApplication() const { return ui_application_; } diff --git a/include/cru/platform/gui/osx/UiApplication.h b/include/cru/platform/gui/osx/UiApplication.h index 2d2c119c..f0e311dc 100644 --- a/include/cru/platform/gui/osx/UiApplication.h +++ b/include/cru/platform/gui/osx/UiApplication.h @@ -51,9 +51,9 @@ class OsxUiApplication : public OsxGuiResource, public virtual IUiApplication { IMenu* GetApplicationMenu() override; - std::optional<String> ShowSaveDialog(SaveDialogOptions options) override; + std::optional<std::string> ShowSaveDialog(SaveDialogOptions options) override; - std::optional<std::vector<String>> ShowOpenDialog( + std::optional<std::vector<std::string>> ShowOpenDialog( OpenDialogOptions options) override; private: diff --git a/include/cru/platform/gui/osx/Window.h b/include/cru/platform/gui/osx/Window.h index 6cefbe8e..d00136b0 100644 --- a/include/cru/platform/gui/osx/Window.h +++ b/include/cru/platform/gui/osx/Window.h @@ -36,8 +36,8 @@ class OsxWindow : public OsxGuiResource, public INativeWindow { WindowStyleFlag GetStyleFlag() override; void SetStyleFlag(WindowStyleFlag flag) override; - String GetTitle() override; - void SetTitle(String title) override; + std::string GetTitle() override; + void SetTitle(std::string title) override; WindowVisibilityType GetVisibility() override; void SetVisibility(WindowVisibilityType visibility) override; diff --git a/include/cru/platform/osx/Resource.h b/include/cru/platform/osx/Resource.h index d30ee31b..4a3b6b7d 100644 --- a/include/cru/platform/osx/Resource.h +++ b/include/cru/platform/osx/Resource.h @@ -4,10 +4,6 @@ namespace cru::platform::osx { class OsxResource : public Object, public virtual IPlatformResource { public: - CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(OsxResource) - CRU_DELETE_COPY(OsxResource) - CRU_DELETE_MOVE(OsxResource) - - String GetPlatformId() const override { return u"OSX"; } + std::string GetPlatformId() const override { return "OSX"; } }; } // namespace cru::platform::osx |