Rectangle

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Rectangle
Eina » Tools

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.

## Enumerations
enum | Eina_Rectangle_Packing { Eina_Packing_Descending, Eina_Packing_Ascending, Eina_Packing_Bottom_Left, Eina_Packing_Bottom_Left_Skyline, Eina_Packing_Bottom_Left_Skyline_Improved }

## Functions
static int | eina_spans_intersect (int c1, int l1, int c2, int l2) EINA_WARN_UNUSED_RESULT
| Check if the given spans intersect. More...
static Eina_Bool | eina_rectangle_is_empty (const Eina_Rectangle *r) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Check if the given rectangle is empty. More...
static void | eina_rectangle_coords_from (Eina_Rectangle *r, int x, int y, int w, int h) EINA_ARG_NONNULL(1)
| Set the coordinates and size of the given rectangle. More...
static Eina_Bool | eina_rectangles_intersect (const Eina_Rectangle *r1, const Eina_Rectangle *r2) EINA_ARG_NONNULL(1
| Check if the given rectangles intersect. More...
static Eina_Bool | eina_rectangle_xcoord_inside (const Eina_Rectangle *r, int x) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Check if the given x-coordinate is in the rectangle . More...
static Eina_Bool | eina_rectangle_ycoord_inside (const Eina_Rectangle *r, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Check if the given y-coordinate is in the rectangle . More...
static Eina_Bool | eina_rectangle_coords_inside (const Eina_Rectangle *r, int x, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Check if the given point is in the rectangle . More...
static void | eina_rectangle_union (Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1
| Get the union of two rectangles. More...
static void static Eina_Bool | eina_rectangle_intersection (Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1
| Get the intersection of two rectangles. More...
static void | eina_rectangle_rescale_in (const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1
| FIXME I am useless and used by no one. More...
static void static void | eina_rectangle_rescale_out (const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1
| FIXME I am useless and used by no one. More...
static void static void static Eina_Bool | eina_rectangle_is_valid (const Eina_Rectangle *r) EINA_ARG_NONNULL(1)
| Tells whether a rectangle is valid or not. More...
static int | eina_rectangle_max_x (Eina_Rectangle *thiz) EINA_ARG_NONNULL(1)
| Gives the rectangle maximum x coordinate. More...
static int | eina_rectangle_max_y (Eina_Rectangle *thiz) EINA_ARG_NONNULL(1)
| Gives the rectangle maximum y coordinate. More...
static Eina_Bool | eina_rectangle_x_cut (Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1)
| Slices a rectangle vertically into two subrectangles starting from left edge. More...
static Eina_Bool | eina_rectangle_y_cut (Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1)
| Slices a rectangle horizontally into two subrectangles starting from bottom edge. More...
static Eina_Bool | eina_rectangle_width_cut (Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1)
| Slices a rectangle vertically starting from right edge. More...
static Eina_Bool | eina_rectangle_height_cut (Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1)
| Slices a rectangle horizontally starting from top edge. More...
static Eina_Bool | eina_rectangle_subtract (Eina_Rectangle *thiz, Eina_Rectangle *other, Eina_Rectangle out[4]) EINA_ARG_NONNULL(1)
| Subtract two rectangles. More...
EAPI Eina_Rectangle_Pool * | eina_rectangle_pool_new (int w, int h) EINA_MALLOC EINA_WARN_UNUSED_RESULT
| Add a rectangle in a new pool. More...
EAPI Eina_Rectangle_Pool * | eina_rectangle_pool_get (Eina_Rectangle *rect) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)
| Return the pool of the given rectangle. More...
EAPI Eina_Bool | eina_rectangle_pool_geometry_get (Eina_Rectangle_Pool *pool, int *w, int *h) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Return the width and height of the given pool. More...
EAPI void * | eina_rectangle_pool_data_get (Eina_Rectangle_Pool *pool) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)
| Get the data from the given pool. More...
EAPI void | eina_rectangle_pool_data_set (Eina_Rectangle_Pool *pool, const void *data) EINA_ARG_NONNULL(1)
| Set the data to the given pool. More...
EAPI void | eina_rectangle_pool_free (Eina_Rectangle_Pool *pool) EINA_ARG_NONNULL(1)
| Free the given pool. More...
EAPI int | eina_rectangle_pool_count (Eina_Rectangle_Pool *pool) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
| Return the number of rectangles in the given pool. More...
EAPI Eina_Rectangle * | eina_rectangle_pool_request (Eina_Rectangle_Pool *pool, int w, int h) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)
| Request a rectangle of given size in the given pool. More...
EAPI void | eina_rectangle_pool_release (Eina_Rectangle *rect) EINA_ARG_NONNULL(1)
| Remove the given rectangle from the pool. More...
EAPI Eina_Rectangle * | eina_rectangle_new (int x, int y, int w, int h) EINA_MALLOC EINA_WARN_UNUSED_RESULT
| Create a new rectangle. More...
EAPI void | eina_rectangle_free (Eina_Rectangle *rect) EINA_ARG_NONNULL(1)
| Free the given rectangle. More...
EAPI void | eina_rectangle_pool_packing_set (Eina_Rectangle_Pool *pool, Eina_Rectangle_Packing type) EINA_ARG_NONNULL(1)
| Sets the type of given rectangle pool. More...

## Variables
static Eina_Bool | EINA_WARN_UNUSED_RESULT

## Detailed Description

These functions provide rectangle management.

## Macro Definition Documentation

#define EINA_RECTANGLE_SET | ( |  | Rectangle,
|  |  | X,
|  |  | Y,
|  |  | W,
|  |  | H
| ) |  |

Value:
{ \
(Rectangle)->x = X; \
(Rectangle)->y = Y; \
(Rectangle)->w = W; \
(Rectangle)->h = 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().

## Enumeration Type Documentation

enum Eina_Rectangle_Packing

Enumerator
Eina_Packing_Descending | Current.
Eina_Packing_Ascending | sorting in assending order
Eina_Packing_Bottom_Left | sorting in bottemleft fasion
Eina_Packing_Bottom_Left_Skyline | bottemleft skyline
Eina_Packing_Bottom_Left_Skyline_Improved | optimized bottemleft skyline

## Function Documentation

static int eina_spans_intersect | ( | int | c1,
|  | int | l1,
|  | int | c2,
|  | int | l2
| ) |  |
| inlinestatic

Check if the given spans intersect.

Parameters

  c1 | The column of the first span.
  l1 | The length of the first span.
  c2 | The column of the second span.
  l2 | The length of the second span.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This function returns EINA_TRUE if the given spans intersect, EINA_FALSE otherwise.

static Eina_Bool eina_rectangle_is_empty | ( | const Eina_Rectangle * | r | ) |
| inlinestatic

Check if the given rectangle is empty.

Parameters

  r | The rectangle to check.

Returns
  EINA_TRUE if the rectangle is empty, EINA_FALSE otherwise.

This function returns EINA_TRUE if `r` is empty, EINA_FALSE otherwise. No check is done on `r`, so it must be a valid rectangle.

static void eina_rectangle_coords_from | ( | Eina_Rectangle * | r,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h
| ) |  |
| inlinestatic

Set the coordinates and size of the given rectangle.

Parameters

  r | The rectangle.
  x | The top-left x coordinate of the rectangle.
  y | The top-left y coordinate of the rectangle.
  w | The width of the rectangle.
  h | The height of the rectangle.

This function sets its top-left x coordinate to `x`, its top-left y coordinate to `y`, its width to `w` and its height to `h`. No check is done on `r`, so it must be a valid rectangle.

Referenced by eina_rectangle_pool_request().

static Eina_Bool eina_rectangles_intersect | ( | const Eina_Rectangle * | r1,
|  | const Eina_Rectangle * | r2
| ) |  |
| inlinestatic

Check if the given rectangles intersect.

Parameters

  r1 | The first rectangle.
  r2 | The second rectangle.

Returns
  EINA_TRUE if the rectangles intersect, EINA_FALSE otherwise.

This function returns EINA_TRUE if `r1` and `r2` intersect, EINA_FALSE otherwise. No check is done on `r1` and `r2`, so they must be valid rectangles.

Referenced by ecore_x_randr_crtc_mode_get(), eina_tiler_equal(), and eina_tiler_intersection().

static Eina_Bool eina_rectangle_xcoord_inside | ( | const Eina_Rectangle * | r,
|  | int | x
| ) |  |
| inlinestatic

Check if the given x-coordinate is in the rectangle .

Parameters

  r | The rectangle.
  x | The x coordinate.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This function returns EINA_TRUE if `x` is in `r` with respect to the horizontal direction, EINA_FALSE otherwise. No check is done on `r`, so it must be a valid rectangle.

static Eina_Bool eina_rectangle_ycoord_inside | ( | const Eina_Rectangle * | r,
|  | int | y
| ) |  |
| inlinestatic

Check if the given y-coordinate is in the rectangle .

Parameters

  r | The rectangle.
  y | The y coordinate.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This function returns EINA_TRUE if `y` is in `r` with respect to the vertical direction, EINA_FALSE otherwise. No check is done on `r`, so it must be a valid rectangle.

static Eina_Bool eina_rectangle_coords_inside | ( | const Eina_Rectangle * | r,
|  | int | x,
|  | int | y
| ) |  |
| inlinestatic

Check if the given point is in the rectangle .

Parameters

  r | The rectangle.
  x | The x coordinate of the point.
  y | The y coordinate of the point.

Returns
  EINA_TRUE on success, EINA_FALSE otherwise.

This function returns EINA_TRUE if the point of coordinate (`x`, `y`) is in `r`, EINA_FALSE otherwise. No check is done on `r`, so it must be a valid rectangle.

static void eina_rectangle_union | ( | Eina_Rectangle * | dst,
|  | const Eina_Rectangle * | src
| ) |  |
| inlinestatic

Get the union of two rectangles.

Parameters

  dst | The first rectangle.
  src | The second rectangle.

This function get the union of the rectangles `dst` and `src`. The result is stored in `dst`. No check is done on `dst` or `src`, so they must be valid rectangles.

static void static Eina_Bool eina_rectangle_intersection | ( | Eina_Rectangle * | dst,
|  | const Eina_Rectangle * | src
| ) |  |
| inlinestatic

Get the intersection of two rectangles.

Parameters

  dst | The first rectangle.
  src | The second rectangle.

Returns
  EINA_TRUE if the rectangles intersect, EINA_FALSE otherwise.

This function get the intersection of the rectangles `dst` and `src`. The result is stored in `dst`. No check is done on `dst` or `src`, so they must be valid rectangles.

Referenced by eina_tiler_rect_add(), and eina_tiler_rect_del().

static void eina_rectangle_rescale_in | ( | const Eina_Rectangle * | out,
|  | const Eina_Rectangle * | in,
|  | Eina_Rectangle * | res
| ) |  |
| inlinestatic

FIXME I am useless and used by no one.

Parameters

  in | The inner rectangle.
  out | The outer rectangle.
  res | The resulting rectangle.

static void static void eina_rectangle_rescale_out | ( | const Eina_Rectangle * | out,
|  | const Eina_Rectangle * | in,
|  | Eina_Rectangle * | res
| ) |  |
| inlinestatic

FIXME I am useless and used by no one.

Parameters

  in | The inner rectangle.
  out | The outer rectangle.
  res | The resulting rectangle.

static void static void static Eina_Bool eina_rectangle_is_valid | ( | const Eina_Rectangle * | r | ) |
| inlinestatic

Tells whether a rectangle is valid or not.

Parameters

  r | The rectangle

Returns
  EINA_TRUE if the rectangle is valid, EINA_FALSE otherwise.

This function checks if both width and height attributes of the rectangle are positive integers. If so, the rectangle is considered valid, else the rectangle is invalid.

static int eina_rectangle_max_x | ( | Eina_Rectangle * | thiz | ) |
| inlinestatic

Gives the rectangle maximum x coordinate.

Parameters

  thiz | The rectangle

Returns
  the maximum x coordinate

This function calculates the maximum x coordinate of the rectangle by summing the `width` with the current `x` coodinate of the rectangle.

static int eina_rectangle_max_y | ( | Eina_Rectangle * | thiz | ) |
| inlinestatic

Gives the rectangle maximum y coordinate.

Parameters

  thiz | The rectangle

Returns
  the maximum y coordinate

This function calculates the maximum y coordinate of the rectangle by summing the `height` with the current `y` coodinate of the rectangle.

static Eina_Bool eina_rectangle_x_cut | ( | Eina_Rectangle * | thiz,
|  | Eina_Rectangle * | slice,
|  | Eina_Rectangle * | remainder,
|  | int | amount
| ) |  |
| inlinestatic

Slices a rectangle vertically into two subrectangles starting from left edge.

Parameters

  thiz | The rectangle to slice
  slice | The sliced part of the rectangle
  remainder | The left over part of the original rectangle after slice
  amount | The x inner coordinate of the rectangle where to perform the slicing.

Returns
  EINA_TRUE if the cut succeeds, EINA_FALSE otherwise

Use this function if we must cut a rectangle vertically. The `amount` parameter defines the x inner coordinate where to do the cut, starting from the left edge of the rectangle. If the `amount` value is greater than the rectangle width, there will be not cut possible and EINA_FALSE will be returned.

static Eina_Bool eina_rectangle_y_cut | ( | Eina_Rectangle * | thiz,
|  | Eina_Rectangle * | slice,
|  | Eina_Rectangle * | remainder,
|  | int | amount
| ) |  |
| inlinestatic

Slices a rectangle horizontally into two subrectangles starting from bottom edge.

Parameters

  thiz | The rectangle to slice
  slice | The sliced part of the rectangle
  remainder | The left over part of the original rectangle after slice
  amount | The y inner coordinate of the rectangle where to perform the slicing.

Returns
  EINA_TRUE if the cut succeeds, EINA_FALSE otherwise

Use this function if we must cut a rectangle horizontally. The `amount` parameter defines the y inner coordinate where to do the cut, starting from the bottom edge of the rectangle. If the `amount` value is greater than the rectangle width, there will be not cut possible and EINA_FALSE will be returned.

static Eina_Bool eina_rectangle_width_cut | ( | Eina_Rectangle * | thiz,
|  | Eina_Rectangle * | slice,
|  | Eina_Rectangle * | remainder,
|  | int | amount
| ) |  |
| inlinestatic

Slices a rectangle vertically starting from right edge.

Parameters

  thiz | The rectangle to slice
  slice | The sliced part of the rectangle
  remainder | The left over part of the original rectangle after slice
  amount | The amount to cut off the rectangle starting from the right edge

Returns
  EINA_TRUE if the cut succeeds, EINA_FALSE otherwise

Use this function if we must cut a rectangle vertically. The `amount` parameter defines the inner x coordinate where to do the cut, starting from the right edge of the rectangle. If the `amount` value is greater than the rectangle width, there will be not cut possible and EINA_FALSE will be returned.

static Eina_Bool eina_rectangle_height_cut | ( | Eina_Rectangle * | thiz,
|  | Eina_Rectangle * | slice,
|  | Eina_Rectangle * | remainder,
|  | int | amount
| ) |  |
| inlinestatic

Slices a rectangle horizontally starting from top edge.

Parameters

  thiz | The rectangle to slice
  slice | The sliced part of the rectangle
  remainder | The left over part of the original rectangle after slice
  amount | The amount to cut off the rectangle starting from the top edge

Returns
  EINA_TRUE if the cut succeeds, EINA_FALSE otherwise

Use this function if we must cut a rectangle horizontally. The `amount` parameter defines the inner y coordinate where to do the cut, starting from the top edge of the rectangle. If the `amount` value is greater than the rectangle width, there will be not cut possible and EINA_FALSE will be returned.

static Eina_Bool eina_rectangle_subtract | ( | Eina_Rectangle * | thiz,
|  | Eina_Rectangle * | other,
|  | Eina_Rectangle | out[4]
| ) |  |
| inlinestatic

Subtract two rectangles.

Parameters

  thiz | The minuend rectangle
  other | The subtrahend rectangle

This function subtract two rectangles. The difference is stored on `out` There will be at most four differences, use eina_rectangle_is_valid to confirm the number of differences.

EAPI 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, `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 DBG, EINA_FALSE, eina_list_append(), EINA_MAGIC_SET, Eina_Packing_Ascending, and eina_rectangle_new().

EAPI 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.

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.

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.

EAPI 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`.

EAPI 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.

References DBG.

EAPI 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 DBG, EINA_INLIST_GET, EINA_LIST_FREE, EINA_MAGIC_NONE, EINA_MAGIC_SET, eina_mempool_free(), eina_rectangle_free(), and eina_trash_pop().

EAPI 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`.

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.

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, `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 DBG, EINA_FALSE, EINA_INLIST_GET, eina_inlist_prepend(), eina_list_sort(), EINA_MAGIC_SET, eina_mempool_malloc(), Eina_Packing_Bottom_Left_Skyline_Improved, eina_rectangle_coords_from(), eina_trash_pop(), EINA_TRUE, and _Eina_Rectangle::w.

EAPI 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 DBG, EINA_FALSE, EINA_INLIST_FOREACH, EINA_INLIST_GET, eina_inlist_remove(), EINA_MAGIC_NONE, EINA_MAGIC_SET, eina_mempool_free(), Eina_Packing_Bottom_Left_Skyline_Improved, eina_rectangle_new(), eina_trash_push(), _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.

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_mempool_malloc(), EINA_RECTANGLE_SET, and eina_trash_pop().

Referenced by eina_rectangle_pool_new(), and eina_rectangle_pool_release().

EAPI 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.

References eina_mempool_free(), and eina_trash_push().

Referenced by eina_rectangle_pool_free(), evas_free(), evas_object_image_alpha_mask_set(), evas_object_image_preload(), and evas_render_updates_free().

EAPI void eina_rectangle_pool_packing_set | ( | Eina_Rectangle_Pool * | pool,
|  | Eina_Rectangle_Packing | type
| ) |  |

Sets the type of given rectangle pool.

Parameters

  pool | The rectangle pool for which type is to be set.

This function sets `type` of `pool`.

See also
  Eina_Rectangle_Packing

Since
  1.11

References DBG, Eina_Packing_Ascending, and Eina_Packing_Descending.