static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1; Evas_Coord maxw = -1, maxh = -1; if (!wd) return; if (wd->content) { evas_object_size_hint_min_get(wd->content, &minw, &minh); evas_object_size_hint_max_get(wd->content, &maxw, &maxh); } evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
static void _sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1; Evas_Coord maxw = -1, maxh = -1; ELM_MAPBUF_DATA_GET(obj, sd); if (sd->content) { evas_object_size_hint_min_get(sd->content, &minw, &minh); evas_object_size_hint_max_get(sd->content, &maxw, &maxh); } evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
static void _sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; Evas_Coord w, h; ELM_TABLE_DATA_GET(obj, sd); evas_object_size_hint_min_get(sd->resize_obj, &minw, &minh); evas_object_size_hint_max_get(sd->resize_obj, &maxw, &maxh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); evas_object_geometry_get(obj, NULL, NULL, &w, &h); if (w < minw) w = minw; if (h < minh) h = minh; if ((maxw >= 0) && (w > maxw)) w = maxw; if ((maxh >= 0) && (h > maxh)) h = maxh; evas_object_resize(obj, w, h); }
static void _print_rect_stats(Evas_Object *rect) { Evas_Coord w, h, l, r, t, b; double x, y; evas_object_size_hint_align_get(rect, &x, &y); fprintf(stdout, "\talign hints: h(%f), v(%f)\n", x, y); evas_object_size_hint_min_get(rect, &w, &h); fprintf(stdout, "\tmin. size hints: h(%d), v(%d)\n", w, h); evas_object_size_hint_max_get(rect, &w, &h); fprintf(stdout, "\tmax. size hints: h(%d), v(%d)\n", w, h); evas_object_size_hint_padding_get(rect, &l, &r, &t, &b); fprintf(stdout, "\tpadding hints: l(%d), r(%d), t(%d), b(%d)\n", l, r, t, b); evas_object_size_hint_weight_get(rect, &x, &y); fprintf(stdout, "\tweight hints: h(%f), v(%f)\n", x, y); }
static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; if (!wd) return; if (!wd->content) return; evas_object_size_hint_min_get(wd->content, &minw, &minh); evas_object_size_hint_max_get(wd->content, &maxw, &maxh); if (wd->maxmin) { if (minw > wd->maxminw) wd->maxminw = minw; if (minh > wd->maxminh) wd->maxminh = minh; evas_object_size_hint_min_set(obj, wd->maxminw, wd->maxminh); } else { evas_object_size_hint_min_set(obj, minw, minh); } evas_object_size_hint_max_set(obj, maxw, maxh); // DBG("FAC SZ: %i %i | %i %i", minw, minh, maxw, maxh); }
const Size Object::getSizeHintMax () const { Evas_Coord w, h; evas_object_size_hint_max_get (o, &w, &h); return Size (w, h); }
static Eina_Bool _e_elm_win_trap_show(void *data, Evas_Object *o) { Elm_Win_Trap_Ctx *ctx = data; Evas *e = evas_object_evas_get(o); Ecore_Evas *ee = ecore_evas_ecore_evas_get(e); Eina_Bool borderless; EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, EINA_TRUE); borderless = elm_win_borderless_get(o); if (!ctx->client) { E_Client *ec; Ecore_Window win; #ifdef HAVE_WAYLAND int64_t wl_win_id = -1; #endif E_Pixmap_Type type = E_PIXMAP_TYPE_X; win = elm_win_window_id_get(o); #ifdef HAVE_WAYLAND if (!strncmp(ecore_evas_engine_name_get(ee), "wayland", 7)) { Ecore_Wl2_Window *ewin = elm_win_wl_window_get(o); type = E_PIXMAP_TYPE_WL; ecore_evas_object_cursor_set(ee, NULL, 0, 0, 0); ctx->pointer = e_comp->pointer; elm_win_borderless_set(o, 1); wl_win_id = ecore_wl2_window_surface_id_get(ewin); } else #endif { type = E_PIXMAP_TYPE_X; ctx->pointer = e_pointer_window_new(win, EINA_TRUE); } if (type == E_PIXMAP_TYPE_WL) ec = e_pixmap_find_client(type, (int64_t)win); else ec = e_pixmap_find_client(type, win); if (ec) ctx->client = ec; else { E_Pixmap *cp; const char *title, *name, *clas; ecore_evas_name_class_get(ee, &name, &clas); if (!name) name = "E"; if (!clas) clas = "_e_internal_window"; ecore_evas_name_class_set(ee, name, clas); title = elm_win_title_get(o); if ((!title) || (!title[0])) title = "E"; ecore_evas_title_set(ee, title); if (type == E_PIXMAP_TYPE_WL) cp = e_pixmap_new(type, (int64_t)win); else cp = e_pixmap_new(type, win); EINA_SAFETY_ON_NULL_RETURN_VAL(cp, EINA_TRUE); #ifdef HAVE_WAYLAND if (wl_win_id >= 0) e_pixmap_alias(cp, type, wl_win_id); #endif current_win = ctx; ctx->client = e_client_new(cp, 0, 1); current_win = NULL; EINA_SAFETY_ON_NULL_RETURN_VAL(ctx->client, EINA_TRUE); eina_stringshare_replace(&ctx->client->icccm.name, name); eina_stringshare_replace(&ctx->client->icccm.class, clas); eina_stringshare_replace(&ctx->client->icccm.title, title); } ctx->client->placed = ctx->placed | ctx->centered; ctx->client->internal_no_remember = ctx->internal_no_remember; ctx->client->internal_no_reopen = ctx->internal_no_reopen; ctx->client->internal_elm_win = o; elm_win_autodel_set(o, 1); evas_object_data_set(o, "E_Client", ctx->client); ctx->client->dialog = elm_win_type_get(o) == ELM_WIN_DIALOG_BASIC; ctx->client->tooltip = elm_win_type_get(o) == ELM_WIN_TOOLTIP; evas_object_size_hint_min_get(o, &ctx->client->icccm.min_w, &ctx->client->icccm.min_h); ctx->client->icccm.min_w = MAX(ctx->client->icccm.min_w, 0); ctx->client->icccm.min_h = MAX(ctx->client->icccm.min_h, 0); evas_object_size_hint_max_get(o, &ctx->client->icccm.max_w, &ctx->client->icccm.max_h); ctx->client->icccm.max_w = MAX(ctx->client->icccm.max_w, 0); ctx->client->icccm.max_h = MAX(ctx->client->icccm.max_h, 0); }