int main(void) { Ecore_Evas *ee; ecore_evas_init(); ee = ecore_evas_new(NULL, 0, 0, 200, 100, NULL); ecore_evas_title_set(ee, "Ecore Evas Callbacks Example"); ecore_evas_show(ee); //callbacks ecore_evas_callback_delete_request_set(ee, _delete); ecore_evas_callback_destroy_set(ee, _destroy); ecore_evas_callback_focus_in_set(ee, _focus_in); ecore_evas_callback_focus_out_set(ee, _focus_out); ecore_evas_callback_hide_set(ee, _hide); ecore_evas_callback_mouse_in_set(ee, _mouse_in); ecore_evas_callback_mouse_out_set(ee, _mouse_out); ecore_evas_callback_move_set(ee, _move); ecore_evas_callback_post_render_set(ee, _post_render); ecore_evas_callback_pre_free_set(ee, _pre_free); ecore_evas_callback_pre_render_set(ee, _pre_render); ecore_evas_callback_resize_set(ee, _resize); ecore_evas_callback_show_set (ee, _show); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; }
void EcoreEvasWindow::setEventEnabled( Event e, bool on ) { switch( e ) { case Resize: ecore_evas_callback_resize_set( _ee, on? &callback_resize_dispatcher:0 ); break; case Move: ecore_evas_callback_move_set( _ee, on? &callback_move_dispatcher:0 ); break; case Show: ecore_evas_callback_show_set( _ee, on? &callback_show_dispatcher:0 ); break; case Hide: ecore_evas_callback_hide_set( _ee, on? &callback_hide_dispatcher:0 ); break; case DeleteRequest: ecore_evas_callback_delete_request_set( _ee, on? &callback_delete_request_dispatcher:0 ); break; case Destroy: ecore_evas_callback_destroy_set( _ee, on? &callback_destroy_dispatcher:0 ); break; case FocusIn: ecore_evas_callback_focus_in_set( _ee, on? &callback_focus_in_dispatcher:0 ); break; case FocusOut: ecore_evas_callback_focus_out_set( _ee, on? &callback_focus_out_dispatcher:0 ); break; case MouseIn: ecore_evas_callback_mouse_in_set( _ee, on? &callback_mouse_in_dispatcher:0 ); break; case MouseOut: ecore_evas_callback_mouse_out_set( _ee, on? &callback_mouse_out_dispatcher:0 ); break; case PreRender: ecore_evas_callback_pre_render_set( _ee, on? &callback_pre_render_dispatcher:0 ); break; case PostRender: ecore_evas_callback_post_render_set( _ee, on? &callback_post_render_dispatcher:0 ); break; default: assert( 0 ); } }
Elicit * elicit_new() { Elicit *el; char buf[PATH_MAX]; char *dir; el = calloc(sizeof(Elicit), 1); el->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 500, 500); if (!el->ee) { fprintf(stderr, "[Elicit] Error creating new ecore evas\n"); free(el); return NULL; } el->evas = ecore_evas_get(el->ee); ecore_evas_title_set(el->ee, "Elicit"); ecore_evas_name_class_set(el->ee, "Elicit", "Elicit"); ecore_evas_borderless_set(el->ee, 1); // XXX get correct screen number if (ecore_x_screen_is_composited(0)) ecore_evas_alpha_set(el->ee, 1); else ecore_evas_shaped_set(el->ee, 1); ecore_evas_data_set(el->ee, "Elicit", el); ecore_evas_callback_resize_set(el->ee, cb_ee_resize); ecore_evas_callback_mouse_in_set(el->ee, cb_ee_mouse_in); ecore_evas_callback_mouse_out_set(el->ee, cb_ee_mouse_out); ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CONFIGURE, cb_x_configure, el); el->obj.main = edje_object_add(el->evas); /* setup paths */ dir = br_find_data_dir(DATADIR); snprintf(buf, sizeof(buf), "%s/%s/", dir, PACKAGE); if (!ecore_file_exists(buf)) { fprintf(stderr, "[Elicit] Warning: falling back to hardcoded data dir.\n"); snprintf(buf, sizeof(buf), "%s/%s/", DATADIR, PACKAGE); } el->path.datadir = strdup(buf); free(dir); if (getenv("HOME")) { snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/", getenv("HOME")); if (!ecore_file_is_dir(buf)) ecore_file_mkpath(buf); el->path.confdir = strdup(buf); snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/elicit.conf", getenv("HOME")); el->path.conffile = strdup(buf); snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/elicit.gpl", getenv("HOME")); el->path.palette = strdup(buf); } /* color */ el->color = color_new(); color_callback_changed_add(el->color, cb_color_changed, el); /* palette */ el->palette = palette_new(); palette_load(el->palette, el->path.palette); return el; }