|
|
|
@ -1,6 +1,10 @@ |
|
|
|
|
#include <Elementary.h> |
|
|
|
|
#ifndef ELM_LIB_QUICKLAUNCH |
|
|
|
|
|
|
|
|
|
#define IND_NUM 20 |
|
|
|
|
|
|
|
|
|
static Evas_Object *indicator[IND_NUM]; |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
|
_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
{ |
|
|
|
@ -9,6 +13,9 @@ _mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
|
|
|
|
|
if (ev->button != 1) return; |
|
|
|
|
printf("MOUSE: down @ %4i %4i\n", ev->canvas.x, ev->canvas.y); |
|
|
|
|
evas_object_move(indicator[0], ev->canvas.x, ev->canvas.y); |
|
|
|
|
evas_object_resize(indicator[0], 1, 1); |
|
|
|
|
evas_object_show(indicator[0]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
@ -18,6 +25,7 @@ _mouse_up(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
Evas_Object *win = data; |
|
|
|
|
if (ev->button != 1) return; |
|
|
|
|
printf("MOUSE: up @ %4i %4i\n", ev->canvas.x, ev->canvas.y); |
|
|
|
|
evas_object_hide(indicator[0]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
@ -26,6 +34,8 @@ _mouse_move(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
Evas_Event_Mouse_Move *ev = event_info; |
|
|
|
|
Evas_Object *win = data; |
|
|
|
|
printf("MOUSE: move @ %4i %4i\n", ev->cur.canvas.x, ev->cur.canvas.y); |
|
|
|
|
evas_object_move(indicator[0], ev->cur.canvas.x, ev->cur.canvas.y); |
|
|
|
|
evas_object_resize(indicator[0], 1, 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -37,6 +47,10 @@ _multi_down(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
Evas_Event_Multi_Down *ev = event_info; |
|
|
|
|
Evas_Object *win = data; |
|
|
|
|
printf("MULTI: down @ %4i %4i | dev: %i\n", ev->canvas.x, ev->canvas.y, ev->device); |
|
|
|
|
if (ev->device >= IND_NUM) return; |
|
|
|
|
evas_object_move(indicator[ev->device], ev->canvas.x, ev->canvas.y); |
|
|
|
|
evas_object_resize(indicator[ev->device], 1, 1); |
|
|
|
|
evas_object_show(indicator[ev->device]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
@ -45,6 +59,8 @@ _multi_up(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
Evas_Event_Multi_Up *ev = event_info; |
|
|
|
|
Evas_Object *win = data; |
|
|
|
|
printf("MULTI: up @ %4i %4i | dev: %i\n", ev->canvas.x, ev->canvas.y, ev->device); |
|
|
|
|
if (ev->device >= IND_NUM) return; |
|
|
|
|
evas_object_hide(indicator[ev->device]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void |
|
|
|
@ -53,6 +69,9 @@ _multi_move(void *data, Evas *e, Evas_Object *o, void *event_info) |
|
|
|
|
Evas_Event_Multi_Move *ev = event_info; |
|
|
|
|
Evas_Object *win = data; |
|
|
|
|
printf("MULTI: move @ %4i %4i | dev: %i\n", ev->cur.canvas.x, ev->cur.canvas.y, ev->device); |
|
|
|
|
if (ev->device >= IND_NUM) return; |
|
|
|
|
evas_object_move(indicator[ev->device], ev->cur.canvas.x, ev->cur.canvas.y); |
|
|
|
|
evas_object_resize(indicator[ev->device], 1, 1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -62,6 +81,7 @@ void |
|
|
|
|
test_multi(void *data, Evas_Object *obj, void *event_info) |
|
|
|
|
{ |
|
|
|
|
Evas_Object *win, *bg, *r; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
win = elm_win_add(NULL, "bg-plain", ELM_WIN_BASIC); |
|
|
|
|
elm_win_title_set(win, "Bg Plain"); |
|
|
|
@ -77,6 +97,15 @@ test_multi(void *data, Evas_Object *obj, void *event_info) |
|
|
|
|
elm_win_resize_object_add(win, r); |
|
|
|
|
evas_object_show(r); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < IND_NUM; i++) |
|
|
|
|
{ |
|
|
|
|
char buf[PATH_MAX]; |
|
|
|
|
|
|
|
|
|
snprintf(buf, sizeof(buf), "%s/objects/multip.edj", PACKAGE_DATA_DIR); |
|
|
|
|
indicator[i] = edje_object_add(evas_object_evas_get(win)); |
|
|
|
|
edje_object_file_set(indicator[i], buf, "point"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down, win); |
|
|
|
|
evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_UP, _mouse_up, win); |
|
|
|
|
evas_object_event_callback_add(r, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move, win); |
|
|
|
|