summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-09-18 16:22:01 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-09-18 16:33:33 +0900
commita72f3ec64ec8dfc20c68e1b471a6374a04058f8b (patch)
treea034aff82d8f21f10aa3eaa7ddbce58c9ac92c39 /src/lib
parent7d2b4b69166c0f2abaf0f0bdec3b0d04eb721517 (diff)
efl: Use Eina.Size2D for size hint combined min
For this patch I decided to add a pseudo legacy wrapper as the function is called in a very large number of places. Fixing all those calls to use the size2d form is a lot of work and a greater risk of b0rking something.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore_evas/ecore_evas_util.c3
-rw-r--r--src/lib/edje/edje_box_layout.c2
-rw-r--r--src/lib/edje/edje_lua.c2
-rw-r--r--src/lib/edje/edje_util.c2
-rw-r--r--src/lib/efl/interfaces/efl_gfx_size_hint.eo3
-rw-r--r--src/lib/elementary/efl_ui_box.c2
-rw-r--r--src/lib/elementary/efl_ui_box_layout.c67
-rw-r--r--src/lib/elementary/efl_ui_box_stack.c9
-rw-r--r--src/lib/elementary/efl_ui_flip.c4
-rw-r--r--src/lib/elementary/efl_ui_grid.c2
-rw-r--r--src/lib/elementary/efl_ui_image.c14
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c10
-rw-r--r--src/lib/elementary/efl_ui_panes.c4
-rw-r--r--src/lib/elementary/efl_ui_win.c13
-rw-r--r--src/lib/elementary/elc_ctxpopup.c2
-rw-r--r--src/lib/elementary/elc_hoversel.c2
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c25
-rw-r--r--src/lib/elementary/elc_popup.c4
-rw-r--r--src/lib/elementary/elm_box.c2
-rw-r--r--src/lib/elementary/elm_colorselector.c4
-rw-r--r--src/lib/elementary/elm_diskselector.c2
-rw-r--r--src/lib/elementary/elm_entry.c8
-rw-r--r--src/lib/elementary/elm_factory.c2
-rw-r--r--src/lib/elementary/elm_flipselector.c2
-rw-r--r--src/lib/elementary/elm_genlist.c2
-rw-r--r--src/lib/elementary/elm_hover.c2
-rw-r--r--src/lib/elementary/elm_list.c6
-rw-r--r--src/lib/elementary/elm_map.c6
-rw-r--r--src/lib/elementary/elm_mapbuf.c2
-rw-r--r--src/lib/elementary/elm_scroller.c2
-rw-r--r--src/lib/elementary/elm_segment_control.c2
-rw-r--r--src/lib/elementary/elm_table.c2
-rw-r--r--src/lib/elementary/elm_toolbar.c4
-rw-r--r--src/lib/elementary/els_box.c8
-rw-r--r--src/lib/elementary/els_tooltip.c2
-rw-r--r--src/lib/evas/Evas_Internal.h9
-rw-r--r--src/lib/evas/canvas/evas_object_box.c24
-rw-r--r--src/lib/evas/canvas/evas_object_main.c18
-rw-r--r--src/lib/evas/canvas/evas_object_table.c6
39 files changed, 150 insertions, 135 deletions
diff --git a/src/lib/ecore_evas/ecore_evas_util.c b/src/lib/ecore_evas/ecore_evas_util.c
index 018abdc..fb4a9aa 100644
--- a/src/lib/ecore_evas/ecore_evas_util.c
+++ b/src/lib/ecore_evas/ecore_evas_util.c
@@ -11,6 +11,7 @@
11 11
12#include "Ecore_Evas.h" 12#include "Ecore_Evas.h"
13#include "ecore_evas_private.h" 13#include "ecore_evas_private.h"
14#include "Evas_Internal.h"
14 15
15static const char ASSOCIATE_KEY[] = "__Ecore_Evas_Associate"; 16static const char ASSOCIATE_KEY[] = "__Ecore_Evas_Associate";
16 17
@@ -132,7 +133,7 @@ _ecore_evas_object_callback_changed_size_hints(void *data, Evas *e EINA_UNUSED,
132 Ecore_Evas *ee = data; 133 Ecore_Evas *ee = data;
133 Evas_Coord w, h; 134 Evas_Coord w, h;
134 135
135 efl_gfx_size_hint_combined_min_get(obj, &w, &h); 136 evas_object_size_hint_combined_min_get(obj, &w, &h);
136 ecore_evas_size_min_set(ee, w, h); 137 ecore_evas_size_min_set(ee, w, h);
137 138
138 evas_object_size_hint_max_get(obj, &w, &h); 139 evas_object_size_hint_max_get(obj, &w, &h);
diff --git a/src/lib/edje/edje_box_layout.c b/src/lib/edje/edje_box_layout.c
index 1abfbc9..8eb73bb 100644
--- a/src/lib/edje/edje_box_layout.c
+++ b/src/lib/edje/edje_box_layout.c
@@ -212,7 +212,7 @@ _edje_box_recalc_apply(Edje *ed EINA_UNUSED, Edje_Real_Part *ep, Edje_Calc_Param
212 evas_object_smart_calculate(ep->object); 212 evas_object_smart_calculate(ep->object);
213 } 213 }
214#if 0 /* Why the hell do we affect part size after resize ??? */ 214#if 0 /* Why the hell do we affect part size after resize ??? */
215 efl_gfx_size_hint_combined_min_get(ep->object, &min_w, &min_h); 215 evas_object_size_hint_combined_min_get(ep->object, &min_w, &min_h);
216 if (chosen_desc->box.min.h && (p3->w < min_w)) 216 if (chosen_desc->box.min.h && (p3->w < min_w))
217 p3->w = min_w; 217 p3->w = min_w;
218 if (chosen_desc->box.min.v && (p3->h < min_h)) 218 if (chosen_desc->box.min.v && (p3->h < min_h))
diff --git a/src/lib/edje/edje_lua.c b/src/lib/edje/edje_lua.c
index f5bef33..9af93cc 100644
--- a/src/lib/edje/edje_lua.c
+++ b/src/lib/edje/edje_lua.c
@@ -1424,7 +1424,7 @@ _edje_lua_object_get_size_hint_min(lua_State *L)
1424{ 1424{
1425 Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject); 1425 Edje_Lua_Evas_Object *obj = _edje_lua_checkudata(L, 1, &mObject);
1426 int w, h; 1426 int w, h;
1427 efl_gfx_size_hint_combined_min_get(obj->eo, &w, &h); 1427 evas_object_size_hint_combined_min_get(obj->eo, &w, &h);
1428 lua_createtable(L, 2, 0); 1428 lua_createtable(L, 2, 0);
1429 lua_pushnumber(L, w); 1429 lua_pushnumber(L, w);
1430 lua_rawseti(L, -2, 1); 1430 lua_rawseti(L, -2, 1);
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 9b3d622..5bf0326 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -5507,7 +5507,7 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp)
5507 Evas_Coord w1 = 0, h1 = 0, w2 = 0, h2 = 0, aw = 0, ah = 0; 5507 Evas_Coord w1 = 0, h1 = 0, w2 = 0, h2 = 0, aw = 0, ah = 0;
5508 Evas_Aspect_Control am = EVAS_ASPECT_CONTROL_NONE; 5508 Evas_Aspect_Control am = EVAS_ASPECT_CONTROL_NONE;
5509 5509
5510 efl_gfx_size_hint_combined_min_get(rp->typedata.swallow->swallowed_object, &w1, &h1); 5510 evas_object_size_hint_combined_min_get(rp->typedata.swallow->swallowed_object, &w1, &h1);
5511 evas_object_size_hint_max_get(rp->typedata.swallow->swallowed_object, &w2, &h2); 5511 evas_object_size_hint_max_get(rp->typedata.swallow->swallowed_object, &w2, &h2);
5512 evas_object_size_hint_aspect_get(rp->typedata.swallow->swallowed_object, &am, &aw, &ah); 5512 evas_object_size_hint_aspect_get(rp->typedata.swallow->swallowed_object, &am, &aw, &ah);
5513 rp->typedata.swallow->swallow_params.min.w = w1; 5513 rp->typedata.swallow->swallow_params.min.w = w1;
diff --git a/src/lib/efl/interfaces/efl_gfx_size_hint.eo b/src/lib/efl/interfaces/efl_gfx_size_hint.eo
index 85905ff..992fa82 100644
--- a/src/lib/efl/interfaces/efl_gfx_size_hint.eo
+++ b/src/lib/efl/interfaces/efl_gfx_size_hint.eo
@@ -148,8 +148,7 @@ interface Efl.Gfx.Size.Hint
148 ]] 148 ]]
149 get {} 149 get {}
150 values { 150 values {
151 w: int; [[Integer to use as the minimum width hint.]] 151 sz: Eina.Size2D; [[Minimum size (hint) in pixels.]]
152 h: int; [[Integer to use as the minimum height hint.]]
153 } 152 }
154 } 153 }
155 @property hint_margin { 154 @property hint_margin {
diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index 0afdbe2..a03bac5 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -112,7 +112,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Box_Data *sd)
112 if (sd->delete_me) 112 if (sd->delete_me)
113 return; 113 return;
114 114
115 efl_gfx_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); 115 evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh);
116 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh); 116 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh);
117 evas_object_size_hint_min_set(obj, minw, minh); 117 evas_object_size_hint_min_set(obj, minw, minh);
118 evas_object_size_hint_max_set(obj, maxw, maxh); 118 evas_object_size_hint_max_set(obj, maxw, maxh);
diff --git a/src/lib/elementary/efl_ui_box_layout.c b/src/lib/elementary/efl_ui_box_layout.c
index 40f6be6..70cf4ca 100644
--- a/src/lib/elementary/efl_ui_box_layout.c
+++ b/src/lib/elementary/efl_ui_box_layout.c
@@ -12,9 +12,8 @@ struct _Item_Calc
12 Evas_Object *obj; 12 Evas_Object *obj;
13 double weight[2]; 13 double weight[2];
14 double align[2]; 14 double align[2];
15 Eina_Size2D max; 15 Eina_Size2D max, want;
16 int pad[4]; 16 int pad[4];
17 int want[2];
18 Efl_Gfx_Size_Hint_Aspect aspect_type; 17 Efl_Gfx_Size_Hint_Aspect aspect_type;
19 int aspect[2]; 18 int aspect[2];
20 int id; 19 int id;
@@ -79,7 +78,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
79 efl_gfx_size_hint_align_get(o, &item->align[0], &item->align[1]); 78 efl_gfx_size_hint_align_get(o, &item->align[0], &item->align[1]);
80 efl_gfx_size_hint_margin_get(o, &item->pad[0], &item->pad[1], &item->pad[2], &item->pad[3]); 79 efl_gfx_size_hint_margin_get(o, &item->pad[0], &item->pad[1], &item->pad[2], &item->pad[3]);
81 item->max = efl_gfx_size_hint_max_get(o); 80 item->max = efl_gfx_size_hint_max_get(o);
82 efl_gfx_size_hint_combined_min_get(o, &item->want[0], &item->want[1]); 81 item->want = efl_gfx_size_hint_combined_min_get(o);
83 efl_gfx_size_hint_aspect_get(o, &item->aspect_type, &item->aspect[0], &item->aspect[1]); 82 efl_gfx_size_hint_aspect_get(o, &item->aspect_type, &item->aspect[0], &item->aspect[1]);
84 83
85 if (item->aspect[0] <= 0 || item->aspect[1] <= 0) 84 if (item->aspect[0] <= 0 || item->aspect[1] <= 0)
@@ -94,11 +93,11 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
94 { 93 {
95 double w, h; 94 double w, h;
96 95
97 w = item->want[0]; 96 w = item->want.w;
98 h = w * item->aspect[1] / item->aspect[0]; 97 h = w * item->aspect[1] / item->aspect[0];
99 if (h < item->want[1]) 98 if (h < item->want.h)
100 { 99 {
101 h = item->want[1]; 100 h = item->want.h;
102 w = h * item->aspect[0] / item->aspect[1]; 101 w = h * item->aspect[0] / item->aspect[1];
103 } 102 }
104 103
@@ -124,8 +123,8 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
124 h = item->max.h > 0 ? MIN(h1, item->max.h) : h1; 123 h = item->max.h > 0 ? MIN(h1, item->max.h) : h1;
125 } 124 }
126 } 125 }
127 item->want[0] = w; 126 item->want.w = w;
128 item->want[1] = h; 127 item->want.h = h;
129 } 128 }
130 129
131 if (item->weight[0] < 0) item->weight[0] = 0; 130 if (item->weight[0] < 0) item->weight[0] = 0;
@@ -136,30 +135,30 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
136 if (item->align[0] > 1) item->align[0] = 1; 135 if (item->align[0] > 1) item->align[0] = 1;
137 if (item->align[1] > 1) item->align[1] = 1; 136 if (item->align[1] > 1) item->align[1] = 1;
138 137
139 if (item->want[0] < 0) item->want[0] = 0; 138 if (item->want.w < 0) item->want.w = 0;
140 if (item->want[1] < 0) item->want[1] = 0; 139 if (item->want.h < 0) item->want.h = 0;
141 140
142 if (item->max.w < 0) item->max.w = INT_MAX; 141 if (item->max.w < 0) item->max.w = INT_MAX;
143 if (item->max.h < 0) item->max.h = INT_MAX; 142 if (item->max.h < 0) item->max.h = INT_MAX;
144 if (item->max.w < item->want[0]) item->max.w = item->want[0]; 143 if (item->max.w < item->want.w) item->max.w = item->want.w;
145 if (item->max.h < item->want[1]) item->max.h = item->want[1]; 144 if (item->max.h < item->want.h) item->max.h = item->want.h;
146 145
147 item->want[0] += item->pad[0] + item->pad[1]; 146 item->want.w += item->pad[0] + item->pad[1];
148 item->want[1] += item->pad[2] + item->pad[3]; 147 item->want.h += item->pad[2] + item->pad[3];
149 148
150 weight[0] += item->weight[0]; 149 weight[0] += item->weight[0];
151 weight[1] += item->weight[1]; 150 weight[1] += item->weight[1];
152 if (horiz) 151 if (horiz)
153 { 152 {
154 wantw += item->want[0]; 153 wantw += item->want.w;
155 if (item->want[1] > wanth) 154 if (item->want.h > wanth)
156 wanth = item->want[1]; 155 wanth = item->want.h;
157 } 156 }
158 else 157 else
159 { 158 {
160 wanth += item->want[1]; 159 wanth += item->want.h;
161 if (item->want[0] > wantw) 160 if (item->want.w > wantw)
162 wantw = item->want[0]; 161 wantw = item->want.w;
163 } 162 }
164 163
165 item->id = id++; 164 item->id = id++;
@@ -234,7 +233,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
234 { 233 {
235 cx = boxx + cur_pos; 234 cx = boxx + cur_pos;
236 cy = boxy; 235 cy = boxy;
237 cw = item->want[0] + rounding + (zeroweight ? 1.0 : item->weight[0]) * extra / weight[0]; 236 cw = item->want.w + rounding + (zeroweight ? 1.0 : item->weight[0]) * extra / weight[0];
238 ch = boxh; 237 ch = boxh;
239 cur_pos += cw + pad; 238 cur_pos += cw + pad;
240 } 239 }
@@ -243,7 +242,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
243 cx = boxx; 242 cx = boxx;
244 cy = boxy + cur_pos; 243 cy = boxy + cur_pos;
245 cw = boxw; 244 cw = boxw;
246 ch = item->want[1] + rounding + (zeroweight ? 1.0 : item->weight[1]) * extra / weight[1]; 245 ch = item->want.h + rounding + (zeroweight ? 1.0 : item->weight[1]) * extra / weight[1];
247 cur_pos += ch + pad; 246 cur_pos += ch + pad;
248 } 247 }
249 248
@@ -251,10 +250,10 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
251 { 250 {
252 if (horiz) 251 if (horiz)
253 { 252 {
254 w = item->want[0]; 253 w = item->want.w;
255 h = item->want[1]; 254 h = item->want.h;
256 if (weight[0] > 0) 255 if (weight[0] > 0)
257 w = item->want[0] + extra * item->weight[0] / weight[0]; 256 w = item->want.w + extra * item->weight[0] / weight[0];
258 h = w * item->aspect[1] / item->aspect[0]; 257 h = w * item->aspect[1] / item->aspect[0];
259 258
260 if (item->aspect_type == EFL_GFX_SIZE_HINT_ASPECT_BOTH || 259 if (item->aspect_type == EFL_GFX_SIZE_HINT_ASPECT_BOTH ||
@@ -269,10 +268,10 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
269 } 268 }
270 else 269 else
271 { 270 {
272 w = item->want[0]; 271 w = item->want.w;
273 h = item->want[1]; 272 h = item->want.h;
274 if (weight[1] > 0) 273 if (weight[1] > 0)
275 h = item->want[1] + extra * item->weight[1] / weight[1]; 274 h = item->want.h + extra * item->weight[1] / weight[1];
276 w = h * item->aspect[0] / item->aspect[1]; 275 w = h * item->aspect[0] / item->aspect[1];
277 276
278 if (item->aspect_type == EFL_GFX_SIZE_HINT_ASPECT_BOTH || 277 if (item->aspect_type == EFL_GFX_SIZE_HINT_ASPECT_BOTH ||
@@ -310,12 +309,12 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
310 } 309 }
311 else if (item->max.w != INT_MAX) 310 else if (item->max.w != INT_MAX)
312 { 311 {
313 w = MIN(w, MAX(item->want[0], item->max.w)); 312 w = MIN(w, MAX(item->want.w, item->max.w));
314 h = w * item->aspect[1] / item->aspect[0]; 313 h = w * item->aspect[1] / item->aspect[0];
315 } 314 }
316 else 315 else
317 { 316 {
318 h = MIN(h, MAX(item->want[1], item->max.h)); 317 h = MIN(h, MAX(item->want.h, item->max.h));
319 w = h * item->aspect[0] / item->aspect[1]; 318 w = h * item->aspect[0] / item->aspect[1];
320 } 319 }
321 w = w - item->pad[0] - item->pad[1]; 320 w = w - item->pad[0] - item->pad[1];
@@ -336,7 +335,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
336 // horizontally 335 // horizontally
337 if (item->max.w < INT_MAX) 336 if (item->max.w < INT_MAX)
338 { 337 {
339 w = MIN(MAX(item->want[0] - item->pad[0] - item->pad[1], item->max.w), cw); 338 w = MIN(MAX(item->want.w - item->pad[0] - item->pad[1], item->max.w), cw);
340 if (item->align[0] < 0) 339 if (item->align[0] < 0)
341 { 340 {
342 // bad case: fill+max are not good together 341 // bad case: fill+max are not good together
@@ -356,14 +355,14 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
356 if (horiz && item->weight[0] > 0) 355 if (horiz && item->weight[0] > 0)
357 w = cw - item->pad[0] - item->pad[1]; 356 w = cw - item->pad[0] - item->pad[1];
358 else 357 else
359 w = item->want[0] - item->pad[0] - item->pad[1]; 358 w = item->want.w - item->pad[0] - item->pad[1];
360 x = cx + ((cw - w) * item->align[0]) + item->pad[0]; 359 x = cx + ((cw - w) * item->align[0]) + item->pad[0];
361 } 360 }
362 361
363 // vertically 362 // vertically
364 if (item->max.h < INT_MAX) 363 if (item->max.h < INT_MAX)
365 { 364 {
366 h = MIN(MAX(item->want[1] - item->pad[2] - item->pad[3], item->max.h), ch); 365 h = MIN(MAX(item->want.h - item->pad[2] - item->pad[3], item->max.h), ch);
367 if (item->align[1] < 0) 366 if (item->align[1] < 0)
368 { 367 {
369 // bad case: fill+max are not good together 368 // bad case: fill+max are not good together
@@ -383,7 +382,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
383 if (!horiz && item->weight[1] > 0) 382 if (!horiz && item->weight[1] > 0)
384 h = ch - item->pad[2] - item->pad[3]; 383 h = ch - item->pad[2] - item->pad[3];
385 else 384 else
386 h = item->want[1] - item->pad[2] - item->pad[3]; 385 h = item->want.h - item->pad[2] - item->pad[3];
387 y = cy + ((ch - h) * item->align[1]) + item->pad[2]; 386 y = cy + ((ch - h) * item->align[1]) + item->pad[2];
388 } 387 }
389 } 388 }
diff --git a/src/lib/elementary/efl_ui_box_stack.c b/src/lib/elementary/efl_ui_box_stack.c
index 3b8f2fa..38bc96c 100644
--- a/src/lib/elementary/efl_ui_box_stack.c
+++ b/src/lib/elementary/efl_ui_box_stack.c
@@ -9,7 +9,7 @@ _efl_ui_box_stack_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED)
9{ 9{
10 Evas_Object_Box_Option *opt; 10 Evas_Object_Box_Option *opt;
11 Evas_Object_Box_Data *bd; 11 Evas_Object_Box_Data *bd;
12 Eina_Size2D min = { 0, 0 }; 12 Eina_Size2D min = { 0, 0 }, cmin;
13 Eina_List *l; 13 Eina_List *l;
14 14
15 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(obj, EFL_UI_BOX_CLASS)); 15 EINA_SAFETY_ON_FALSE_RETURN(efl_isa(obj, EFL_UI_BOX_CLASS));
@@ -24,11 +24,10 @@ _efl_ui_box_stack_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED)
24 EINA_LIST_FOREACH(bd->children, l, opt) 24 EINA_LIST_FOREACH(bd->children, l, opt)
25 { 25 {
26 Evas_Object *child = opt->obj; 26 Evas_Object *child = opt->obj;
27 int mw = 0, mh = 0;
28 27
29 efl_gfx_size_hint_combined_min_get(child, &mw, &mh); 28 cmin = efl_gfx_size_hint_combined_min_get(child);
30 if (mw > min.w) min.w = mw; 29 if (cmin.w > min.w) min.w = cmin.w;
31 if (mh > min.h) min.h = mh; 30 if (cmin.h > min.h) min.h = cmin.h;
32 } 31 }
33 efl_gfx_size_hint_restricted_min_set(obj, min); 32 efl_gfx_size_hint_restricted_min_set(obj, min);
34} 33}
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index e08a3c3..0f1b18e 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -73,9 +73,9 @@ _sizing_eval(Evas_Object *obj)
73 EFL_UI_FLIP_DATA_GET(obj, sd); 73 EFL_UI_FLIP_DATA_GET(obj, sd);
74 74
75 if (sd->front.content) 75 if (sd->front.content)
76 efl_gfx_size_hint_combined_min_get(sd->front.content, &minw, &minh); 76 evas_object_size_hint_combined_min_get(sd->front.content, &minw, &minh);
77 if (sd->back.content) 77 if (sd->back.content)
78 efl_gfx_size_hint_combined_min_get(sd->back.content, &minw2, &minh2); 78 evas_object_size_hint_combined_min_get(sd->back.content, &minw2, &minh2);
79 if (sd->front.content) 79 if (sd->front.content)
80 evas_object_size_hint_max_get(sd->front.content, &maxw, &maxh); 80 evas_object_size_hint_max_get(sd->front.content, &maxw, &maxh);
81 if (sd->back.content) 81 if (sd->back.content)
diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index 9b4a9be..1986b94 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -138,7 +138,7 @@ _sizing_eval(Evas_Object *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
138 138
139 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 139 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
140 140
141 efl_gfx_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); 141 evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh);
142 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh); 142 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh);
143 evas_object_size_hint_min_set(obj, minw, minh); 143 evas_object_size_hint_min_set(obj, minw, minh);
144 evas_object_size_hint_max_set(obj, maxw, maxh); 144 evas_object_size_hint_max_set(obj, maxw, maxh);
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c
index abfc21e..34d5ac7 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -767,7 +767,7 @@ _efl_ui_image_sizing_eval(Evas_Object *obj)
767 efl_gfx_view_size_get(obj, &w, &h); 767 efl_gfx_view_size_get(obj, &w, &h);
768 768
769 sd->scale = ts; 769 sd->scale = ts;
770 efl_gfx_size_hint_combined_min_get(obj, &minw, &minh); 770 evas_object_size_hint_combined_min_get(obj, &minw, &minh);
771 771
772 if (sd->no_scale) 772 if (sd->no_scale)
773 { 773 {
@@ -1171,7 +1171,10 @@ _efl_ui_image_efl_canvas_layout_group_group_size_min_get(Eo *obj EINA_UNUSED, Ef
1171 if (sd->edje) 1171 if (sd->edje)
1172 edje_object_size_min_get(sd->img, w, h); 1172 edje_object_size_min_get(sd->img, w, h);
1173 else 1173 else
1174 efl_gfx_size_hint_combined_min_get(sd->img, w, h); 1174 {
1175 if (w) *w = 0;
1176 if (h) *h = 0;
1177 }
1175} 1178}
1176 1179
1177EOLIAN static void 1180EOLIAN static void
@@ -1180,7 +1183,10 @@ _efl_ui_image_efl_canvas_layout_group_group_size_max_get(Eo *obj EINA_UNUSED, Ef
1180 if (sd->edje) 1183 if (sd->edje)
1181 edje_object_size_max_get(sd->img, w, h); 1184 edje_object_size_max_get(sd->img, w, h);
1182 else 1185 else
1183 evas_object_size_hint_max_get(sd->img, w, h); 1186 {
1187 if (w) *w = 0;
1188 if (h) *h = 0;
1189 }
1184} 1190}
1185 1191
1186EOLIAN static void 1192EOLIAN static void
@@ -1196,7 +1202,7 @@ _efl_ui_image_efl_canvas_layout_calc_calc_size_min(Eo *obj EINA_UNUSED, Efl_Ui_I
1196 if (sd->edje) 1202 if (sd->edje)
1197 edje_object_size_min_calc(sd->img, w, h); 1203 edje_object_size_min_calc(sd->img, w, h);
1198 else 1204 else
1199 efl_gfx_size_hint_combined_min_get(sd->img, w, h); 1205 evas_object_size_hint_combined_min_get(sd->img, w, h);
1200} 1206}
1201 1207
1202EOLIAN static void 1208EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index 2866fe8..37cf907 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -1558,7 +1558,10 @@ _efl_ui_image_zoomable_efl_canvas_layout_group_group_size_min_get(Eo *obj EINA_U
1558 if (sd->edje) 1558 if (sd->edje)
1559 edje_object_size_min_get(sd->edje, w, h); 1559 edje_object_size_min_get(sd->edje, w, h);
1560 else 1560 else
1561 efl_gfx_size_hint_combined_min_get(sd->img, w, h); 1561 {
1562 if (w) *w = 0;
1563 if (h) *h = 0;
1564 }
1562} 1565}
1563 1566
1564EOLIAN static void 1567EOLIAN static void
@@ -1567,7 +1570,10 @@ _efl_ui_image_zoomable_efl_canvas_layout_group_group_size_max_get(Eo *obj EINA_U
1567 if (sd->edje) 1570 if (sd->edje)
1568 edje_object_size_max_get(sd->edje, w, h); 1571 edje_object_size_max_get(sd->edje, w, h);
1569 else 1572 else
1570 evas_object_size_hint_max_get(sd->img, w, h); 1573 {
1574 if (w) *w = 0;
1575 if (h) *h = 0;
1576 }
1571} 1577}
1572 1578
1573static Eina_Bool 1579static Eina_Bool
diff --git a/src/lib/elementary/efl_ui_panes.c b/src/lib/elementary/efl_ui_panes.c
index 6fc48e3..d0f955d 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -193,7 +193,7 @@ _efl_ui_panes_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Panes_Data *sd)
193 if (first_content) 193 if (first_content)
194 { 194 {
195 if (!sd->first_hint_min_allow) 195 if (!sd->first_hint_min_allow)
196 efl_gfx_size_hint_combined_min_get(first_content, &sd->first_min.w, &sd->first_min.h); 196 sd->first_min = efl_gfx_size_hint_combined_min_get(first_content);
197 else 197 else
198 sd->first_min = efl_gfx_size_hint_min_get(first_content); 198 sd->first_min = efl_gfx_size_hint_min_get(first_content);
199 } 199 }
@@ -201,7 +201,7 @@ _efl_ui_panes_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Panes_Data *sd)
201 if (second_content) 201 if (second_content)
202 { 202 {
203 if (!sd->second_hint_min_allow) 203 if (!sd->second_hint_min_allow)
204 efl_gfx_size_hint_combined_min_get(second_content, &sd->second_min.w, &sd->second_min.h); 204 sd->second_min = efl_gfx_size_hint_combined_min_get(second_content);
205 else 205 else
206 sd->second_min = efl_gfx_size_hint_min_get(second_content); 206 sd->second_min = efl_gfx_size_hint_min_get(second_content);
207 } 207 }
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 8e1b357..95fa430 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -852,15 +852,14 @@ _elm_win_obj_intercept_layer_set(void *data, Evas_Object *obj EINA_UNUSED, int l
852static void 852static void
853_elm_win_size_hints_update(Efl_Ui_Win *win, Efl_Ui_Win_Data *sd) 853_elm_win_size_hints_update(Efl_Ui_Win *win, Efl_Ui_Win_Data *sd)
854{ 854{
855 Evas_Coord minw, minh; 855 Eina_Size2D min, max;
856 Eina_Size2D max;
857 856
858 efl_gfx_size_hint_combined_min_get(win, &minw, &minh); 857 min = efl_gfx_size_hint_combined_min_get(win);
859 max = efl_gfx_size_hint_max_get(win); 858 max = efl_gfx_size_hint_max_get(win);
860 if (max.w < 1) max.w = -1; 859 if (max.w < 1) max.w = -1;
861 if (max.h < 1) max.h = -1; 860 if (max.h < 1) max.h = -1;
862 861
863 TRAP(sd, size_min_set, minw, minh); 862 TRAP(sd, size_min_set, min.w, min.h);
864 TRAP(sd, size_max_set, max.w, max.h); 863 TRAP(sd, size_max_set, max.w, max.h);
865} 864}
866 865
@@ -3453,7 +3452,7 @@ _elm_win_resize_objects_eval(Evas_Object *obj, Eina_Bool force_resize)
3453 Eina_Bool unresizable; 3452 Eina_Bool unresizable;
3454 double wx, wy; 3453 double wx, wy;
3455 3454
3456 efl_gfx_size_hint_combined_min_get(sd->legacy.edje, &minw, &minh); 3455 evas_object_size_hint_combined_min_get(sd->legacy.edje, &minw, &minh);
3457 if ((!minw) && (!minh)) return; 3456 if ((!minw) && (!minh)) return;
3458 3457
3459 // If content has a weight, make resizable 3458 // If content has a weight, make resizable
@@ -8065,7 +8064,7 @@ _window_layout_stack(Evas_Object *o, Evas_Object_Box_Data *p, void *data)
8065 8064
8066 ELM_WIN_DATA_GET(data, sd); 8065 ELM_WIN_DATA_GET(data, sd);
8067 if (sd->main_menu && efl_gfx_visible_get(sd->main_menu)) 8066 if (sd->main_menu && efl_gfx_visible_get(sd->main_menu))
8068 efl_gfx_size_hint_combined_min_get(sd->main_menu, &menuw, NULL); 8067 evas_object_size_hint_combined_min_get(sd->main_menu, &menuw, NULL);
8069 8068
8070 EINA_LIST_FOREACH(p->children, l, opt) 8069 EINA_LIST_FOREACH(p->children, l, opt)
8071 { 8070 {
@@ -8074,7 +8073,7 @@ _window_layout_stack(Evas_Object *o, Evas_Object_Box_Data *p, void *data)
8074 if (EINA_DBL_EQ(wx, 0.0)) weight_x = 0; 8073 if (EINA_DBL_EQ(wx, 0.0)) weight_x = 0;
8075 if (EINA_DBL_EQ(wy, 0.0)) weight_y = 0; 8074 if (EINA_DBL_EQ(wy, 0.0)) weight_y = 0;
8076 8075
8077 efl_gfx_size_hint_combined_min_get(child, &w, &h); 8076 evas_object_size_hint_combined_min_get(child, &w, &h);
8078 if (w > minw) minw = w; 8077 if (w > minw) minw = w;
8079 if (h > minh) minh = h; 8078 if (h > minh) minh = h;
8080 } 8079 }
diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c
index 2e908f1..553d526 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -227,7 +227,7 @@ _base_geometry_calc(Evas_Object *obj,
227 if ((max_size.x > 0) && (base_size.x > max_size.x)) 227 if ((max_size.x > 0) && (base_size.x > max_size.x))
228 base_size.x = max_size.x; 228 base_size.x = max_size.x;
229 //Limit to Min Size 229 //Limit to Min Size
230 efl_gfx_size_hint_combined_min_get(obj, &min_size.x, &min_size.y); 230 evas_object_size_hint_combined_min_get(obj, &min_size.x, &min_size.y);
231 231
232 if ((min_size.y > 0) && (base_size.y < min_size.y)) 232 if ((min_size.y > 0) && (base_size.y < min_size.y))
233 base_size.y = min_size.y; 233 base_size.y = min_size.y;
diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c
index c4a8661..b322ef2 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -253,7 +253,7 @@ _sizing_eval(void *data)
253 edje_object_message_signal_process(elm_layout_edje_get(sd->hover)); 253 edje_object_message_signal_process(elm_layout_edje_get(sd->hover));
254 254
255 elm_box_recalculate(sd->bx); 255 elm_box_recalculate(sd->bx);
256 efl_gfx_size_hint_combined_min_get(sd->bx, &box_w, &box_h); 256 evas_object_size_hint_combined_min_get(sd->bx, &box_w, &box_h);
257 257
258 max_size_str = elm_layout_data_get(sd->hover, "max_size"); 258 max_size_str = elm_layout_data_get(sd->hover, "max_size");
259 if (max_size_str) 259 if (max_size_str)
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index 580d1c1..6e9cb56 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -186,7 +186,7 @@ _shrink_mode_set(Evas_Object *obj,
186 186
187 if (shrink == EINA_TRUE) 187 if (shrink == EINA_TRUE)
188 { 188 {
189 Evas_Coord w = 0, w_tmp = 0; 189 Evas_Coord w = 0;
190 Evas_Coord box_inner_item_width_padding = 0; 190 Evas_Coord box_inner_item_width_padding = 0;
191 191
192 elm_box_padding_get(sd->box, &box_inner_item_width_padding, NULL); 192 elm_box_padding_get(sd->box, &box_inner_item_width_padding, NULL);
@@ -204,8 +204,7 @@ _shrink_mode_set(Evas_Object *obj,
204 if (sd->label && sd->label_packed) 204 if (sd->label && sd->label_packed)
205 { 205 {
206 elm_box_pack_end(sd->box, sd->label); 206 elm_box_pack_end(sd->box, sd->label);
207 efl_gfx_size_hint_combined_min_get(sd->label, &w_tmp, NULL); 207 w -= efl_gfx_size_hint_combined_min_get(sd->label).w;
208 w -= w_tmp;
209 w -= box_inner_item_width_padding; 208 w -= box_inner_item_width_padding;
210 } 209 }
211 210
@@ -214,7 +213,7 @@ _shrink_mode_set(Evas_Object *obj,
214 213
215 EINA_LIST_FOREACH(sd->items, l, eo_item) 214 EINA_LIST_FOREACH(sd->items, l, eo_item)
216 { 215 {
217 Evas_Coord item_w, w_label_count = 0, h = 0; 216 Evas_Coord w_label_count = 0, h = 0;
218 char *buf; 217 char *buf;
219 218
220 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item); 219 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
@@ -222,9 +221,7 @@ _shrink_mode_set(Evas_Object *obj,
222 evas_object_show(VIEW(item)); 221 evas_object_show(VIEW(item));
223 item->visible = EINA_TRUE; 222 item->visible = EINA_TRUE;
224 223
225 efl_gfx_size_hint_combined_min_get(VIEW(item), &item_w, NULL); 224 w -= efl_gfx_size_hint_combined_min_get(VIEW(item)).w;
226
227 w -= item_w;
228 w -= box_inner_item_width_padding; 225 w -= box_inner_item_width_padding;
229 count--; 226 count--;
230 227
@@ -328,7 +325,7 @@ _view_update(Elm_Multibuttonentry_Data *sd)
328 325
329 // update label 326 // update label
330 if (sd->label) 327 if (sd->label)
331 efl_gfx_size_hint_combined_min_get(sd->label, &width, &height); 328 evas_object_size_hint_combined_min_get(sd->label, &width, &height);
332 329
333 if (sd->guide_text) 330 if (sd->guide_text)
334 { 331 {
@@ -829,7 +826,7 @@ _item_new(Elm_Multibuttonentry_Data *sd,
829 evas_object_show(VIEW(item)); 826 evas_object_show(VIEW(item));
830 827
831 evas_object_smart_calculate(VIEW(item)); 828 evas_object_smart_calculate(VIEW(item));
832 efl_gfx_size_hint_combined_min_get(VIEW(item), &minw, &minh); 829 evas_object_size_hint_combined_min_get(VIEW(item), &minw, &minh);
833 evas_object_geometry_get(sd->box, NULL, NULL, &boxw, NULL); 830 evas_object_geometry_get(sd->box, NULL, NULL, &boxw, NULL);
834 831
835 if (sd->w_box && minw > boxw) 832 if (sd->w_box && minw > boxw)
@@ -1053,7 +1050,7 @@ _box_resize_cb(void *data,
1053 elm_layout_sizing_eval(VIEW(it)); 1050 elm_layout_sizing_eval(VIEW(it));
1054 evas_object_smart_calculate(VIEW(it)); 1051 evas_object_smart_calculate(VIEW(it));
1055 1052
1056 efl_gfx_size_hint_combined_min_get(VIEW(it), &mnw, &mnh); 1053 evas_object_size_hint_combined_min_get(VIEW(it), &mnw, &mnh);
1057 1054
1058 if (mnw > w - hpad) 1055 if (mnw > w - hpad)
1059 { 1056 {
@@ -1328,14 +1325,14 @@ _box_min_size_calculate(Evas_Object *box,
1328 Evas_Object_Box_Option *opt; 1325 Evas_Object_Box_Option *opt;
1329 1326
1330 evas_object_geometry_get(box, NULL, NULL, &w, NULL); 1327 evas_object_geometry_get(box, NULL, NULL, &w, NULL);
1331 efl_gfx_size_hint_combined_min_get(box, &minw, NULL); 1328 evas_object_size_hint_combined_min_get(box, &minw, NULL);
1332 1329
1333 if (!w) return EINA_FALSE; 1330 if (!w) return EINA_FALSE;
1334 1331
1335 line_num = 1; 1332 line_num = 1;
1336 EINA_LIST_FOREACH(priv->children, l, opt) 1333 EINA_LIST_FOREACH(priv->children, l, opt)
1337 { 1334 {
1338 efl_gfx_size_hint_combined_min_get(opt->obj, &mnw, &mnh); 1335 evas_object_size_hint_combined_min_get(opt->obj, &mnw, &mnh);
1339 1336
1340 linew += mnw; 1337 linew += mnw;
1341 if (lineh < mnh) lineh = mnh; 1338 if (lineh < mnh) lineh = mnh;
@@ -1374,7 +1371,7 @@ _box_layout_cb(Evas_Object *o,
1374 1371
1375 evas_object_geometry_get(o, &x, &y, &w, &h); 1372 evas_object_geometry_get(o, &x, &y, &w, &h);
1376 1373
1377 efl_gfx_size_hint_combined_min_get(o, &minw, &minh); 1374 evas_object_size_hint_combined_min_get(o, &minw, &minh);
1378 evas_object_size_hint_align_get(o, &ax, &ay); 1375 evas_object_size_hint_align_get(o, &ax, &ay);
1379 1376
1380 rtl = efl_ui_mirrored_get(data); 1377 rtl = efl_ui_mirrored_get(data);
@@ -1404,7 +1401,7 @@ _box_layout_cb(Evas_Object *o,
1404 obj = opt->obj; 1401 obj = opt->obj;
1405 evas_object_size_hint_align_get(obj, &ax, &ay); 1402 evas_object_size_hint_align_get(obj, &ax, &ay);
1406 evas_object_size_hint_weight_get(obj, &wx, &wy); 1403 evas_object_size_hint_weight_get(obj, &wx, &wy);
1407 efl_gfx_size_hint_combined_min_get(obj, &mnw, &mnh); 1404 evas_object_size_hint_combined_min_get(obj, &mnw, &mnh);
1408 1405
1409 fw = fh = EINA_FALSE; 1406 fw = fh = EINA_FALSE;
1410 if (EINA_DBL_EQ(ax, -1)) {fw = 1; ax = 0.5; } 1407 if (EINA_DBL_EQ(ax, -1)) {fw = 1; ax = 0.5; }
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 634eb18..b0478f9 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -457,14 +457,14 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd)
457 EINA_LIST_FOREACH(sd->items, elist, it) 457 EINA_LIST_FOREACH(sd->items, elist, it)
458 { 458 {
459 _item_sizing_eval(it); 459 _item_sizing_eval(it);
460 efl_gfx_size_hint_combined_min_get(elm_layout_edje_get(VIEW(it)), 460 evas_object_size_hint_combined_min_get(elm_layout_edje_get(VIEW(it)),
461 NULL, &minh_box); 461 NULL, &minh_box);
462 if (minh_box != -1) h_box += minh_box; 462 if (minh_box != -1) h_box += minh_box;
463 } 463 }
464 evas_object_size_hint_min_set(sd->spacer, 0, MIN(h_box, sd->max_sc_h)); 464 evas_object_size_hint_min_set(sd->spacer, 0, MIN(h_box, sd->max_sc_h));
465 evas_object_size_hint_max_set(sd->spacer, -1, sd->max_sc_h); 465 evas_object_size_hint_max_set(sd->spacer, -1, sd->max_sc_h);
466 466
467 efl_gfx_size_hint_combined_min_get(sd->scr, &minw, &minh); 467 evas_object_size_hint_combined_min_get(sd->scr, &minw, &minh);
468 evas_object_size_hint_max_get(sd->scr, &minw, &minh); 468 evas_object_size_hint_max_get(sd->scr, &minw, &minh);
469 } 469 }
470 else if (sd->scroll) 470 else if (sd->scroll)
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index 224075d..3f55144 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -142,7 +142,7 @@ _sizing_eval(Evas_Object *obj)
142 142
143 if (sd->delete_me) return; 143 if (sd->delete_me) return;
144 144
145 efl_gfx_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); 145 evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh);
146 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh); 146 evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh);
147 evas_object_size_hint_min_set(obj, minw, minh); 147 evas_object_size_hint_min_set(obj, minw, minh);
148 evas_object_size_hint_max_set(obj, maxw, maxh); 148 evas_object_size_hint_max_set(obj, maxw, maxh);
diff --git a/src/lib/elementary/elm_colorselector.c b/src/lib/elementary/elm_colorselector.c
index 957cfc9..f14672c 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -1468,7 +1468,7 @@ _picker_sizing_eval(Evas_Object *obj)
1468 1468
1469 ELM_COLORSELECTOR_DATA_GET(obj, sd); 1469 ELM_COLORSELECTOR_DATA_GET(obj, sd);
1470 1470
1471 efl_gfx_size_hint_combined_min_get(sd->picker, &minw, &minh); 1471 evas_object_size_hint_combined_min_get(sd->picker, &minw, &minh);
1472 evas_object_size_hint_min_set(obj, minw, minh); 1472 evas_object_size_hint_min_set(obj, minw, minh);
1473} 1473}
1474 1474
@@ -1523,7 +1523,7 @@ _on_resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
1523 { 1523 {
1524 Evas_Coord w = 0, h = 0, minw = -1; 1524 Evas_Coord w = 0, h = 0, minw = -1;
1525 1525
1526 efl_gfx_size_hint_combined_min_get(obj, &minw, NULL); 1526 evas_object_size_hint_combined_min_get(obj, &minw, NULL);
1527 evas_object_geometry_get(obj, NULL, NULL, &w, &h); 1527 evas_object_geometry_get(obj, NULL, NULL, &w, &h);
1528 if ((w != sd->_w) && (w < minw)) 1528 if ((w != sd->_w) && (w < minw))
1529 elm_layout_sizing_eval(obj); 1529 elm_layout_sizing_eval(obj);
diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c
index 628bba0..1f6b192 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -305,7 +305,7 @@ _resize_cb(void *data EINA_UNUSED,
305 if (sd->items) 305 if (sd->items)
306 { 306 {
307 Elm_Diskselector_Item_Data *it = sd->items->data; 307 Elm_Diskselector_Item_Data *it = sd->items->data;
308 efl_gfx_size_hint_combined_min_get(VIEW(it), &mw, &mh); 308 evas_object_size_hint_combined_min_get(VIEW(it), &mw, &mh);
309 } 309 }
310 if (sd->minh < mh) sd->minh = mh; 310 if (sd->minh < mh) sd->minh = mh;
311 edje_object_size_min_restricted_calc 311 edje_object_size_min_restricted_calc
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index bf21ed0..822cd68 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -1042,7 +1042,7 @@ _deferred_recalc_job(void *data)
1042 { 1042 {
1043 Evas_Coord ominw = -1; 1043 Evas_Coord ominw = -1;
1044 1044
1045 efl_gfx_size_hint_combined_min_get(data, &ominw, NULL); 1045 evas_object_size_hint_combined_min_get(data, &ominw, NULL);
1046 minw = ominw; 1046 minw = ominw;
1047 } 1047 }
1048 1048
@@ -1148,7 +1148,7 @@ _elm_entry_elm_layout_sizing_eval(Eo *obj, Elm_Entry_Data *sd)
1148 { 1148 {
1149 Evas_Coord ominw = -1; 1149 Evas_Coord ominw = -1;
1150 1150
1151 efl_gfx_size_hint_combined_min_get(sd->entry_edje, &ominw, NULL); 1151 evas_object_size_hint_combined_min_get(sd->entry_edje, &ominw, NULL);
1152 minw = ominw; 1152 minw = ominw;
1153 } 1153 }
1154 sd->ent_mw = minw; 1154 sd->ent_mw = minw;
@@ -1388,7 +1388,7 @@ _hoversel_position(Evas_Object *obj)
1388 edje_object_part_text_cursor_geometry_get 1388 edje_object_part_text_cursor_geometry_get
1389 (sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch); 1389 (sd->entry_edje, "elm.text", &cx, &cy, &cw, &ch);
1390 1390
1391 efl_gfx_size_hint_combined_min_get(sd->hoversel, &mw, &mh); 1391 evas_object_size_hint_combined_min_get(sd->hoversel, &mw, &mh);
1392 if (cx + mw > w) 1392 if (cx + mw > w)
1393 cx = w - mw; 1393 cx = w - mw;
1394 if (cy + mh > h) 1394 if (cy + mh > h)
@@ -2132,7 +2132,7 @@ _entry_changed_handle(void *data,
2132 /* Reset the size hints which are no more relevant. Keep the 2132 /* Reset the size hints which are no more relevant. Keep the
2133 * height, this is a hack, but doesn't really matter cause we'll 2133 * height, this is a hack, but doesn't really matter cause we'll
2134 * re-eval in a moment. */ 2134 * re-eval in a moment. */
2135 efl_gfx_size_hint_combined_min_get(data, NULL, &minh); 2135 evas_object_size_hint_combined_min_get(data, NULL, &minh);
2136 evas_object_size_hint_min_set(data, -1, minh); 2136 evas_object_size_hint_min_set(data, -1, minh);
2137 2137
2138 elm_layout_sizing_eval(data); 2138 elm_layout_sizing_eval(data);
diff --git a/src/lib/elementary/elm_factory.c b/src/lib/elementary/elm_factory.c
index d725c8b..c5040a3 100644
--- a/src/lib/elementary/elm_factory.c
+++ b/src/lib/elementary/elm_factory.c
@@ -87,7 +87,7 @@ _sizing_eval(Evas_Object *obj)
87 87
88 if (!wd) return; 88 if (!wd) return;
89 if (!wd->content) return; 89 if (!wd->content) return;
90 efl_gfx_size_hint_combined_min_get(wd->content, &minw, &minh); 90 evas_object_size_hint_combined_min_get(wd->content, &minw, &minh);
91 evas_object_size_hint_max_get(wd->content, &maxw, &maxh); 91 evas_object_size_hint_max_get(wd->content, &maxw, &maxh);
92 if (wd->maxmin) 92 if (wd->maxmin)
93 { 93 {
diff --git a/src/lib/elementary/elm_flipselector.c b/src/lib/elementary/elm_flipselector.c
index f41dfaa..1f53f2a 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -88,7 +88,7 @@ _elm_flipselector_elm_layout_sizing_eval(Eo *obj, Elm_Flipselector_Data *sd)
88 edje_object_size_min_restricted_calc 88 edje_object_size_min_restricted_calc
89 (wd->resize_obj, &minw, &minh, minw, minh); 89 (wd->resize_obj, &minw, &minh, minw, minh);
90 elm_coords_finger_size_adjust(1, &minw, 2, &minh); 90 elm_coords_finger_size_adjust(1, &minw, 2, &minh);
91 efl_gfx_size_hint_combined_min_get(obj, &w, &h); 91 evas_object_size_hint_combined_min_get(obj, &w, &h);
92 92
93 if (sd->sentinel) 93 if (sd->sentinel)
94 { 94 {
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 2f56100..3e0366c 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -910,7 +910,7 @@ _elm_genlist_elm_layout_sizing_eval(Eo *obj, Elm_Genlist_Data *sd)
910 910
911 if (sd->on_sub_del) return;; 911 if (sd->on_sub_del) return;;
912 912
913 efl_gfx_size_hint_combined_min_get(obj, &minw, NULL); 913 evas_object_size_hint_combined_min_get(obj, &minw, NULL);
914 evas_object_size_hint_max_get(obj, &maxw, &maxh); 914 evas_object_size_hint_max_get(obj, &maxw, &maxh);
915 915
916 edje_object_size_min_calc(wd->resize_obj, &vmw, &vmh); 916 edje_object_size_min_calc(wd->resize_obj, &vmw, &vmh);
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index 5a984e8..ab516e4 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -175,7 +175,7 @@ _elm_hover_smart_content_location_get(Elm_Hover_Data *sd,
175 Evas_Coord c_w = 0, c_h = 0, mid_w, mid_h; 175 Evas_Coord c_w = 0, c_h = 0, mid_w, mid_h;
176 int max; 176 int max;
177 177
178 efl_gfx_size_hint_combined_min_get(sd->smt_sub->obj, &c_w, &c_h); 178 evas_object_size_hint_combined_min_get(sd->smt_sub->obj, &c_w, &c_h);
179 mid_w = c_w / 2; 179 mid_w = c_w / 2;
180 mid_h = c_h / 2; 180 mid_h = c_h / 2;
181 181
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index a06aba5..8480646 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -671,7 +671,7 @@ _elm_list_elm_layout_sizing_eval(Eo *obj, Elm_List_Data *sd)
671 671
672 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 672 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
673 673
674 efl_gfx_size_hint_combined_min_get(sd->box, &minw, &minh); 674 evas_object_size_hint_combined_min_get(sd->box, &minw, &minh);
675 evas_object_size_hint_max_get(sd->box, &maxw, &maxh); 675 evas_object_size_hint_max_get(sd->box, &maxw, &maxh);
676 evas_object_size_hint_weight_get(sd->box, &xw, &yw); 676 evas_object_size_hint_weight_get(sd->box, &xw, &yw);
677 677
@@ -828,13 +828,13 @@ _items_fix(Evas_Object *obj)
828 if (it->deleted) continue; 828 if (it->deleted) continue;
829 if (it->icon) 829 if (it->icon)
830 { 830 {
831 efl_gfx_size_hint_combined_min_get(it->icon, &mw, &mh); 831 evas_object_size_hint_combined_min_get(it->icon, &mw, &mh);
832 if (mw > minw[0]) minw[0] = mw; 832 if (mw > minw[0]) minw[0] = mw;
833 if (mh > minh[0]) minh[0] = mh; 833 if (mh > minh[0]) minh[0] = mh;
834 } 834 }
835 if (it->end) 835 if (it->end)
836 { 836 {
837 efl_gfx_size_hint_combined_min_get(it->end, &mw, &mh); 837 evas_object_size_hint_combined_min_get(it->end, &mw, &mh);
838 if (mw > minw[1]) minw[1] = mw; 838 if (mw > minw[1]) minw[1] = mw;
839 if (mh > minh[1]) minh[1] = mh; 839 if (mh > minh[1]) minh[1] = mh;
840 } 840 }
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index 8f7ce2a..bc372a1 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -1484,7 +1484,7 @@ _icon_dup(Evas_Object *icon,
1484 evas_object_geometry_get(icon, NULL, NULL, &w, &h); 1484 evas_object_geometry_get(icon, NULL, NULL, &w, &h);
1485 if (w <= 0 || h <= 0) 1485 if (w <= 0 || h <= 0)
1486 { 1486 {
1487 efl_gfx_size_hint_combined_min_get(icon, &w, &h); 1487 evas_object_size_hint_combined_min_get(icon, &w, &h);
1488 evas_object_size_hint_min_set(dupp, w, h); 1488 evas_object_size_hint_min_set(dupp, w, h);
1489 } 1489 }
1490 else evas_object_resize(dupp, w, h); 1490 else evas_object_resize(dupp, w, h);
@@ -1535,7 +1535,7 @@ _overlay_default_show(Overlay_Default *ovl)
1535 { 1535 {
1536 disp = ovl->content; 1536 disp = ovl->content;
1537 evas_object_geometry_get(disp, NULL, NULL, &w, &h); 1537 evas_object_geometry_get(disp, NULL, NULL, &w, &h);
1538 if (w <= 0 || h <= 0) efl_gfx_size_hint_combined_min_get(disp, &w, &h); 1538 if (w <= 0 || h <= 0) evas_object_size_hint_combined_min_get(disp, &w, &h);
1539 ovl->w = w; 1539 ovl->w = w;
1540 ovl->h = h; 1540 ovl->h = h;
1541 } 1541 }
@@ -1544,7 +1544,7 @@ _overlay_default_show(Overlay_Default *ovl)
1544 disp = ovl->clas_content; 1544 disp = ovl->clas_content;
1545 1545
1546 evas_object_geometry_get(disp, NULL, NULL, &w, &h); 1546 evas_object_geometry_get(disp, NULL, NULL, &w, &h);
1547 if (w <= 0 || h <= 0) efl_gfx_size_hint_combined_min_get(disp, &w, &h); 1547 if (w <= 0 || h <= 0) evas_object_size_hint_combined_min_get(disp, &w, &h);
1548 } 1548 }
1549 else 1549 else
1550 { 1550 {
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index aea78a9..64b69a7 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -28,7 +28,7 @@ _sizing_eval(Evas_Object *obj)
28 ELM_MAPBUF_DATA_GET(obj, sd); 28 ELM_MAPBUF_DATA_GET(obj, sd);
29 if (sd->content) 29 if (sd->content)
30 { 30 {
31 efl_gfx_size_hint_combined_min_get(sd->content, &minw, &minh); 31 evas_object_size_hint_combined_min_get(sd->content, &minw, &minh);
32 evas_object_size_hint_max_get(sd->content, &maxw, &maxh); 32 evas_object_size_hint_max_get(sd->content, &maxw, &maxh);
33 } 33 }
34 evas_object_size_hint_min_set(obj, minw, minh); 34 evas_object_size_hint_min_set(obj, minw, minh);
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index aef2d6e..c608b6d 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -326,7 +326,7 @@ _elm_scroller_elm_layout_sizing_eval(Eo *obj, Elm_Scroller_Data *sd)
326 326
327 if (sd->content) 327 if (sd->content)
328 { 328 {
329 efl_gfx_size_hint_combined_min_get(sd->content, &minw, &minh); 329 evas_object_size_hint_combined_min_get(sd->content, &minw, &minh);
330 evas_object_size_hint_max_get(sd->content, &maxw, &maxh); 330 evas_object_size_hint_max_get(sd->content, &maxw, &maxh);
331 evas_object_size_hint_weight_get(sd->content, &xw, &yw); 331 evas_object_size_hint_weight_get(sd->content, &xw, &yw);
332 } 332 }
diff --git a/src/lib/elementary/elm_segment_control.c b/src/lib/elementary/elm_segment_control.c
index 6b27337..bd90657 100644
--- a/src/lib/elementary/elm_segment_control.c
+++ b/src/lib/elementary/elm_segment_control.c
@@ -52,7 +52,7 @@ _elm_segment_control_elm_layout_sizing_eval(Eo *obj, Elm_Segment_Control_Data *s
52 edje_object_size_min_restricted_calc 52 edje_object_size_min_restricted_calc
53 (wd->resize_obj, &minw, &minh, minw, minh); 53 (wd->resize_obj, &minw, &minh, minw, minh);
54 54
55 efl_gfx_size_hint_combined_min_get(obj, &w, &h); 55 evas_object_size_hint_combined_min_get(obj, &w, &h);
56 56
57 if (w > minw) minw = w; 57 if (w > minw) minw = w;
58 if (h > minh) minh = h; 58 if (h > minh) minh = h;
diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c
index dd40369..b1e5b3b 100644
--- a/src/lib/elementary/elm_table.c
+++ b/src/lib/elementary/elm_table.c
@@ -138,7 +138,7 @@ _sizing_eval(Evas_Object *obj)
138 138
139 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 139 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
140 140
141 efl_gfx_size_hint_combined_min_get(wd->resize_obj, &minw, &minh); 141 evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh);
142 evas_object_size_hint_min_set(obj, minw, minh); 142 evas_object_size_hint_min_set(obj, minw, minh);
143} 143}
144 144
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index 779debf..314997b 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -430,7 +430,7 @@ _resize_job(void *data)
430 sd->resize_job = NULL; 430 sd->resize_job = NULL;
431 elm_interface_scrollable_content_viewport_geometry_get 431 elm_interface_scrollable_content_viewport_geometry_get
432 (obj, NULL, NULL, &vw, &vh); 432 (obj, NULL, NULL, &vw, &vh);
433 efl_gfx_size_hint_combined_min_get(sd->bx, &mw, &mh); 433 evas_object_size_hint_combined_min_get(sd->bx, &mw, &mh);
434 w = sd->minw_bx; 434 w = sd->minw_bx;
435 h = sd->minh_bx; 435 h = sd->minh_bx;
436 436
@@ -1449,7 +1449,7 @@ _sizing_eval(Evas_Object *obj)
1449 1449
1450 evas_object_resize(wd->resize_obj, w, h); 1450 evas_object_resize(wd->resize_obj, w, h);
1451 1451
1452 efl_gfx_size_hint_combined_min_get(sd->bx, &minw_bx, &minh_bx); 1452 evas_object_size_hint_combined_min_get(sd->bx, &minw_bx, &minh_bx);
1453 elm_interface_scrollable_content_viewport_geometry_get 1453 elm_interface_scrollable_content_viewport_geometry_get
1454 (obj, NULL, NULL, &vw, &vh); 1454 (obj, NULL, NULL, &vw, &vh);
1455 1455
diff --git a/src/lib/elementary/els_box.c b/src/lib/elementary/els_box.c
index 2be9290..965cd98 100644
--- a/src/lib/elementary/els_box.c
+++ b/src/lib/elementary/els_box.c
@@ -148,7 +148,7 @@ _smart_extents_non_homogeneous_calc(Evas_Object_Box_Data *priv, int w, int h, in
148 rrw = &oh, rrh = &ow; 148 rrw = &oh, rrh = &ow;
149 149
150 evas_object_size_hint_padding_get(opt->obj, &pad_l, &pad_r, &pad_t, &pad_b); 150 evas_object_size_hint_padding_get(opt->obj, &pad_l, &pad_r, &pad_t, &pad_b);
151 efl_gfx_size_hint_combined_min_get(opt->obj, &mnw, &mnh); 151 evas_object_size_hint_combined_min_get(opt->obj, &mnw, &mnh);
152 mnw += pad_l + pad_r; 152 mnw += pad_l + pad_r;
153 mnh += pad_t + pad_b; 153 mnh += pad_t + pad_b;
154 if (*rminw < *rw) *rminw = *rw; 154 if (*rminw < *rw) *rminw = *rw;
@@ -254,7 +254,7 @@ _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int w, in
254 if (ay < 0) fh = 1; 254 if (ay < 0) fh = 1;
255 255
256 evas_object_size_hint_padding_get(opt->obj, &pad_l, &pad_r, &pad_t, &pad_b); 256 evas_object_size_hint_padding_get(opt->obj, &pad_l, &pad_r, &pad_t, &pad_b);
257 efl_gfx_size_hint_combined_min_get(opt->obj, &mnw, &mnh); 257 evas_object_size_hint_combined_min_get(opt->obj, &mnw, &mnh);
258 mnw += pad_l + pad_r; 258 mnw += pad_l + pad_r;
259 mnh += pad_t + pad_b; 259 mnh += pad_t + pad_b;
260 if (minh < mnh) minh = mnh; 260 if (minh < mnh) minh = mnh;
@@ -375,7 +375,7 @@ _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, Eina_Bool horizontal
375 _smart_extents_calculate(o, priv, w, h, expand, horizontal, homogeneous); 375 _smart_extents_calculate(o, priv, w, h, expand, horizontal, homogeneous);
376 evas_object_geometry_get(o, &x, &y, &w, &h); 376 evas_object_geometry_get(o, &x, &y, &w, &h);
377 377
378 efl_gfx_size_hint_combined_min_get(o, &minw, &minh); 378 evas_object_size_hint_combined_min_get(o, &minw, &minh);
379 evas_object_box_align_get(o, &ax, &ay); 379 evas_object_box_align_get(o, &ax, &ay);
380 /* if object size is less than min, apply align to trigger viewporting */ 380 /* if object size is less than min, apply align to trigger viewporting */
381 if (w < minw) 381 if (w < minw)
@@ -418,7 +418,7 @@ _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, Eina_Bool horizontal
418 evas_object_size_hint_align_get(obj, &ax, &ay); 418 evas_object_size_hint_align_get(obj, &ax, &ay);
419 evas_object_size_hint_weight_get(obj, &wx, &wy); 419 evas_object_size_hint_weight_get(obj, &wx, &wy);
420 evas_object_size_hint_padding_get(obj, &pad_l, &pad_r, &pad_t, &pad_b); 420 evas_object_size_hint_padding_get(obj, &pad_l, &pad_r, &pad_t, &pad_b);
421 efl_gfx_size_hint_combined_min_get(obj, &mnw, &mnh); 421 evas_object_size_hint_combined_min_get(obj, &mnw, &mnh);
422 mnw += pad_l + pad_r; 422 mnw += pad_l + pad_r;
423 mnh += pad_t + pad_b; 423 mnh += pad_t + pad_b;
424 evas_object_size_hint_max_get(obj, &mxw, &mxh); 424 evas_object_size_hint_max_get(obj, &mxw, &mxh);
diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c
index 0fc32d6..16c1fe9 100644
--- a/src/lib/elementary/els_tooltip.c
+++ b/src/lib/elementary/els_tooltip.c
@@ -512,7 +512,7 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt)
512 evas_object_layer_set(tt->tooltip, ELM_OBJECT_LAYER_TOOLTIP); 512 evas_object_layer_set(tt->tooltip, ELM_OBJECT_LAYER_TOOLTIP);
513 } 513 }
514 TTDBG("*******RECALC\n"); 514 TTDBG("*******RECALC\n");
515 efl_gfx_size_hint_combined_min_get(tt->content, &ominw, &ominh); 515 evas_object_size_hint_combined_min_get(tt->content, &ominw, &ominh);
516 edje_object_size_min_get(tt->tooltip, &eminw, &eminh); 516 edje_object_size_min_get(tt->tooltip, &eminw, &eminh);
517 517
518 if (eminw && (ominw < eminw)) ominw = eminw; 518 if (eminw && (ominw < eminw)) ominw = eminw;
diff --git a/src/lib/evas/Evas_Internal.h b/src/lib/evas/Evas_Internal.h
index f0d71b5..5366d7a 100644
--- a/src/lib/evas/Evas_Internal.h
+++ b/src/lib/evas/Evas_Internal.h
@@ -48,6 +48,15 @@ EAPI Eina_Bool efl_canvas_output_unlock(Efl_Canvas_Output *output);
48 48
49EAPI void efl_input_pointer_finalize(Efl_Input_Pointer *obj); 49EAPI void efl_input_pointer_finalize(Efl_Input_Pointer *obj);
50 50
51static inline void
52evas_object_size_hint_combined_min_get(const Eo *obj, int *w, int *h)
53{
54 Eina_Size2D sz;
55 sz = efl_gfx_size_hint_combined_min_get(obj);
56 if (w) *w = sz.w;
57 if (h) *h = sz.h;
58}
59
51/* Internal EO APIs */ 60/* Internal EO APIs */
52EOAPI void efl_canvas_object_legacy_ctor(Eo *obj); 61EOAPI void efl_canvas_object_legacy_ctor(Eo *obj);
53EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type); 62EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type);
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c
index abda3fa..cb65f58 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -608,7 +608,7 @@ _sizing_eval(Evas_Object *obj)
608 Evas_Coord minw, minh, maxw, maxh; 608 Evas_Coord minw, minh, maxw, maxh;
609 Evas_Coord w, h; 609 Evas_Coord w, h;
610 610
611 efl_gfx_size_hint_combined_min_get(obj, &minw, &minh); 611 evas_object_size_hint_combined_min_get(obj, &minw, &minh);
612 evas_object_size_hint_max_get(obj, &maxw, &maxh); 612 evas_object_size_hint_max_get(obj, &maxw, &maxh);
613 evas_object_geometry_get(obj, NULL, NULL, &w, &h); 613 evas_object_geometry_get(obj, NULL, NULL, &w, &h);
614 614
@@ -638,7 +638,7 @@ _evas_object_box_layout_horizontal_weight_apply(Evas_Object_Box_Data *priv, Evas
638 { 638 {
639 int min_w; 639 int min_w;
640 640
641 efl_gfx_size_hint_combined_min_get(o, &min_w, NULL); 641 evas_object_size_hint_combined_min_get(o, &min_w, NULL);
642 evas_object_resize(o, min_w, h); 642 evas_object_resize(o, min_w, h);
643 } 643 }
644 else 644 else
@@ -718,7 +718,7 @@ _evas_box_layout_horizontal(Eo *o, Evas_Object_Box_Data *priv, Evas_Object_Box_D
718 (opt->obj, &padding_l, &padding_r, NULL, NULL); 718 (opt->obj, &padding_l, &padding_r, NULL, NULL);
719 req_w += padding_l + padding_r; 719 req_w += padding_l + padding_r;
720 720
721 efl_gfx_size_hint_combined_min_get(opt->obj, &minw, NULL); 721 evas_object_size_hint_combined_min_get(opt->obj, &minw, NULL);
722 if (minw > 0) totalminw += minw + padding_l + padding_r; 722 if (minw > 0) totalminw += minw + padding_l + padding_r;
723 if (EINA_DBL_EQ(weight_x, 0.0)) 723 if (EINA_DBL_EQ(weight_x, 0.0))
724 { 724 {
@@ -760,7 +760,7 @@ _evas_box_layout_horizontal(Eo *o, Evas_Object_Box_Data *priv, Evas_Object_Box_D
760 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 760 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
761 evas_object_size_hint_max_get(opt->obj, NULL, &max_h); 761 evas_object_size_hint_max_get(opt->obj, NULL, &max_h);
762 762
763 efl_gfx_size_hint_combined_min_get(opt->obj, &minw, &minh); 763 evas_object_size_hint_combined_min_get(opt->obj, &minw, &minh);
764 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 764 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
765 765
766 off_x = padding_l; 766 off_x = padding_l;
@@ -804,7 +804,7 @@ _evas_object_box_layout_vertical_weight_apply(Evas_Object_Box_Data *priv, Evas_O
804 { 804 {
805 int min_h; 805 int min_h;
806 806
807 efl_gfx_size_hint_combined_min_get(o, NULL, &min_h); 807 evas_object_size_hint_combined_min_get(o, NULL, &min_h);
808 evas_object_resize(o, w, min_h); 808 evas_object_resize(o, w, min_h);
809 } 809 }
810 else 810 else
@@ -884,7 +884,7 @@ _evas_box_layout_vertical(Eo *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Dat
884 (opt->obj, NULL, NULL, &padding_t, &padding_b); 884 (opt->obj, NULL, NULL, &padding_t, &padding_b);
885 req_h += padding_t + padding_b; 885 req_h += padding_t + padding_b;
886 886
887 efl_gfx_size_hint_combined_min_get(opt->obj, NULL, &minh); 887 evas_object_size_hint_combined_min_get(opt->obj, NULL, &minh);
888 if (minh > 0) totalminh += minh + padding_t + padding_b; 888 if (minh > 0) totalminh += minh + padding_t + padding_b;
889 if (EINA_DBL_EQ(weight_y, 0.0)) 889 if (EINA_DBL_EQ(weight_y, 0.0))
890 { 890 {
@@ -926,7 +926,7 @@ _evas_box_layout_vertical(Eo *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Dat
926 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 926 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
927 evas_object_size_hint_max_get(opt->obj, &max_w, NULL); 927 evas_object_size_hint_max_get(opt->obj, &max_w, NULL);
928 928
929 efl_gfx_size_hint_combined_min_get(opt->obj, &minw, &minh); 929 evas_object_size_hint_combined_min_get(opt->obj, &minw, &minh);
930 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 930 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
931 931
932 off_y = padding_t; 932 off_y = padding_t;
@@ -986,7 +986,7 @@ _evas_box_layout_homogeneous_horizontal(Eo *o, Evas_Object_Box_Data *priv, Evas_
986 evas_object_size_hint_padding_get 986 evas_object_size_hint_padding_get
987 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 987 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
988 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h); 988 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h);
989 efl_gfx_size_hint_combined_min_get(opt->obj, &min_w, NULL); 989 evas_object_size_hint_combined_min_get(opt->obj, &min_w, NULL);
990 990
991 _sizing_eval(opt->obj); 991 _sizing_eval(opt->obj);
992 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 992 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
@@ -1050,7 +1050,7 @@ _evas_box_layout_homogeneous_vertical(Eo *o, Evas_Object_Box_Data *priv, Evas_Ob
1050 evas_object_size_hint_padding_get 1050 evas_object_size_hint_padding_get
1051 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 1051 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
1052 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h); 1052 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h);
1053 efl_gfx_size_hint_combined_min_get(opt->obj, NULL, &min_h); 1053 evas_object_size_hint_combined_min_get(opt->obj, NULL, &min_h);
1054 1054
1055 _sizing_eval(opt->obj); 1055 _sizing_eval(opt->obj);
1056 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 1056 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
@@ -1136,7 +1136,7 @@ _evas_box_layout_homogeneous_max_size_horizontal(Eo *o, Evas_Object_Box_Data *pr
1136 evas_object_size_hint_padding_get 1136 evas_object_size_hint_padding_get
1137 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 1137 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
1138 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h); 1138 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h);
1139 efl_gfx_size_hint_combined_min_get(opt->obj, &min_w, NULL); 1139 evas_object_size_hint_combined_min_get(opt->obj, &min_w, NULL);
1140 1140
1141 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 1141 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
1142 1142
@@ -1223,7 +1223,7 @@ _evas_box_layout_homogeneous_max_size_vertical(Eo *o, Evas_Object_Box_Data *priv
1223 evas_object_size_hint_padding_get 1223 evas_object_size_hint_padding_get
1224 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b); 1224 (opt->obj, &padding_l, &padding_r, &padding_t, &padding_b);
1225 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h); 1225 evas_object_size_hint_max_get(opt->obj, &max_w, &max_h);
1226 efl_gfx_size_hint_combined_min_get(opt->obj, NULL, &min_h); 1226 evas_object_size_hint_combined_min_get(opt->obj, NULL, &min_h);
1227 1227
1228 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h); 1228 evas_object_geometry_get(opt->obj, NULL, NULL, &child_w, &child_h);
1229 1229
@@ -1634,7 +1634,7 @@ _evas_box_layout_stack(Eo *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Data *
1634 evas_object_size_hint_padding_get 1634 evas_object_size_hint_padding_get
1635 (child, &pad_l, &pad_r, &pad_t, &pad_b); 1635 (child, &pad_l, &pad_r, &pad_t, &pad_b);
1636 evas_object_size_hint_max_get(child, &max_w, &max_h); 1636 evas_object_size_hint_max_get(child, &max_w, &max_h);
1637 efl_gfx_size_hint_combined_min_get(child, &min_w, &min_h); 1637 evas_object_size_hint_combined_min_get(child, &min_w, &min_h);
1638 1638
1639 _sizing_eval(opt->obj); 1639 _sizing_eval(opt->obj);
1640 evas_object_geometry_get(child, NULL, NULL, &child_w, &child_h); 1640 evas_object_geometry_get(child, NULL, NULL, &child_w, &child_h);
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index be06e10..9b8810b 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -1423,17 +1423,17 @@ _efl_canvas_object_efl_gfx_size_hint_hint_restricted_min_set(Eo *eo_obj, Evas_Ob
1423 evas_object_inform_call_changed_size_hints(eo_obj); 1423 evas_object_inform_call_changed_size_hints(eo_obj);
1424} 1424}
1425 1425
1426EOLIAN static void 1426EOLIAN static Eina_Size2D
1427_efl_canvas_object_efl_gfx_size_hint_hint_combined_min_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj, Evas_Coord *w, Evas_Coord *h) 1427_efl_canvas_object_efl_gfx_size_hint_hint_combined_min_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj)
1428{ 1428{
1429 Eina_Size2D sz = { 0, 0 };
1430
1429 if ((!obj->size_hints) || obj->delete_me) 1431 if ((!obj->size_hints) || obj->delete_me)
1430 { 1432 return sz;
1431 if (w) *w = 0; 1433
1432 if (h) *h = 0; 1434 sz.w = MAX(obj->size_hints->min.w, obj->size_hints->user_min.w);
1433 return; 1435 sz.h = MAX(obj->size_hints->min.h, obj->size_hints->user_min.h);
1434 } 1436 return sz;
1435 if (w) *w = MAX(obj->size_hints->min.w, obj->size_hints->user_min.w);
1436 if (h) *h = MAX(obj->size_hints->min.h, obj->size_hints->user_min.h);
1437} 1437}
1438 1438
1439EOLIAN static Eina_Size2D 1439EOLIAN static Eina_Size2D
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c
index 9c65276..e05c686 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -344,7 +344,7 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Table_Data *
344 Evas_Coord child_minw, child_minh, cell_minw, cell_minh; 344 Evas_Coord child_minw, child_minh, cell_minw, cell_minh;
345 double weightw, weighth; 345 double weightw, weighth;
346 346
347 efl_gfx_size_hint_combined_min_get(child, &opt->min.w, &opt->min.h); 347 evas_object_size_hint_combined_min_get(child, &opt->min.w, &opt->min.h);
348 evas_object_size_hint_max_get(child, &opt->max.w, &opt->max.h); 348 evas_object_size_hint_max_get(child, &opt->max.w, &opt->max.h);
349 evas_object_size_hint_padding_get 349 evas_object_size_hint_padding_get
350 (child, &opt->pad.l, &opt->pad.r, &opt->pad.t, &opt->pad.b); 350 (child, &opt->pad.l, &opt->pad.r, &opt->pad.t, &opt->pad.b);
@@ -435,7 +435,7 @@ _evas_object_table_calculate_layout_homogeneous_sizes_item(const Evas_Object *o,
435 Evas_Coord minw, minh; 435 Evas_Coord minw, minh;
436 Eina_Bool expand_h, expand_v; 436 Eina_Bool expand_h, expand_v;
437 437
438 efl_gfx_size_hint_combined_min_get(o, &minw, &minh); 438 evas_object_size_hint_combined_min_get(o, &minw, &minh);
439 expand_h = priv->expand_h; 439 expand_h = priv->expand_h;
440 expand_v = priv->expand_v; 440 expand_v = priv->expand_v;
441 441
@@ -659,7 +659,7 @@ _evas_object_table_calculate_hints_regular(Evas_Object *o, Evas_Table_Data *priv
659 Evas_Object *child = opt->obj; 659 Evas_Object *child = opt->obj;
660 double weightw, weighth; 660 double weightw, weighth;
661 661
662 efl_gfx_size_hint_combined_min_get(child, &opt->min.w, &opt->min.h); 662 evas_object_size_hint_combined_min_get(child, &opt->min.w, &opt->min.h);
663 evas_object_size_hint_max_get(child, &opt->max.w, &opt->max.h); 663 evas_object_size_hint_max_get(child, &opt->max.w, &opt->max.h);
664 evas_object_size_hint_padding_get 664 evas_object_size_hint_padding_get
665 (child, &opt->pad.l, &opt->pad.r, &opt->pad.t, &opt->pad.b); 665 (child, &opt->pad.l, &opt->pad.r, &opt->pad.t, &opt->pad.b);