#include #include #include #include #include static void _cb_exit(Ecore_Evas *ee); static void _cb_key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); static void _cb_resize(Ecore_Evas *ee); int main(int arc, char **argv) { Ecore_Evas *ee; Evas *evas; Evas_Object *rect; int w, h; if (!ecore_init()) return 0; if (!ecore_evas_init()) return 0; ee = ecore_evas_software_x11_new(0, 0, 0, 0, 255, 255); if (!ee) return 0; ecore_evas_title_set(ee, "Test"); ecore_evas_name_class_set(ee, "Test", "Test"); ecore_evas_callback_delete_request_set(ee, _cb_exit); ecore_evas_callback_destroy_set(ee, _cb_exit); ecore_evas_callback_resize_set(ee, _cb_resize); ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); evas = ecore_evas_get(ee); rect = evas_object_rectangle_add(evas); evas_object_name_set(rect, "rect"); evas_object_color_set(rect, 255, 0, 0, 255); evas_object_move(rect, 0, 0); evas_object_resize(rect, w, h); evas_object_event_callback_add(rect, EVAS_CALLBACK_KEY_DOWN, _cb_key_down, NULL); evas_object_show(rect); ecore_evas_show(ee); ecore_main_loop_begin(); ecore_evas_shutdown(); ecore_shutdown(); return 0; } static void _cb_exit(Ecore_Evas *ee) { ecore_main_loop_quit(); } static void _cb_key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *ev; ev = event_info; printf("Callback Key Down: %s\n", ev->keyname); } static void _cb_resize(Ecore_Evas *ee) { Evas_Object *rect; int w, h; ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); rect = evas_object_name_find(ecore_evas_get(ee), "rect"); evas_object_move(rect, 0, 0); evas_object_resize(rect, w, h); }