Tizen Native API
3.0
|
ecore_evas_object_example.c
#include <Ecore.h> #include <Ecore_Evas.h> Evas_Object *cursor; static void _mouse_down_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { static Eina_Bool flag = EINA_FALSE; if (!flag) { ecore_evas_cursor_unset(data); ecore_evas_object_cursor_set(data, NULL, 0, 1, 1); } else ecore_evas_object_cursor_set(data, cursor, 0, 1, 1); flag = !flag; } int main(void) { Ecore_Evas *ee; Evas_Object *bg, *obj; int layer, x, y; ecore_evas_init(); ee = ecore_evas_new(NULL, 0, 0, 200, 200, NULL); ecore_evas_title_set(ee, "Ecore Evas Object Example"); ecore_evas_show(ee); bg = evas_object_rectangle_add(ecore_evas_get(ee)); evas_object_color_set(bg, 0, 0, 255, 255); evas_object_resize(bg, 200, 200); evas_object_show(bg); ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, ee); if (bg == ecore_evas_object_associate_get(ee)) printf("Association worked!\n"); cursor = evas_object_rectangle_add(ecore_evas_get(ee)); evas_object_color_set(cursor, 0, 255, 0, 255); evas_object_resize(cursor, 5, 10); ecore_evas_object_cursor_set(ee, cursor, 0, 1, 1); ecore_evas_cursor_get(ee, &obj, &layer, &x, &y); if (obj == cursor && layer == 0 && x == 1 && y == 1) printf("Set cursor worked!\n"); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; }