rendered paste body#include <Evas.h>
#include <Ecore.h>
#include <Ecore_Evas.h>
#include <stdio.h>
#include <stdlib.h>
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);
}