2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
7 typedef struct _App_Data App_Data;
16 _win_del_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
18 App_Data *ad = evas_object_data_get(obj, "ad");
23 _win_aux_hint_allowed_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info)
25 Evas_Object *win = (Evas_Object *)(data);
26 App_Data *ad = evas_object_data_get(win, "ad");
29 if ((long)event_info == ad->id)
31 str = eina_stringshare_printf("aux_hint_allowed_cb. ID:%ld", (long)event_info);
32 elm_object_text_set(ad->lb, str);
33 eina_stringshare_del(str);
41 test_win_aux_hint(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
43 Evas_Object *win, *bx, *lb;
46 if (!(ad = calloc(1, sizeof(App_Data)))) return;
48 win = elm_win_util_standard_add("auxhint", "AuxHint");
49 elm_win_autodel_set(win, EINA_TRUE);
50 evas_object_data_set(win, "ad", ad);
52 bx = elm_box_add(win);
53 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
54 elm_win_resize_object_add(win, bx);
56 lb = elm_label_add(win);
57 elm_object_text_set(lb, "<b>Window auxiliary hint test</b>");
58 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
59 elm_box_pack_end(bx, lb);
62 lb = elm_label_add(win);
63 elm_object_text_set(lb, "Supported auxiliary hints");
64 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65 elm_box_pack_end(bx, lb);
68 if (elm_win_wm_rotation_supported_get(win))
70 int rots[] = { 0, 90, 280, 270 };
71 elm_win_wm_rotation_available_rotations_set(win, rots, (sizeof(rots) / sizeof(int)));
74 const Eina_List *l, *ll;
78 l = elm_win_aux_hints_supported_get(win);
79 EINA_LIST_FOREACH(l, ll, hint)
81 Eina_Strbuf *buf = eina_strbuf_new();
82 eina_strbuf_append_printf(buf, "%02d %s", i++, hint);
84 if (!strncmp(hint, "wm.comp.win.effect.enable", strlen("wm.comp.win.effect.enable")))
86 id = elm_win_aux_hint_add(win, "wm.comp.win.effect.enable", "0");
89 eina_strbuf_append(buf, "<- Added");
94 lb = elm_label_add(win);
95 elm_object_text_set(lb, eina_strbuf_string_get(buf));
96 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
97 elm_box_pack_end(bx, lb);
100 eina_strbuf_free(buf);
103 evas_object_smart_callback_add(win, "aux,hint,allowed", _win_aux_hint_allowed_cb, win);
106 lb = elm_label_add(win);
107 elm_object_text_set(lb, "N/A");
108 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
109 elm_box_pack_end(bx, lb);
110 evas_object_show(lb);
113 evas_object_smart_callback_add(win, "delete,request", _win_del_cb, NULL);
115 evas_object_resize(win, 480, 400);
116 evas_object_show(bx);
117 evas_object_show(win);