These functions provide rectangle management. More...
Data Structures | |
| struct | _Eina_Rectangle |
Macros | |
| #define | EINA_RECTANGLE_INIT { 0, 0, 0, 0} |
| #define | EINA_RECTANGLE_FORMAT "dx%d - %dx%d" |
| #define | EINA_RECTANGLE_ARGS(r) (r)->x, (r)->y, (r)->w, (r)->h |
| #define | EINA_RECTANGLE_SET(Rectangle, X, Y, W, H) |
| Macro to set the values of a Eina_Rectangle. More... | |
Typedefs | |
| typedef struct _Eina_Rectangle | Eina_Rectangle |
| Simple rectangle structure. | |
| typedef struct _Eina_Rectangle_Pool | Eina_Rectangle_Pool |
| Type for an opaque pool of rectangle. | |
Variables | |
| static Eina_Bool | EINA_WARN_UNUSED_RESULT |
These functions provide rectangle management.
| #define EINA_RECTANGLE_SET | ( | Rectangle, | |
| X, | |||
| Y, | |||
| W, | |||
| H | |||
| ) |
Macro to set the values of a Eina_Rectangle.
| Rectangle | The rectangle to set the values. |
| X | The X coordinate of the top left corner of the rectangle. |
| Y | The Y coordinate of the top left corner of the rectangle. |
| W | The width of the rectangle. |
| H | The height of the rectangle. |
This macro set the values of Rectangle. (X, Y) is the coordinates of the top left corner of Rectangle, W is its width and H is its height.
Referenced by eina_rectangle_new(), and evas_obscured_clear().
| EAPI Eina_Rectangle_Pool* eina_rectangle_pool_new | ( | int | w, |
| int | h | ||
| ) |
Add a rectangle in a new pool.
| w | The width of the rectangle. |
| h | The height of the rectangle. |
NULL otherwise.This function adds the rectangle of size (width, height) to a new pool. If the pool can not be created, NULL is returned. Otherwise the newly allocated pool is returned.
References EAPI, EINA_FALSE, eina_list_append(), EINA_MAGIC_SET, and eina_rectangle_new().
| EAPI Eina_Rectangle_Pool* eina_rectangle_pool_get | ( | Eina_Rectangle * | rect | ) |
Return the pool of the given rectangle.
| rect | The rectangle. |
This function returns the pool in which rect is. If rect is NULL, NULL is returned.
References EAPI.
| EAPI Eina_Bool eina_rectangle_pool_geometry_get | ( | Eina_Rectangle_Pool * | pool, |
| int * | w, | ||
| int * | h | ||
| ) |
Return the width and height of the given pool.
| pool | The pool. |
| w | The returned width. |
| h | The returned height. |
This function returns the width and height of pool and store them in respectively w and h if they are not NULL. If pool is NULL, EINA_FALSE is returned. Otherwise EINA_TRUE is returned.
References EINA_FALSE, and EINA_TRUE.
| EAPI void* eina_rectangle_pool_data_get | ( | Eina_Rectangle_Pool * | pool | ) |
Get the data from the given pool.
| pool | The pool. |
This function gets the data from pool set by eina_rectangle_pool_data_set(). If pool is NULL, this function returns NULL.
References EAPI.
| EAPI void eina_rectangle_pool_data_set | ( | Eina_Rectangle_Pool * | pool, |
| const void * | data | ||
| ) |
Set the data to the given pool.
| pool | The pool. |
| data | The data to set. |
This function sets data to pool. If pool is NULL, this function does nothing.
References EAPI.
| EAPI void eina_rectangle_pool_free | ( | Eina_Rectangle_Pool * | pool | ) |
Free the given pool.
| pool | The pool to free. |
This function frees the allocated data of pool. If pool is NULL, this function returned immediately.
References EAPI, EINA_INLIST_GET, EINA_MAGIC_NONE, and EINA_MAGIC_SET.
| EAPI int eina_rectangle_pool_count | ( | Eina_Rectangle_Pool * | pool | ) |
Return the number of rectangles in the given pool.
| pool | The pool. |
This function returns the number of rectangles in pool.
References EAPI.
| EAPI Eina_Rectangle* eina_rectangle_pool_request | ( | Eina_Rectangle_Pool * | pool, |
| int | w, | ||
| int | h | ||
| ) |
Request a rectangle of given size in the given pool.
| pool | The pool. |
| w | The width of the rectangle to request. |
| h | The height of the rectangle to request. |
NULL otherwise.This function retrieve from pool the rectangle of width w and height h. If pool is NULL, or w or h are non-positive, the function returns NULL. If w or h are greater than the pool size, the function returns NULL. On success, the function returns the rectangle which matches the size (w, h). Otherwise it returns NULL.
References EAPI, EINA_COMPARE_CB, EINA_FALSE, EINA_INLIST_GET, eina_inlist_prepend(), eina_list_sort(), EINA_MAGIC_SET, EINA_TRUE, and _Eina_Rectangle::w.
| EAPI void eina_rectangle_pool_release | ( | Eina_Rectangle * | rect | ) |
Remove the given rectangle from the pool.
| rect | The rectangle to remove from the pool. |
This function removes rect from the pool. If rect is NULL, the function returns immediately. Otherwise it removes rect from the pool.
References EAPI, EINA_FALSE, EINA_INLIST_GET, eina_inlist_remove(), EINA_MAGIC_NONE, EINA_MAGIC_SET, eina_rectangle_new(), _Eina_Rectangle::h, _Eina_Rectangle::w, _Eina_Rectangle::x, and _Eina_Rectangle::y.
| EAPI Eina_Rectangle* eina_rectangle_new | ( | int | x, |
| int | y, | ||
| int | w, | ||
| int | h | ||
| ) |
Create a new rectangle.
| x | The X coordinate of the top left corner of the rectangle. |
| y | The Y coordinate of the top left corner of the rectangle. |
| w | The width of the rectangle. |
| h | The height of the rectangle. |
This function creates a rectangle which top left corner has the coordinates (x, y), with height w and height h and adds it to the rectangles pool. No check is done on w and h. This function returns a new rectangle on success, NULL otherwhise.
References EAPI, and EINA_RECTANGLE_SET.
Referenced by eina_rectangle_pool_new(), eina_rectangle_pool_release(), and evas_obscured_clear().
| EAPI void eina_rectangle_free | ( | Eina_Rectangle * | rect | ) |
Free the given rectangle.
| rect | The rectangle to free. |
This function removes rect from the rectangles pool.
References EAPI.
Referenced by evas_free(), evas_image_max_size_get(), evas_object_image_data_update_add(), evas_obscured_clear(), and evas_render_updates_free().