|
18 | 18 | #include <LibGUI/Forward.h>
|
19 | 19 | #include <LibGUI/GML/AST.h>
|
20 | 20 | #include <LibGUI/Margins.h>
|
| 21 | +#include <LibGUI/UIDimensions.h> |
21 | 22 | #include <LibGfx/Color.h>
|
22 | 23 | #include <LibGfx/Forward.h>
|
23 | 24 | #include <LibGfx/Orientation.h>
|
@@ -80,40 +81,43 @@ class Widget : public Core::Object {
|
80 | 81 | return layout;
|
81 | 82 | }
|
82 | 83 |
|
83 |
| - Gfx::IntSize min_size() const { return m_min_size; } |
84 |
| - void set_min_size(Gfx::IntSize const&); |
85 |
| - void set_min_size(int width, int height) { set_min_size({ width, height }); } |
| 84 | + UISize min_size() const { return m_min_size; } |
| 85 | + void set_min_size(UISize const&); |
| 86 | + void set_min_size(UIDimension width, UIDimension height) { set_min_size({ width, height }); } |
86 | 87 |
|
87 |
| - int min_width() const { return m_min_size.width(); } |
88 |
| - int min_height() const { return m_min_size.height(); } |
89 |
| - void set_min_width(int width) { set_min_size(width, min_height()); } |
90 |
| - void set_min_height(int height) { set_min_size(min_width(), height); } |
| 88 | + UIDimension min_width() const { return m_min_size.width(); } |
| 89 | + UIDimension min_height() const { return m_min_size.height(); } |
| 90 | + void set_min_width(UIDimension width) { set_min_size(width, min_height()); } |
| 91 | + void set_min_height(UIDimension height) { set_min_size(min_width(), height); } |
91 | 92 |
|
92 |
| - Gfx::IntSize max_size() const { return m_max_size; } |
93 |
| - void set_max_size(Gfx::IntSize const&); |
94 |
| - void set_max_size(int width, int height) { set_max_size({ width, height }); } |
| 93 | + UISize max_size() const { return m_max_size; } |
| 94 | + void set_max_size(UISize const&); |
| 95 | + void set_max_size(UIDimension width, UIDimension height) { set_max_size({ width, height }); } |
95 | 96 |
|
96 |
| - int max_width() const { return m_max_size.width(); } |
97 |
| - int max_height() const { return m_max_size.height(); } |
98 |
| - void set_max_width(int width) { set_max_size(width, max_height()); } |
99 |
| - void set_max_height(int height) { set_max_size(max_width(), height); } |
| 97 | + UIDimension max_width() const { return m_max_size.width(); } |
| 98 | + UIDimension max_height() const { return m_max_size.height(); } |
| 99 | + void set_max_width(UIDimension width) { set_max_size(width, max_height()); } |
| 100 | + void set_max_height(UIDimension height) { set_max_size(max_width(), height); } |
100 | 101 |
|
101 |
| - void set_fixed_size(Gfx::IntSize const& size) |
| 102 | + void set_fixed_size(UISize const& size) |
102 | 103 | {
|
| 104 | + VERIFY(size.has_only_int_values()); |
103 | 105 | set_min_size(size);
|
104 | 106 | set_max_size(size);
|
105 | 107 | }
|
106 | 108 |
|
107 |
| - void set_fixed_size(int width, int height) { set_fixed_size({ width, height }); } |
| 109 | + void set_fixed_size(UIDimension width, UIDimension height) { set_fixed_size({ width, height }); } |
108 | 110 |
|
109 |
| - void set_fixed_width(int width) |
| 111 | + void set_fixed_width(UIDimension width) |
110 | 112 | {
|
| 113 | + VERIFY(width.is_int()); |
111 | 114 | set_min_width(width);
|
112 | 115 | set_max_width(width);
|
113 | 116 | }
|
114 | 117 |
|
115 |
| - void set_fixed_height(int height) |
| 118 | + void set_fixed_height(UIDimension height) |
116 | 119 | {
|
| 120 | + VERIFY(height.is_int()); |
117 | 121 | set_min_height(height);
|
118 | 122 | set_max_height(height);
|
119 | 123 | }
|
@@ -377,8 +381,8 @@ class Widget : public Core::Object {
|
377 | 381 | NonnullRefPtr<Gfx::Font> m_font;
|
378 | 382 | String m_tooltip;
|
379 | 383 |
|
380 |
| - Gfx::IntSize m_min_size { -1, -1 }; |
381 |
| - Gfx::IntSize m_max_size { -1, -1 }; |
| 384 | + UISize m_min_size { SpecialDimension::Shrink }; |
| 385 | + UISize m_max_size { SpecialDimension::Grow }; |
382 | 386 | Margins m_grabbable_margins;
|
383 | 387 |
|
384 | 388 | bool m_fill_with_background_color { false };
|
|
0 commit comments