Chromium Code Reviews| Index: apps/shell_window.h | 
| diff --git a/apps/shell_window.h b/apps/shell_window.h | 
| index 3d42da76a162d54ba1d49bb8fe63edaf5b1bcef0..65e4f80a05dbfa588f2b737314071fe522a02a42 100644 | 
| --- a/apps/shell_window.h | 
| +++ b/apps/shell_window.h | 
| @@ -90,6 +90,37 @@ class ShellWindow : public content::NotificationObserver, | 
| FRAME_NONE, // Frameless window. | 
| }; | 
| + class SizeConstraints { | 
| + public: | 
| + // The value SizeConstraints uses to represent an unbounded width or height. | 
| + static const int kUnboundedSize = 0; | 
| 
 
tapted
2013/10/14 03:17:10
not sure if visual studio is happy with inline ini
 
jackhou1
2013/10/14 04:13:06
This type of declaration appears occassionally in
 
tapted
2013/10/14 05:13:43
Sweet - you're right! I think I sheriffed a link e
 
 | 
| + | 
| + SizeConstraints(); | 
| + SizeConstraints(const gfx::Size& min_size, const gfx::Size& max_size); | 
| + ~SizeConstraints(); | 
| + | 
| + // Returns the bounds with its size clamped to the min/max size. | 
| + gfx::Rect ClampBounds(const gfx::Rect& bounds) const; | 
| + | 
| + // When gfx::Size is used as a min/max size, a zero represents an unbounded | 
| + // component. This method checks whether either component is specified. | 
| + // Note we can't use gfx::Size::IsEmpty as it returns true if either width | 
| + // or height is zero. | 
| + bool HasMinimumSize() const; | 
| + bool HasMaximumSize() const; | 
| + | 
| + // This returns true if all components are specified, and min and max are | 
| + // equal. | 
| + bool MinAndMaxEqual() const; | 
| 
 
tapted
2013/10/14 03:17:10
Perhaps `HasFixedSize`? But only if that's the onl
 
jackhou1
2013/10/14 04:13:06
Done.
 
 | 
| + | 
| + gfx::Size minimum_size() const; | 
| 
 
tapted
2013/10/14 03:17:10
nit: the the accessor functions should match the v
 
jackhou1
2013/10/14 04:13:06
Done.
 
 | 
| + gfx::Size maximum_size() const; | 
| + | 
| + private: | 
| + gfx::Size min_size_; | 
| + gfx::Size max_size_; | 
| + }; | 
| + | 
| struct CreateParams { | 
| CreateParams(); | 
| ~CreateParams(); | 
| @@ -382,6 +413,9 @@ class ShellWindow : public content::NotificationObserver, | 
| // The window content is visible. | 
| bool is_content_visible_; | 
| + // Size constraints on the window. | 
| + SizeConstraints size_constraints_; | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(ShellWindow); | 
| }; |