Functions | |
void | evas_output_method_set (Evas *e, int render_method) |
Sets the output engine for the given evas. | |
int | evas_output_method_get (Evas *e) |
Retrieves the number of the output engine used for the given evas. | |
Evas_Engine_Info * | evas_engine_info_get (Evas *e) |
Retrieves the current render engine info struct from the given evas. | |
void | evas_engine_info_set (Evas *e, Evas_Engine_Info *info) |
Applies the engine settings for the given evas from the given Evas_Engine_Info structure. | |
int | evas_render_method_lookup (const char *name) |
Look up a numeric ID from a string name of a rendering engine. | |
Evas_List * | evas_render_method_list (void) |
List all the rendering engines compiled into the copy of the Evas library. | |
void | evas_render_method_list_free (Evas_List *list) |
This function should be called to free a list of engine names. |
The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine:
Evas *evas; Evas_Engine_Info_Software_X11 *einfo; extern Display *display; extern Window win; evas = evas_new(); evas_output_method_set(evas, evas_render_method_lookup("software_x11")); evas_output_size_set(evas, 640, 480); evas_output_viewport_set(evas, 0, 0, 640, 480); einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas); einfo->info.display = display; einfo->info.visual = DefaultVisual(display, DefaultScreen(display)); einfo->info.colormap = DefaultColormap(display, DefaultScreen(display)); einfo->info.drawable = win; einfo->info.depth = DefaultDepth(display, DefaultScreen(display)); evas_engine_info_set(evas, (Evas_Engine_Info *)einfo);
|
Retrieves the current render engine info struct from the given evas. The returned structure is publicly modifiable. The contents are valid until either evas_engine_info_set or evas_render are called. This structure does not need to be freed by the caller.
|
|
Applies the engine settings for the given evas from the given
To get the Evas_Engine_Info structure to use, call evas_engine_info_get . Do not try to obtain a pointer to an You will need to call this function at least once before you can create objects on an evas or render that evas. Some engines allow their settings to be changed more than once.
Once called, the Example:
|
|
Retrieves the number of the output engine used for the given evas.
|
|
Sets the output engine for the given evas.
Once the output engine for an evas is set, any attempt to change it will be ignored. The value for
|
|
List all the rendering engines compiled into the copy of the Evas library.
Example: Evas_List *engine_list, *l; engine_list = evas_render_method_list(); if (!engine_list) { fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); exit(-1); } printf("Availible Evas Engines:\n"); for (l = engine_list; l; l = l->next) { char *engine_name; engine_name = l->data; printf("%s\n", engine_name); } evas_render_method_list_free(engine_list); |
|
This function should be called to free a list of engine names.
list . The list should only be a list of engines generated by calling evas_render_method_list(). If list is NULL, nothing will happen.Example: Evas_List *engine_list, *l; engine_list = evas_render_method_list(); if (!engine_list) { fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); exit(-1); } printf("Availible Evas Engines:\n"); for (l = engine_list; l; l = l->next) { char *engine_name; engine_name = l->data; printf("%s\n", engine_name); } evas_render_method_list_free(engine_list); |
|
Look up a numeric ID from a string name of a rendering engine.
name . This is a normal C string, NUL byte terminated. The name is case sensitive. If the rendering engine is available, a numeric ID for that engine is returned that is not 0. If the engine is not available, 0 is returned, indicating an invalid engine.The programmer should NEVER rely on the numeric ID of an engine unless it is returned by this function. Programs should NOT be written accessing render method ID's directly, without first obtaining it from this function. Example: int engine_id; Evas *evas; evas = evas_new(); if (!evas) { fprintf(stderr, "ERROR: Canvas creation failed. Fatal error.\n"); exit(-1); } engine_id = evas_render_method_lookup("software_x11"); if (!engine_id) { fprintf(stderr, "ERROR: Requested rendering engine is absent.\n"); exit(-1); } evas_output_method_set(evas, engine_id); |