diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-28 18:07:15 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-28 18:07:15 +0800 |
commit | 924b40bf2b53183d8b1c9c72f1e4af07780d8d75 (patch) | |
tree | 8630981c09b36522d56fb86b7337003327f801a6 /include | |
parent | 5c1853e421cdbe85e230f27d494cebb2bdac7b18 (diff) | |
download | cru-924b40bf2b53183d8b1c9c72f1e4af07780d8d75.tar.gz cru-924b40bf2b53183d8b1c9c72f1e4af07780d8d75.tar.bz2 cru-924b40bf2b53183d8b1c9c72f1e4af07780d8d75.zip |
Fix pango TextRangeRect.
Diffstat (limited to 'include')
-rw-r--r-- | include/cru/platform/GraphicsBase.h | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/include/cru/platform/GraphicsBase.h b/include/cru/platform/GraphicsBase.h index d5936476..79e539a3 100644 --- a/include/cru/platform/GraphicsBase.h +++ b/include/cru/platform/GraphicsBase.h @@ -40,12 +40,8 @@ constexpr bool operator==(const Point& left, const Point& right) { return left.x == right.x && left.y == right.y; } -constexpr bool operator!=(const Point& left, const Point& right) { - return !(left == right); -} - inline std::string ToUtf8String(const Point& point) { - return std::format("(x: {}, y: {})", point.x, point.y); + return std::format("Point(x: {}, y: {})", point.x, point.y); } inline String ToString(const Point& point) { @@ -85,12 +81,8 @@ constexpr bool operator==(const Size& left, const Size& right) { return left.width == right.width && left.height == right.height; } -constexpr bool operator!=(const Size& left, const Size& right) { - return !(left == right); -} - inline std::string ToUtf8String(const Size& size) { - return std::format("(width: {}, height: {})", size.width, size.height); + return std::format("Size(width: {}, height: {})", size.width, size.height); } inline String ToString(const Size& size) { @@ -149,10 +141,6 @@ constexpr bool operator==(const Thickness& left, const Thickness& right) { left.right == right.right && left.bottom == right.bottom; } -constexpr bool operator!=(const Thickness& left, const Thickness& right) { - return !(left == right); -} - struct Rect final { constexpr Rect() = default; constexpr Rect(const float left, const float top, const float width, @@ -253,8 +241,13 @@ constexpr bool operator==(const Rect& left, const Rect& right) { left.width == right.width && left.height == right.height; } -constexpr bool operator!=(const Rect& left, const Rect& right) { - return !(left == right); +inline std::string ToUtf8String(const Rect& rect) { + return std::format("Rect(left: {}, top: {}, width: {}, height: {})", + rect.left, rect.top, rect.width, rect.height); +} + +inline String ToString(const Rect& rect) { + return String::FromUtf8(ToUtf8String(rect)); } struct RoundedRect final { @@ -273,10 +266,6 @@ constexpr bool operator==(const RoundedRect& left, const RoundedRect& right) { left.radius_y == right.radius_y; } -constexpr bool operator!=(const RoundedRect& left, const RoundedRect& right) { - return !(left == right); -} - struct Ellipse final { constexpr Ellipse() = default; constexpr Ellipse(const Point& center, const float radius_x, @@ -301,10 +290,6 @@ constexpr bool operator==(const Ellipse& left, const Ellipse& right) { left.radius_y == right.radius_y; } -constexpr bool operator!=(const Ellipse& left, const Ellipse& right) { - return !(left == right); -} - using TextRange = Range; } // namespace cru::platform @@ -315,3 +300,7 @@ struct std::formatter<cru::platform::Point, char> template <> struct std::formatter<cru::platform::Size, char> : cru::ImplementFormatterByToUtf8String<cru::platform::Size> {}; + +template <> +struct std::formatter<cru::platform::Rect, char> + : cru::ImplementFormatterByToUtf8String<cru::platform::Rect> {}; |