Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: ui/gfx/geometry/insets_f.h

Issue 2051343002: Make various gfx classes more amenable to use as compile-time constants. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delete destructor Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/geometry/insets.cc ('k') | ui/gfx/geometry/insets_f.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/geometry/insets_f.h
diff --git a/ui/gfx/geometry/insets_f.h b/ui/gfx/geometry/insets_f.h
index 7ff2cec2e28f26ca7d390360f6d739b46153ab17..30c2ff2b79ae05aeb87e8daa348b93b8c72d6ddd 100644
--- a/ui/gfx/geometry/insets_f.h
+++ b/ui/gfx/geometry/insets_f.h
@@ -14,25 +14,29 @@ namespace gfx {
// A floating point version of gfx::Insets.
class GFX_EXPORT InsetsF {
public:
- InsetsF();
- explicit InsetsF(float all);
- InsetsF(float vertical, float horizontal);
- InsetsF(float top, float left, float bottom, float right);
-
- ~InsetsF();
-
- float top() const { return top_; }
- float left() const { return left_; }
- float bottom() const { return bottom_; }
- float right() const { return right_; }
+ constexpr InsetsF() : top_(0.f), left_(0.f), bottom_(0.f), right_(0.f) {}
+ constexpr explicit InsetsF(float all)
+ : top_(all), left_(all), bottom_(all), right_(all) {}
+ constexpr InsetsF(float vertical, float horizontal)
+ : top_(vertical),
+ left_(horizontal),
+ bottom_(vertical),
+ right_(horizontal) {}
+ constexpr InsetsF(float top, float left, float bottom, float right)
+ : top_(top), left_(left), bottom_(bottom), right_(right) {}
+
+ constexpr float top() const { return top_; }
+ constexpr float left() const { return left_; }
+ constexpr float bottom() const { return bottom_; }
+ constexpr float right() const { return right_; }
// Returns the total width taken up by the insets, which is the sum of the
// left and right insets.
- float width() const { return left_ + right_; }
+ constexpr float width() const { return left_ + right_; }
// Returns the total height taken up by the insets, which is the sum of the
// top and bottom insets.
- float height() const { return top_ + bottom_; }
+ constexpr float height() const { return top_ + bottom_; }
// Returns true if the insets are empty.
bool IsEmpty() const { return width() == 0.f && height() == 0.f; }
@@ -60,6 +64,13 @@ class GFX_EXPORT InsetsF {
right_ += insets.right_;
}
+ void operator-=(const InsetsF& insets) {
+ top_ -= insets.top_;
+ left_ -= insets.left_;
+ bottom_ -= insets.bottom_;
+ right_ -= insets.right_;
+ }
+
InsetsF operator-() const {
return InsetsF(-top_, -left_, -bottom_, -right_);
}
@@ -74,6 +85,16 @@ class GFX_EXPORT InsetsF {
float right_;
};
+inline InsetsF operator+(InsetsF lhs, const InsetsF& rhs) {
+ lhs += rhs;
+ return lhs;
+}
+
+inline InsetsF operator-(InsetsF lhs, const InsetsF& rhs) {
+ lhs -= rhs;
+ return lhs;
+}
+
} // namespace gfx
#endif // UI_GFX_GEOMETRY_INSETS_F_H_
« no previous file with comments | « ui/gfx/geometry/insets.cc ('k') | ui/gfx/geometry/insets_f.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698