forked from enlightenment/efl
add visual feedback for multi-touch test
SVN revision: 45274
This commit is contained in:
parent
03dde19ac8
commit
5018bd5a3d
|
@ -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
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue