PREFIX value ml_ecore_evas_engines_get(value v_unit CAMLunused) { Eina_List* list = ecore_evas_engines_get(); value v = copy_Eina_List_string(list); ecore_evas_engines_free(list); return v; }
int64_t ui_wiondow_frame_create(struct ui_object *frame){ ecore_evas_init(); // create your canvas // NOTE: consider using ecore_evas_buffer_new() instead! struct _frame_window *fwin = (struct _frame_window*) malloc(sizeof(struct _frame_window)); char *data; Eina_List *l, *engines = ecore_evas_engines_get(); printf("Available engines:\n"); EINA_LIST_FOREACH(engines, l, data) printf("%s\n", data); ecore_evas_engines_free(engines); fwin->canvas = ecore_evas_new("opengl_x11", 0, 0, frame->w, frame->h, NULL); if (!fwin->canvas) return -1; ecore_evas_show(fwin->canvas); struct ui_frame *frame_obj = (struct _ui_window*) malloc(sizeof(struct ui_frame)); frame_obj->data = fwin; frame_obj->ui = *frame; frame_obj->canvas = ecore_evas_get(fwin->canvas); return id_keeper_gen(id_keeper, frame_obj); }
int main(void) { Ecore_Evas *ee; Evas *canvas; Evas_Object *bg; Eina_List *engines, *l; char *data; if (ecore_evas_init() <= 0) return 1; engines = ecore_evas_engines_get(); printf("Available engines:\n"); EINA_LIST_FOREACH(engines, l, data) printf("%s\n", data); ecore_evas_engines_free(engines); ee = ecore_evas_new(NULL, 0, 0, 200, 200, NULL); ecore_evas_title_set(ee, "Ecore Evas basics Example"); ecore_evas_show(ee); data = malloc(sizeof(char) * 6); sprintf(data, "%s", "hello"); ecore_evas_data_set(ee, "key", data); ecore_evas_callback_delete_request_set(ee, _on_delete); printf("Using %s engine!\n", ecore_evas_engine_name_get(ee)); canvas = ecore_evas_get(ee); if (ecore_evas_ecore_evas_get(canvas) == ee) printf("Everything is sane!\n"); bg = evas_object_rectangle_add(canvas); 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); ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _stdin_cb, NULL, NULL, NULL); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; }