diff options
author | Andreas Kling <kling@serenityos.org> | 2021-06-16 19:12:31 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-06-16 21:53:10 +0200 |
commit | 316fb6cf31d2e330395a47d85a7e874061cb77c0 (patch) | |
tree | 6249e82179973e8fb7280a4798d63ffaa176b40f /Userland/Libraries | |
parent | d924d93fa298172a61711382ed75153677f1b241 (diff) | |
download | serenity-316fb6cf31d2e330395a47d85a7e874061cb77c0.zip |
LibGfx: Add a bunch of [[nodiscard]] to Gfx::Rect
Diffstat (limited to 'Userland/Libraries')
-rw-r--r-- | Userland/Libraries/LibGfx/Rect.h | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/Userland/Libraries/LibGfx/Rect.h b/Userland/Libraries/LibGfx/Rect.h index 77e58a827d..268b52e0d9 100644 --- a/Userland/Libraries/LibGfx/Rect.h +++ b/Userland/Libraries/LibGfx/Rect.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org> * * SPDX-License-Identifier: BSD-2-Clause */ @@ -90,7 +90,7 @@ public: void transform_by(const AffineTransform& transform) { *this = transform.map(*this); } - Point<T> center() const + [[nodiscard]] Point<T> center() const { return { x() + width() / 2, y() + height() / 2 }; } @@ -145,63 +145,63 @@ public: set_height(height() - size.height()); } - Rect<T> translated(T dx, T dy) const + [[nodiscard]] Rect<T> translated(T dx, T dy) const { Rect<T> rect = *this; rect.translate_by(dx, dy); return rect; } - Rect<T> translated(const Point<T>& delta) const + [[nodiscard]] Rect<T> translated(Point<T> const& delta) const { Rect<T> rect = *this; rect.translate_by(delta); return rect; } - Rect<T> scaled(T sx, T sy) const + [[nodiscard]] Rect<T> scaled(T sx, T sy) const { Rect<T> rect = *this; rect.scale_by(sx, sy); return rect; } - Rect<T> scaled(const Point<T>& s) const + [[nodiscard]] Rect<T> scaled(Point<T> const& s) const { Rect<T> rect = *this; rect.scale_by(s); return rect; } - Rect<T> transformed(const AffineTransform& transform) const + [[nodiscard]] Rect<T> transformed(AffineTransform const& transform) const { Rect<T> rect = *this; rect.transform_by(transform); return rect; } - Rect<T> shrunken(T w, T h) const + [[nodiscard]] Rect<T> shrunken(T w, T h) const { Rect<T> rect = *this; rect.shrink(w, h); return rect; } - Rect<T> shrunken(const Size<T>& size) const + [[nodiscard]] Rect<T> shrunken(Size<T> const& size) const { Rect<T> rect = *this; rect.shrink(size); return rect; } - Rect<T> inflated(T w, T h) const + [[nodiscard]] Rect<T> inflated(T w, T h) const { Rect<T> rect = *this; rect.inflate(w, h); return rect; } - Rect<T> inflated(const Size<T>& size) const + [[nodiscard]] Rect<T> inflated(Size<T> const& size) const { Rect<T> rect = *this; rect.inflate(size); @@ -252,27 +252,27 @@ public: return rect; } - bool contains_vertically(T y) const + [[nodiscard]] bool contains_vertically(T y) const { return y >= top() && y <= bottom(); } - bool contains_horizontally(T x) const + [[nodiscard]] bool contains_horizontally(T x) const { return x >= left() && x <= right(); } - bool contains(T x, T y) const + [[nodiscard]] bool contains(T x, T y) const { return x >= m_location.x() && x <= right() && y >= m_location.y() && y <= bottom(); } - ALWAYS_INLINE bool contains(const Point<T>& point) const + [[nodiscard]] ALWAYS_INLINE bool contains(const Point<T>& point) const { return contains(point.x(), point.y()); } - bool contains(const Rect<T>& other) const + [[nodiscard]] bool contains(const Rect<T>& other) const { return left() <= other.left() && right() >= other.right() @@ -281,7 +281,7 @@ public: } template<typename Container> - bool contains(const Container& others) const + [[nodiscard]] bool contains(const Container& others) const { bool have_any = false; for (const auto& other : others) { @@ -292,24 +292,24 @@ public: return have_any; } - ALWAYS_INLINE int primary_offset_for_orientation(Orientation orientation) const { return m_location.primary_offset_for_orientation(orientation); } + [[nodiscard]] ALWAYS_INLINE int primary_offset_for_orientation(Orientation orientation) const { return m_location.primary_offset_for_orientation(orientation); } ALWAYS_INLINE void set_primary_offset_for_orientation(Orientation orientation, int value) { m_location.set_primary_offset_for_orientation(orientation, value); } - ALWAYS_INLINE int secondary_offset_for_orientation(Orientation orientation) const { return m_location.secondary_offset_for_orientation(orientation); } + [[nodiscard]] ALWAYS_INLINE int secondary_offset_for_orientation(Orientation orientation) const { return m_location.secondary_offset_for_orientation(orientation); } ALWAYS_INLINE void set_secondary_offset_for_orientation(Orientation orientation, int value) { m_location.set_secondary_offset_for_orientation(orientation, value); } - ALWAYS_INLINE int primary_size_for_orientation(Orientation orientation) const { return m_size.primary_size_for_orientation(orientation); } - ALWAYS_INLINE int secondary_size_for_orientation(Orientation orientation) const { return m_size.secondary_size_for_orientation(orientation); } + [[nodiscard]] ALWAYS_INLINE int primary_size_for_orientation(Orientation orientation) const { return m_size.primary_size_for_orientation(orientation); } + [[nodiscard]] ALWAYS_INLINE int secondary_size_for_orientation(Orientation orientation) const { return m_size.secondary_size_for_orientation(orientation); } ALWAYS_INLINE void set_primary_size_for_orientation(Orientation orientation, int value) { m_size.set_primary_size_for_orientation(orientation, value); } ALWAYS_INLINE void set_secondary_size_for_orientation(Orientation orientation, int value) { m_size.set_secondary_size_for_orientation(orientation, value); } - T first_edge_for_orientation(Orientation orientation) const + [[nodiscard]] T first_edge_for_orientation(Orientation orientation) const { if (orientation == Orientation::Vertical) return top(); return left(); } - T last_edge_for_orientation(Orientation orientation) const + [[nodiscard]] T last_edge_for_orientation(Orientation orientation) const { if (orientation == Orientation::Vertical) return bottom(); @@ -353,17 +353,17 @@ public: translate_by(0, delta); } - bool intersects_vertically(const Rect<T>& other) const + [[nodiscard]] bool intersects_vertically(Rect<T> const& other) const { return top() <= other.bottom() && other.top() <= bottom(); } - bool intersects_horizontally(const Rect<T>& other) const + [[nodiscard]] bool intersects_horizontally(Rect<T> const& other) const { return left() <= other.right() && other.left() <= right(); } - bool intersects(const Rect<T>& other) const + [[nodiscard]] bool intersects(Rect<T> const& other) const { return left() <= other.right() && other.left() <= right() @@ -372,7 +372,7 @@ public: } template<typename Container> - bool intersects(const Container& others) const + [[nodiscard]] bool intersects(Container const& others) const { for (const auto& other : others) { if (intersects(other)) @@ -397,21 +397,21 @@ public: return IterationDecision::Continue; } - Vector<Rect<T>, 4> shatter(const Rect<T>& hammer) const; + [[nodiscard]] Vector<Rect<T>, 4> shatter(Rect<T> const& hammer) const; template<class U> - bool operator==(const Rect<U>& other) const + [[nodiscard]] bool operator==(Rect<U> const& other) const { return location() == other.location() && size() == other.size(); } template<class U> - bool operator!=(const Rect<U>& other) const + [[nodiscard]] bool operator!=(const Rect<U>& other) const { return !(*this == other); } - Rect<T> operator*(T factor) const { return { m_location * factor, m_size * factor }; } + [[nodiscard]] Rect<T> operator*(T factor) const { return { m_location * factor, m_size * factor }; } Rect<T>& operator*=(T factor) { @@ -422,34 +422,34 @@ public: void intersect(const Rect<T>&); - static Rect<T> centered_on(const Point<T>& center, const Size<T>& size) + [[nodiscard]] static Rect<T> centered_on(const Point<T>& center, const Size<T>& size) { return { { center.x() - size.width() / 2, center.y() - size.height() / 2 }, size }; } - static Rect<T> from_two_points(const Point<T>& a, const Point<T>& b) + [[nodiscard]] static Rect<T> from_two_points(const Point<T>& a, const Point<T>& b) { return { min(a.x(), b.x()), min(a.y(), b.y()), abst(a.x() - b.x()), abst(a.y() - b.y()) }; } - static Rect<T> intersection(const Rect<T>& a, const Rect<T>& b) + [[nodiscard]] static Rect<T> intersection(Rect<T> const& a, Rect<T> const& b) { Rect<T> r = a; r.intersect(b); return r; } - ALWAYS_INLINE Rect<T> intersected(const Rect<T>& other) const + [[nodiscard]] ALWAYS_INLINE Rect<T> intersected(Rect<T> const& other) const { return intersection(*this, other); } - Rect<T> united(const Rect<T>&) const; + [[nodiscard]] Rect<T> united(const Rect<T>&) const; - Point<T> top_left() const { return { left(), top() }; } - Point<T> top_right() const { return { right(), top() }; } - Point<T> bottom_left() const { return { left(), bottom() }; } - Point<T> bottom_right() const { return { right(), bottom() }; } + [[nodiscard]] Point<T> top_left() const { return { left(), top() }; } + [[nodiscard]] Point<T> top_right() const { return { right(), top() }; } + [[nodiscard]] Point<T> bottom_left() const { return { left(), bottom() }; } + [[nodiscard]] Point<T> bottom_right() const { return { right(), bottom() }; } void align_within(const Rect<T>&, TextAlignment); @@ -470,12 +470,12 @@ public: } template<typename U> - ALWAYS_INLINE Rect<U> to_type() const + [[nodiscard]] ALWAYS_INLINE Rect<U> to_type() const { return Rect<U>(*this); } - String to_string() const; + [[nodiscard]] String to_string() const; private: Point<T> m_location; @@ -485,7 +485,7 @@ private: using IntRect = Rect<int>; using FloatRect = Rect<float>; -ALWAYS_INLINE IntRect enclosing_int_rect(const FloatRect& float_rect) +[[nodiscard]] ALWAYS_INLINE IntRect enclosing_int_rect(FloatRect const& float_rect) { return { (int)float_rect.x(), |