71
71
void Area::CheckMinSize()
73
int w = _min_size.GetWidth();
73
int w = _min_size.width;
74
74
w = Max<int>(AREA_MIN_WIDTH, w);
75
int h = _min_size.GetHeight();
75
int h = _min_size.height;
76
76
h = Max<int>(AREA_MIN_HEIGHT, h);
78
_min_size.SetWidth(w);
79
_min_size.SetHeight(h);
81
if (_min_size.GetWidth() > _max_size.GetWidth())
83
//temp = _max_size.GetWidth();
84
_max_size.SetWidth (_min_size.GetWidth());
85
//_min_size.SetWidth(temp);
88
if (_min_size.GetHeight() > _max_size.GetHeight())
90
//temp = _max_size.GetBaseHeight();
91
_max_size.SetHeight (_min_size.GetHeight());
92
//_min_size.SetHeight(temp);
95
if (_geometry.GetWidth() < _min_size.GetWidth() )
97
_geometry.SetWidth (_min_size.GetWidth() );
100
if (_geometry.GetHeight() < _min_size.GetHeight() )
102
_geometry.SetHeight (_min_size.GetHeight() );
78
_min_size = Size(w, h);
80
if (_min_size.width > _max_size.width)
82
_max_size.width = _min_size.width;
85
if (_min_size.height > _max_size.height)
87
_max_size.height = _min_size.height;
90
if (_geometry.width < _min_size.width)
92
_geometry.width = _min_size.width;
95
if (_geometry.height < _min_size.height )
97
_geometry.height = _min_size.height;
106
101
void Area::CheckMaxSize()
108
int w = _max_size.GetWidth();
103
int w = _max_size.width;
109
104
w = Min<int>(AREA_MAX_WIDTH, w);
110
int h = _max_size.GetHeight();
105
int h = _max_size.height;
111
106
h = Min<int>(AREA_MAX_HEIGHT, h);
113
_max_size.SetWidth(w);
114
_max_size.SetHeight(h);
116
if (_min_size.GetWidth() > _max_size.GetWidth() )
118
//temp = _max_size.GetWidth();
119
_min_size.SetWidth (_max_size.GetWidth() );
120
//_min_size.SetWidth(temp);
123
if (_min_size.GetHeight() > _max_size.GetHeight() )
125
//temp = _max_size.GetBaseHeight();
126
_min_size.SetHeight (_max_size.GetHeight() );
127
//_min_size.SetHeight(temp);
130
if (_geometry.GetWidth() > _max_size.GetWidth() )
132
_geometry.SetWidth (_max_size.GetWidth() );
135
if (_geometry.GetHeight() > _max_size.GetHeight() )
137
_geometry.SetHeight (_max_size.GetHeight() );
108
_max_size = Size(w, h);
110
if (_min_size.width > _max_size.width)
112
_min_size.width = _max_size.width;
115
if (_min_size.height > _max_size.height)
117
_min_size.height = _max_size.height;
120
if (_geometry.width > _max_size.width)
122
_geometry.width = _max_size.width;
125
if (_geometry.height > _max_size.height)
127
_geometry.height = _max_size.height;
175
163
void Area::ApplyMinWidth()
177
_geometry.SetWidth (_min_size.GetWidth() );
165
_geometry.width = _min_size.width;
179
167
InitiateResizeLayout();
182
170
void Area::ApplyMinHeight()
184
_geometry.SetHeight (_min_size.GetHeight() );
172
_geometry.height = _min_size.height;
186
174
InitiateResizeLayout();
189
177
void Area::ApplyMaxWidth()
191
_geometry.SetWidth (_max_size.GetWidth() );
179
_geometry.width = _max_size.width;
193
181
InitiateResizeLayout();
196
184
void Area::ApplyMaxHeight()
198
_geometry.SetHeight (_max_size.GetHeight() );
186
_geometry.height = _max_size.height;
200
188
InitiateResizeLayout();
237
225
void Area::SetMaximumHeight (int h)
239
227
nuxAssert (h >= 0);
240
_max_size.SetHeight (h);
228
_max_size.height = h;
242
230
InitiateResizeLayout();
245
233
int Area::GetMinimumWidth() const
247
return _min_size.GetWidth();
235
return _min_size.width;
250
238
int Area::GetMaximumWidth() const
252
return _max_size.GetWidth();
240
return _max_size.width;
255
243
int Area::GetMinimumHeight() const
257
return _min_size.GetHeight();
245
return _min_size.height;
260
248
int Area::GetMaximumHeight() const
262
return _max_size.GetHeight();
250
return _max_size.height;
265
253
unsigned int Area::GetStretchFactor()
318
306
int Area::GetBaseWidth () const
320
return _geometry.GetWidth();
308
return _geometry.width;
323
311
int Area::GetBaseHeight () const
325
return _geometry.GetHeight();
313
return _geometry.height;
328
316
void Area::SetGeometry (int x, int y, int w, int h)
330
h = nux::Clamp<int> (h, _min_size.GetHeight (), _max_size.GetHeight ());
331
w = nux::Clamp<int> (w, _min_size.GetWidth (), _max_size.GetWidth ());
318
h = nux::Clamp<int> (h, _min_size.height, _max_size.height);
319
w = nux::Clamp<int> (w, _min_size.width, _max_size.width);
333
if (_geometry.x == x && _geometry.y == y && _geometry.width == w && _geometry.height == h)
321
nux::Geometry geometry(x, y, w, h);
322
if (_geometry == geometry)
336
325
GeometryChangePending ();
337
_geometry = nux::Geometry (x, y, w, h);
326
_geometry = geometry;
338
327
InitiateResizeLayout();
339
328
GeometryChanged ();
384
373
void Area::IncreaseSize (int x, int y)
386
375
_geometry.OffsetPosition (x, y);
387
OnResize.emit (_geometry.x, _geometry.y, _geometry.GetWidth(), _geometry.GetHeight() );
376
OnResize.emit (_geometry.x, _geometry.y, _geometry.width, _geometry.height );
390
379
long Area::ComputeChildLayout()