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().