| Index: ui/gfx/geometry/size_f.h
|
| diff --git a/ui/gfx/geometry/size_f.h b/ui/gfx/geometry/size_f.h
|
| index 3057d419a9f5886911c220749c47b9745b01f7fe..66080f09c12d660c78bcab789e5e6caaeb38597e 100644
|
| --- a/ui/gfx/geometry/size_f.h
|
| +++ b/ui/gfx/geometry/size_f.h
|
| @@ -5,22 +5,43 @@
|
| #ifndef UI_GFX_GEOMETRY_SIZE_F_H_
|
| #define UI_GFX_GEOMETRY_SIZE_F_H_
|
|
|
| +#include <cmath>
|
| #include <iosfwd>
|
| #include <string>
|
|
|
| #include "base/compiler_specific.h"
|
| -#include "ui/gfx/geometry/size_base.h"
|
| #include "ui/gfx/gfx_export.h"
|
|
|
| namespace gfx {
|
|
|
| // A floating version of gfx::Size.
|
| -class GFX_EXPORT SizeF : public SizeBase<SizeF, float> {
|
| +class GFX_EXPORT SizeF {
|
| public:
|
| - SizeF() : SizeBase<SizeF, float>(0, 0) {}
|
| - SizeF(float width, float height) : SizeBase<SizeF, float>(width, height) {}
|
| + SizeF() : width_(0.f), height_(0.f) {}
|
| + SizeF(float width, float height)
|
| + : width_(fmaxf(0, width)), height_(fmaxf(0, height)) {}
|
| ~SizeF() {}
|
|
|
| + float width() const { return width_; }
|
| + float height() const { return height_; }
|
| +
|
| + void set_width(float width) { width_ = fmaxf(0, width); }
|
| + void set_height(float height) { height_ = fmaxf(0, height); }
|
| +
|
| + float GetArea() const;
|
| +
|
| + void SetSize(float width, float height) {
|
| + set_width(width);
|
| + set_height(height);
|
| + }
|
| +
|
| + void Enlarge(float grow_width, float grow_height);
|
| +
|
| + void SetToMin(const SizeF& other);
|
| + void SetToMax(const SizeF& other);
|
| +
|
| + bool IsEmpty() const { return !width() || !height(); }
|
| +
|
| void Scale(float scale) {
|
| Scale(scale, scale);
|
| }
|
| @@ -30,6 +51,10 @@ class GFX_EXPORT SizeF : public SizeBase<SizeF, float> {
|
| }
|
|
|
| std::string ToString() const;
|
| +
|
| + private:
|
| + float width_;
|
| + float height_;
|
| };
|
|
|
| inline bool operator==(const SizeF& lhs, const SizeF& rhs) {
|
| @@ -46,10 +71,6 @@ inline SizeF ScaleSize(const SizeF& p, float scale) {
|
| return ScaleSize(p, scale, scale);
|
| }
|
|
|
| -#if !defined(COMPILER_MSVC) && !defined(__native_client__)
|
| -extern template class SizeBase<SizeF, float>;
|
| -#endif
|
| -
|
| // This is declared here for use in gtest-based unit tests but is defined in
|
| // the gfx_test_support target. Depend on that to use this in your unit test.
|
| // This should not be used in production code - call ToString() instead.
|
|
|