Tizen Native API
|
This goup provides functions that are used to set the render engine for a given function, and then get that engine working.
- Remarks:
- The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine:
Functions | |
int | evas_render_method_lookup (const char *name) |
Looks up a numeric ID from a string name of a rendering engine. | |
Eina_List * | evas_render_method_list (void) |
Lists all the rendering engines compiled into the copy of the Evas library. | |
void | evas_render_method_list_free (Eina_List *list) |
Frees the list of engine names. | |
void | evas_output_method_set (Evas *e, int render_method) |
Sets the output engine for the given evas. | |
int | evas_output_method_get (const Evas *e) |
Gets the number of the output engines used for the given evas. | |
Evas_Engine_Info * | evas_engine_info_get (const Evas *e) |
Gets the current render engine info struct from the given evas. | |
Eina_Bool | 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. |
Function Documentation
Evas_Engine_Info* evas_engine_info_get | ( | const Evas * | e | ) |
Gets the current render engine info struct from the given evas.
- Since :
- 2.3.1
- Remarks:
- The returned structure is publicly modifiable. The contents are valid until either evas_engine_info_set or evas_render are called.
- You do not have to free this structure.
- Parameters:
-
[in] e The given evas
- Returns:
- A pointer to the Engine Info structure
NULL
is returned if an engine has not yet been assigned.
Eina_Bool 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.
- Since :
- 2.3.1
- Remarks:
- To get the Evas_Engine_Info structure to use, call evas_engine_info_get. Do not try to obtain a pointer to an
Evas_Engine_Info
structure in any other way. - You 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 info pointer should be considered invalid.
- Parameters:
-
[in] e The pointer to the Evas canvas [in] info The pointer to the Engine Info to use
- Returns:
- EINA_TRUE if the engine setting is applied successfully,
otherwise EINA_FALSE if an error occurred
int evas_output_method_get | ( | const Evas * | e | ) |
Gets the number of the output engines used for the given evas.
- Since :
- 2.3.1
- Parameters:
-
[in] e The given evas
- Returns:
- The ID number of the output engine being used
0
is returned if there is an error.
void evas_output_method_set | ( | Evas * | e, |
int | render_method | ||
) |
Sets the output engine for the given evas.
- Since :
- 2.3.1
- Remarks:
- Once the output engine for an evas is set, any attempt to change it is ignored. The value for render_method can be found using evas_render_method_lookup.
- Parameters:
-
[in] e The given evas [in] render_method The numeric engine value to use
Eina_List* evas_render_method_list | ( | void | ) |
Lists all the rendering engines compiled into the copy of the Evas library.
- Since :
- 2.3.1
- Remarks:
- Calling this returns a handle (pointer) to an Evas linked list. Each node in the linked list has the data pointer be a (char *) pointer to the name string of the rendering engine available. The strings should never be modified, neither should the list be modified. This list should be cleaned up as soon as the program no longer needs it using evas_render_method_list_free(). If no engines are available from Evas,
NULL
is returned. -
The following is an example:
Eina_List *engine_list, *l; char *engine_name; engine_list = evas_render_method_list(); if (!engine_list) { fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); exit(-1); } printf("Available Evas Engines:\n"); EINA_LIST_FOREACH(engine_list, l, engine_name) printf("%s\n", engine_name); evas_render_method_list_free(engine_list);
- Returns:
- A linked list whose data members are C strings of engine names
void evas_render_method_list_free | ( | Eina_List * | list | ) |
Frees the list of engine names.
- Since :
- 2.3.1
- Remarks:
- When this function is called it frees the engine list passed in as list. The list should only be a list of engines generated by calling evas_render_method_list(). If list is NULL, nothing happens.
Example:
Eina_List *engine_list, *l; char *engine_name; engine_list = evas_render_method_list(); if (!engine_list) { fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n"); exit(-1); } printf("Available Evas Engines:\n"); EINA_LIST_FOREACH(engine_list, l, engine_name) printf("%s\n", engine_name); evas_render_method_list_free(engine_list);
- Parameters:
-
[in] list The Eina_List base pointer for the engine list to be freed
int evas_render_method_lookup | ( | const char * | name | ) |
Looks up a numeric ID from a string name of a rendering engine.
This function looks up a numeric return value for the named engine in the string name. This is a normal C string, NULL 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.
- Since :
- 2.3.1
- Remarks:
- You should NEVER rely on the numeric ID of an engine unless it is returned by this function. You should NOT write programs written accessing render method ID's directly, without first obtaining it from this function.
- The following is an example.
- Parameters:
-
[in] name The name string of an engine
- Returns:
- A numeric (opaque) ID for the rendering engine