From 5018bd5a3d3cf0d29efd5c1580fa1938dbb905e6 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 18 Jan 2010 05:31:48 +0000 Subject: [PATCH] add visual feedback for multi-touch test SVN revision: 45274 --- legacy/elementary/data/objects/Makefile.am | 14 ++++++++-- legacy/elementary/data/objects/cross.png | Bin 0 -> 4708 bytes legacy/elementary/data/objects/multip.edc | 17 ++++++++++++ legacy/elementary/src/bin/test_multi.c | 29 +++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 legacy/elementary/data/objects/cross.png create mode 100644 legacy/elementary/data/objects/multip.edc diff --git a/legacy/elementary/data/objects/Makefile.am b/legacy/elementary/data/objects/Makefile.am index e70ed88c52..67947618eb 100644 --- a/legacy/elementary/data/objects/Makefile.am +++ b/legacy/elementary/data/objects/Makefile.am @@ -6,15 +6,25 @@ EDJE_FLAGS = -v -id $(top_srcdir)/data/objects -fd $(top_srcdir)/data/objects filesdir = $(datadir)/elementary/objects -files_DATA = test.edj +files_DATA = test.edj multip.edj EXTRA_DIST = \ -test.edc over.png under.png sky.jpg clo.png +test.edc \ +multip.edc \ +over.png \ +under.png \ +sky.jpg \ +clo.png test.edj: Makefile $(EXTRA_DIST) $(EDJE_CC) $(EDJE_FLAGS) \ $(top_srcdir)/data/objects/test.edc \ $(top_builddir)/data/objects/test.edj +multip.edj: Makefile $(EXTRA_DIST) + $(EDJE_CC) $(EDJE_FLAGS) \ + $(top_srcdir)/data/objects/multip.edc \ + $(top_builddir)/data/objects/multip.edj + clean-local: rm -f *.edj diff --git a/legacy/elementary/data/objects/cross.png b/legacy/elementary/data/objects/cross.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a7a871710c114af239e60e37e257d2880961d9 GIT binary patch literal 4708 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 literal 0 HcmV?d00001 diff --git a/legacy/elementary/data/objects/multip.edc b/legacy/elementary/data/objects/multip.edc new file mode 100644 index 0000000000..0396e11892 --- /dev/null +++ b/legacy/elementary/data/objects/multip.edc @@ -0,0 +1,17 @@ +collections { + group { name: "point"; + images { + image: "cross.png" COMP; + } + parts { + part { name: "sky"; + mouse_events: 0; + description { state: "default" 0.0; + min: 129 129; + image.normal: "cross.png"; + } + } + } + } +} + diff --git a/legacy/elementary/src/bin/test_multi.c b/legacy/elementary/src/bin/test_multi.c index 8dee69abbf..07f3008e1c 100644 --- a/legacy/elementary/src/bin/test_multi.c +++ b/legacy/elementary/src/bin/test_multi.c @@ -1,6 +1,10 @@ #include #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);