| Index: ui/gfx/geometry/size.h
|
| diff --git a/ui/gfx/geometry/size.h b/ui/gfx/geometry/size.h
|
| index 10b90a5985ec0e35499b9b0dda39340bf6397780..7f2a9037a498ff8a2244c526a14bddd0f6cd380f 100644
|
| --- a/ui/gfx/geometry/size.h
|
| +++ b/ui/gfx/geometry/size.h
|
| @@ -9,7 +9,6 @@
|
| #include <string>
|
|
|
| #include "base/compiler_specific.h"
|
| -#include "ui/gfx/geometry/size_base.h"
|
| #include "ui/gfx/geometry/size_f.h"
|
| #include "ui/gfx/gfx_export.h"
|
|
|
| @@ -24,12 +23,15 @@ typedef struct tagSIZE SIZE;
|
| namespace gfx {
|
|
|
| // A size has width and height values.
|
| -class GFX_EXPORT Size : public SizeBase<Size, int> {
|
| +class GFX_EXPORT Size {
|
| public:
|
| - Size() : SizeBase<Size, int>(0, 0) {}
|
| - Size(int width, int height) : SizeBase<Size, int>(width, height) {}
|
| + Size() : width_(0), height_(0) {}
|
| + Size(int width, int height)
|
| + : width_(width < 0 ? 0 : width), height_(height < 0 ? 0 : height) {}
|
| #if defined(OS_MACOSX)
|
| - explicit Size(const CGSize& s);
|
| + explicit Size(const CGSize& s)
|
| + : width_(s.width < 0 ? 0 : s.width),
|
| + height_(s.height < 0 ? 0 : s.height) {}
|
| #endif
|
|
|
| ~Size() {}
|
| @@ -41,14 +43,38 @@ class GFX_EXPORT Size : public SizeBase<Size, int> {
|
| #if defined(OS_WIN)
|
| SIZE ToSIZE() const;
|
| #elif defined(OS_MACOSX)
|
| - CGSize ToCGSize() const;
|
| + CGSize ToCGSize() const { return CGSizeMake(width(), height()); }
|
| #endif
|
|
|
| + int width() const { return width_; }
|
| + int height() const { return height_; }
|
| +
|
| + void set_width(int width) { width_ = width < 0 ? 0 : width; }
|
| + void set_height(int height) { height_ = height < 0 ? 0 : height; }
|
| +
|
| + int GetArea() const;
|
| +
|
| + void SetSize(int width, int height) {
|
| + set_width(width);
|
| + set_height(height);
|
| + }
|
| +
|
| + void Enlarge(int grow_width, int grow_height);
|
| +
|
| + void SetToMin(const Size& other);
|
| + void SetToMax(const Size& other);
|
| +
|
| + bool IsEmpty() const { return !width() || !height(); }
|
| +
|
| operator SizeF() const {
|
| return SizeF(width(), height());
|
| }
|
|
|
| std::string ToString() const;
|
| +
|
| + private:
|
| + int width_;
|
| + int height_;
|
| };
|
|
|
| inline bool operator==(const Size& lhs, const Size& rhs) {
|
| @@ -59,10 +85,6 @@ inline bool operator!=(const Size& lhs, const Size& rhs) {
|
| return !(lhs == rhs);
|
| }
|
|
|
| -#if !defined(COMPILER_MSVC) && !defined(__native_client__)
|
| -extern template class SizeBase<Size, int>;
|
| -#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.
|
|
|