Data Structures | |
| struct | _Eina_Rectangle |
Macros | |
| #define | EINA_RECTANGLE_SET(Rectangle, X, Y, W, H) |
| Macro to set the values of a Eina_Rectangle. | |
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. | |
Functions | |
| static int | eina_spans_intersect (int c1, int l1, int c2, int l2) |
| static Eina_Bool | eina_rectangle_is_empty (const Eina_Rectangle *r) |
| static void | eina_rectangle_coords_from (Eina_Rectangle *r, int x, int y, int w, int h) |
| static Eina_Bool | eina_rectangles_intersect (const Eina_Rectangle *r1, const Eina_Rectangle *r2) |
| static Eina_Bool | eina_rectangle_xcoord_inside (const Eina_Rectangle *r, int x) |
| static Eina_Bool | eina_rectangle_ycoord_inside (const Eina_Rectangle *r, int y) |
| static Eina_Bool | eina_rectangle_coords_inside (const Eina_Rectangle *r, int x, int y) |
| static void | eina_rectangle_union (Eina_Rectangle *dst, const Eina_Rectangle *src) |
| static Eina_Bool | eina_rectangle_intersection (Eina_Rectangle *dst, const Eina_Rectangle *src) |
| static void | eina_rectangle_rescale_in (const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) |
| static void | eina_rectangle_rescale_out (const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) |
| Eina_Rectangle_Pool * | eina_rectangle_pool_new (int w, int h) |
| Add a rectangle in a new pool. | |
| Eina_Rectangle_Pool * | eina_rectangle_pool_get (Eina_Rectangle *rect) |
| Return the pool of the given rectangle. | |
| Eina_Bool | eina_rectangle_pool_geometry_get (Eina_Rectangle_Pool *pool, int *w, int *h) |
| Return the width and height of the given pool. | |
| void * | eina_rectangle_pool_data_get (Eina_Rectangle_Pool *pool) |
| Get the data from the given pool. | |
| void | eina_rectangle_pool_data_set (Eina_Rectangle_Pool *pool, const void *data) |
| Set the data to the given pool. | |
| void | eina_rectangle_pool_free (Eina_Rectangle_Pool *pool) |
| Free the given pool. | |
| int | eina_rectangle_pool_count (Eina_Rectangle_Pool *pool) |
| Return the number of rectangles in the given pool. | |
| Eina_Rectangle * | eina_rectangle_pool_request (Eina_Rectangle_Pool *pool, int w, int h) |
| Request a rectangle of given size in the given pool. | |
| void | eina_rectangle_pool_release (Eina_Rectangle *rect) |
| Remove the given rectangle from the pool. | |
| Eina_Rectangle * | eina_rectangle_new (int x, int y, int w, int h) |
| Create a new rectangle. | |
| void | eina_rectangle_free (Eina_Rectangle *rect) |
| Free the given rectangle. | |
Detailed Description
These functions provide rectangle management.
Macro Definition Documentation
◆ EINA_RECTANGLE_SET
| #define EINA_RECTANGLE_SET | ( | Rectangle, | |
| X, | |||
| Y, | |||
| W, | |||
| H ) |
Macro to set the values of a Eina_Rectangle.
- Parameters
-
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().
Function Documentation
◆ eina_rectangle_pool_new()
| Eina_Rectangle_Pool * eina_rectangle_pool_new | ( | int | w, |
| int | h ) |
Add a rectangle in a new pool.
- Parameters
-
w The width of the rectangle. h The height of the rectangle.
- Returns
- A newly allocated pool on success,
NULLotherwise.
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 EINA_FALSE, eina_list_append(), EINA_MAGIC_SET, and eina_rectangle_new().
◆ eina_rectangle_pool_get()
| Eina_Rectangle_Pool * eina_rectangle_pool_get | ( | Eina_Rectangle * | rect | ) |
Return the pool of the given rectangle.
- Parameters
-
rect The rectangle.
- Returns
- The pool of the given rectangle.
This function returns the pool in which rect is. If rect is NULL, NULL is returned.
◆ eina_rectangle_pool_geometry_get()
| Eina_Bool eina_rectangle_pool_geometry_get | ( | Eina_Rectangle_Pool * | pool, |
| int * | w, | ||
| int * | h ) |
Return the width and height of the given pool.
- Parameters
-
pool The pool. w The returned width. h The returned height.
- Returns
- EINA_TRUE on success, EINA_FALSE otherwise.
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.
◆ eina_rectangle_pool_data_get()
| void * eina_rectangle_pool_data_get | ( | Eina_Rectangle_Pool * | pool | ) |
Get the data from the given pool.
- Parameters
-
pool The pool.
- Returns
- The returned data.
This function gets the data from pool set by eina_rectangle_pool_data_set(). If pool is NULL, this function returns NULL.
◆ eina_rectangle_pool_data_set()
| void eina_rectangle_pool_data_set | ( | Eina_Rectangle_Pool * | pool, |
| const void * | data ) |
Set the data to the given pool.
- Parameters
-
pool The pool. data The data to set.
This function sets data to pool. If pool is NULL, this function does nothing.
◆ eina_rectangle_pool_free()
| void eina_rectangle_pool_free | ( | Eina_Rectangle_Pool * | pool | ) |
Free the given pool.
- Parameters
-
pool The pool to free.
This function frees the allocated data of pool. If pool is NULL, this function returned immediately.
References EINA_INLIST_GET, EINA_MAGIC_NONE, and EINA_MAGIC_SET.
◆ eina_rectangle_pool_count()
| int eina_rectangle_pool_count | ( | Eina_Rectangle_Pool * | pool | ) |
Return the number of rectangles in the given pool.
- Parameters
-
pool The pool.
- Returns
- The number of rectangles in the pool.
This function returns the number of rectangles in pool.
◆ eina_rectangle_pool_request()
| Eina_Rectangle * eina_rectangle_pool_request | ( | Eina_Rectangle_Pool * | pool, |
| int | w, | ||
| int | h ) |
Request a rectangle of given size in the given pool.
- Parameters
-
pool The pool. w The width of the rectangle to request. h The height of the rectangle to request.
- Returns
- The requested rectangle on success,
NULLotherwise.
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 EINA_COMPARE_CB, EINA_FALSE, EINA_INLIST_GET, eina_inlist_prepend(), eina_list_sort(), EINA_MAGIC_SET, and EINA_TRUE.
◆ eina_rectangle_pool_release()
| void eina_rectangle_pool_release | ( | Eina_Rectangle * | rect | ) |
Remove the given rectangle from the pool.
- Parameters
-
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 EINA_FALSE, EINA_INLIST_GET, eina_inlist_remove(), EINA_MAGIC_NONE, EINA_MAGIC_SET, and eina_rectangle_new().
◆ eina_rectangle_new()
| Eina_Rectangle * eina_rectangle_new | ( | int | x, |
| int | y, | ||
| int | w, | ||
| int | h ) |
Create a new rectangle.
- Parameters
-
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.
- Returns
- The new rectangle on success, @ NULL otherwise.
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 EINA_RECTANGLE_SET.
Referenced by eina_rectangle_pool_new(), and eina_rectangle_pool_release().
◆ eina_rectangle_free()
| void eina_rectangle_free | ( | Eina_Rectangle * | rect | ) |
Free the given rectangle.
- Parameters
-
rect The rectangle to free.
This function removes rect from the rectangles pool.
