1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
6 static Evas_Object *indicator[IND_NUM];
9 _mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info)
11 Evas_Event_Mouse_Down *ev = event_info;
12 // Evas_Object *win = data;
14 if (ev->button != 1) return;
15 printf("MOUSE: down @ %4i %4i\n", ev->canvas.x, ev->canvas.y);
16 evas_object_move(indicator[0], ev->canvas.x, ev->canvas.y);
17 evas_object_resize(indicator[0], 1, 1);
18 evas_object_show(indicator[0]);
22 _mouse_up(void *data, Evas *e, Evas_Object *o, void *event_info)
24 Evas_Event_Mouse_Up *ev = event_info;
25 // Evas_Object *win = data;
26 if (ev->button != 1) return;
27 printf("MOUSE: up @ %4i %4i\n", ev->canvas.x, ev->canvas.y);
28 evas_object_hide(indicator[0]);
32 _mouse_move(void *data, Evas *e, Evas_Object *o, void *event_info)
34 Evas_Event_Mouse_Move *ev = event_info;
35 // Evas_Object *win = data;
36 printf("MOUSE: move @ %4i %4i\n", ev->cur.canvas.x, ev->cur.canvas.y);
37 evas_object_move(indicator[0], ev->cur.canvas.x, ev->cur.canvas.y);
38 evas_object_resize(indicator[0], 1, 1);
45 _multi_down(void *data, Evas *e, Evas_Object *o, void *event_info)
47 Evas_Event_Multi_Down *ev = event_info;
48 // Evas_Object *win = data;
49 printf("MULTI: down @ %4i %4i | dev: %i\n", ev->canvas.x, ev->canvas.y, ev->device);
50 if (ev->device >= IND_NUM) return;
51 evas_object_move(indicator[ev->device], ev->canvas.x, ev->canvas.y);
52 evas_object_resize(indicator[ev->device], 1, 1);
53 evas_object_show(indicator[ev->device]);
57 _multi_up(void *data, Evas *e, Evas_Object *o, void *event_info)
59 Evas_Event_Multi_Up *ev = event_info;
60 // Evas_Object *win = data;
61 printf("MULTI: up @ %4i %4i | dev: %i\n", ev->canvas.x, ev->canvas.y, ev->device);
62 if (ev->device >= IND_NUM) return;
63 evas_object_hide(indicator[ev->device]);
67 _multi_move(void *data, Evas *e, Evas_Object *o, void *event_info)
69 Evas_Event_Multi_Move *ev = event_info;
70 // Evas_Object *win = data;
71 printf("MULTI: move @ %4i %4i | dev: %i\n", ev->cur.canvas.x, ev->cur.canvas.y, ev->device);
72 if (ev->device >= IND_NUM) return;
73 evas_object_move(indicator[ev->device], ev->cur.canvas.x, ev->cur.canvas.y);
74 evas_object_resize(indicator[ev->device], 1, 1);
81 test_multi(void *data, Evas_Object *obj, void *event_info)
83 Evas_Object *win, *bg, *r;
86 win = elm_win_add(NULL, "bg-plain", ELM_WIN_BASIC);
87 elm_win_title_set(win, "Bg Plain");
88 elm_win_autodel_set(win, 1);
91 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
92 elm_win_resize_object_add(win, bg);
95 r = evas_object_rectangle_add(evas_object_evas_get(win));
96 evas_object_color_set(r, 0, 0, 0, 0);
97 elm_win_resize_object_add(win, r);
100 for (i = 0; i < IND_NUM; i++)
104 snprintf(buf, sizeof(buf), "%s/objects/multip.edj", PACKAGE_DATA_DIR);
105 indicator[i] = edje_object_add(evas_object_evas_get(win));
106 edje_object_file_set(indicator[i], buf, "point");
109 evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down, win);
110 evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_UP, _mouse_up, win);
111 evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move, win);
112 evas_object_event_callback_add(r, EVAS_CALLBACK_MULTI_DOWN, _multi_down, win);
113 evas_object_event_callback_add(r, EVAS_CALLBACK_MULTI_UP, _multi_up, win);
114 evas_object_event_callback_add(r, EVAS_CALLBACK_MULTI_MOVE, _multi_move, win);
116 evas_object_size_hint_min_set(bg, 160, 160);
117 evas_object_resize(win, 480, 800);
119 evas_object_show(win);