Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Rectangle

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)
 Definition for the 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
}
 Type for an Eina Pool based on packing algorithm. More...
 
enum  Eina_Rectangle_Outside {
  EINA_RECTANGLE_OUTSIDE_TOP = 1,
  EINA_RECTANGLE_OUTSIDE_LEFT = 2,
  EINA_RECTANGLE_OUTSIDE_BOTTOM = 4,
  EINA_RECTANGLE_OUTSIDE_RIGHT = 8
}
 Enumeration gives the positions where a rectangle can be outside a other rectangle. More...
 

Functions

static int eina_spans_intersect (int c1, int l1, int c2, int l2) EINA_WARN_UNUSED_RESULT
 Checks 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
 Checks 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)
 Sets 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
 Checks 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
 Checks 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
 Checks 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
 Checks 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
 Gets 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
 Gets 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)
 Subtracts two rectangles. More...
 
EAPI Eina_Rectangle_Pooleina_rectangle_pool_new (int w, int h) EINA_MALLOC EINA_WARN_UNUSED_RESULT
 Adds a rectangle in a new pool. More...
 
EAPI Eina_Rectangle_Pooleina_rectangle_pool_get (Eina_Rectangle *rect) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)
 Returns 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
 Returns 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)
 Gets 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)
 Sets the data to the given pool. More...
 
EAPI void eina_rectangle_pool_free (Eina_Rectangle_Pool *pool) EINA_ARG_NONNULL(1)
 Frees the given pool. More...
 
EAPI int eina_rectangle_pool_count (Eina_Rectangle_Pool *pool) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT
 Returns the number of rectangles in the given pool. More...
 
EAPI Eina_Rectangleeina_rectangle_pool_request (Eina_Rectangle_Pool *pool, int w, int h) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)
 Requests a rectangle of given size in the given pool. More...
 
EAPI void eina_rectangle_pool_release (Eina_Rectangle *rect) EINA_ARG_NONNULL(1)
 Removes the given rectangle from the pool. More...
 
EAPI Eina_Rectangleeina_rectangle_new (int x, int y, int w, int h) EINA_MALLOC EINA_WARN_UNUSED_RESULT
 Creates a new rectangle. More...
 
EAPI void eina_rectangle_free (Eina_Rectangle *rect) EINA_ARG_NONNULL(1)
 Frees 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...
 
EAPI Eina_Rectangle_Outside eina_rectangle_outside_position (Eina_Rectangle *rect1, Eina_Rectangle *rect2)
 calculates where rect2 is outside of rect1. More...
 

Variables

static Eina_Bool EINA_WARN_UNUSED_RESULT
 

Detailed Description

These functions provide rectangle management.

Macro Definition Documentation

◆ EINA_RECTANGLE_SET

#define EINA_RECTANGLE_SET (   Rectangle,
  X,
  Y,
  W,
 
)
Value:
{ \
(Rectangle)->x = X; \
(Rectangle)->y = Y; \
(Rectangle)->w = W; \
(Rectangle)->h = H; \
}

Definition for the macro to set the values of a Eina_Rectangle.

Parameters
RectangleThe rectangle to set the values.
XThe X coordinate of the top left corner of the rectangle.
YThe Y coordinate of the top left corner of the rectangle.
WThe width of the rectangle.
HThe 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

◆ Eina_Rectangle_Packing

Type for an Eina Pool based on packing algorithm.

Since
1.11
Enumerator
Eina_Packing_Descending 

Current.

Eina_Packing_Ascending 

sorting in ascending order

Eina_Packing_Bottom_Left 

sorting in bottom left fashion

Eina_Packing_Bottom_Left_Skyline 

bottom left skyline

Eina_Packing_Bottom_Left_Skyline_Improved 

optimized bottom left skyline

◆ Eina_Rectangle_Outside

Enumeration gives the positions where a rectangle can be outside a other rectangle.

Since
1.19

Function Documentation

◆ eina_spans_intersect()

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

Checks if the given spans intersect.

Parameters
c1The column of the first span.
l1The length of the first span.
c2The column of the second span.
l2The 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.

◆ eina_rectangle_is_empty()

static Eina_Bool eina_rectangle_is_empty ( const Eina_Rectangle r)
inlinestatic

Checks if the given rectangle is empty.

Parameters
rThe 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.

◆ eina_rectangle_coords_from()

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

Sets the coordinates and size of the given rectangle.

Parameters
rThe rectangle.
xThe top-left x coordinate of the rectangle.
yThe top-left y coordinate of the rectangle.
wThe width of the rectangle.
hThe 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.

◆ eina_rectangles_intersect()

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

Checks if the given rectangles intersect.

Parameters
r1The first rectangle.
r2The 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 eina_tiler_equal(), and eina_tiler_intersection().

◆ eina_rectangle_xcoord_inside()

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

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

Parameters
rThe rectangle.
xThe 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.

◆ eina_rectangle_ycoord_inside()

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

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

Parameters
rThe rectangle.
yThe 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.

◆ eina_rectangle_coords_inside()

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

Checks if the given point is in the rectangle .

Parameters
rThe rectangle.
xThe x coordinate of the point.
yThe 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.

◆ eina_rectangle_union()

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

Gets the union of two rectangles.

Parameters
dstThe first rectangle.
srcThe 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.

◆ eina_rectangle_intersection()

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

Gets the intersection of two rectangles.

Parameters
dstThe first rectangle.
srcThe 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.

◆ eina_rectangle_rescale_in()

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
inThe inner rectangle.
outThe outer rectangle.
resThe resulting rectangle.

◆ eina_rectangle_rescale_out()

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
inThe inner rectangle.
outThe outer rectangle.
resThe resulting rectangle.

◆ eina_rectangle_is_valid()

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

◆ eina_rectangle_max_x()

static int eina_rectangle_max_x ( Eina_Rectangle thiz)
inlinestatic

Gives the rectangle maximum x coordinate.

Parameters
thizThe rectangle
Returns
The maximum x coordinate

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

◆ eina_rectangle_max_y()

static int eina_rectangle_max_y ( Eina_Rectangle thiz)
inlinestatic

Gives the rectangle maximum y coordinate.

Parameters
thizThe 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.

◆ eina_rectangle_x_cut()

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
thizThe rectangle to slice
sliceThe sliced part of the rectangle
remainderThe left over part of the original rectangle after slice
amountThe 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.

◆ eina_rectangle_y_cut()

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
thizThe rectangle to slice
sliceThe sliced part of the rectangle
remainderThe left over part of the original rectangle after slice
amountThe 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.

◆ eina_rectangle_width_cut()

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
thizThe rectangle to slice
sliceThe sliced part of the rectangle
remainderThe left over part of the original rectangle after slice
amountThe 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.

◆ eina_rectangle_height_cut()

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
thizThe rectangle to slice
sliceThe sliced part of the rectangle
remainderThe left over part of the original rectangle after slice
amountThe 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.

◆ eina_rectangle_subtract()

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

Subtracts two rectangles.

Parameters
thizThe minuend rectangle
otherThe 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.

◆ eina_rectangle_pool_new()

EAPI Eina_Rectangle_Pool* eina_rectangle_pool_new ( int  w,
int  h 
)

Adds a rectangle in a new pool.

Parameters
wThe width of the rectangle.
hThe 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().

◆ eina_rectangle_pool_get()

EAPI Eina_Rectangle_Pool* eina_rectangle_pool_get ( Eina_Rectangle rect)

Returns the pool of the given rectangle.

Parameters
rectThe 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()

EAPI Eina_Bool eina_rectangle_pool_geometry_get ( Eina_Rectangle_Pool pool,
int *  w,
int *  h 
)

Returns the width and height of the given pool.

Parameters
poolThe pool.
wThe returned width.
hThe 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.

◆ eina_rectangle_pool_data_get()

EAPI void* eina_rectangle_pool_data_get ( Eina_Rectangle_Pool pool)

Gets the data from the given pool.

Parameters
poolThe 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()

EAPI void eina_rectangle_pool_data_set ( Eina_Rectangle_Pool pool,
const void *  data 
)

Sets the data to the given pool.

Parameters
poolThe pool.
dataThe data to set.

This function sets data to pool. If pool is NULL, this function does nothing.

◆ eina_rectangle_pool_free()

EAPI void eina_rectangle_pool_free ( Eina_Rectangle_Pool pool)

Frees the given pool.

Parameters
poolThe pool to free.

This function frees the allocated data of pool. If pool is NULL, this function returned immediately.

◆ eina_rectangle_pool_count()

EAPI int eina_rectangle_pool_count ( Eina_Rectangle_Pool pool)

Returns the number of rectangles in the given pool.

Parameters
poolThe pool.
Returns
The number of rectangles in the pool.

This function returns the number of rectangles in pool.

◆ eina_rectangle_pool_request()

EAPI Eina_Rectangle* eina_rectangle_pool_request ( Eina_Rectangle_Pool pool,
int  w,
int  h 
)

Requests a rectangle of given size in the given pool.

Parameters
poolThe pool.
wThe width of the rectangle to request.
hThe 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.

◆ eina_rectangle_pool_release()

EAPI void eina_rectangle_pool_release ( Eina_Rectangle rect)

Removes the given rectangle from the pool.

Parameters
rectThe 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.

◆ eina_rectangle_new()

EAPI Eina_Rectangle* eina_rectangle_new ( int  x,
int  y,
int  w,
int  h 
)

Creates a new rectangle.

Parameters
xThe X coordinate of the top left corner of the rectangle.
yThe Y coordinate of the top left corner of the rectangle.
wThe width of the rectangle.
hThe 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 otherwise.

References eina_mempool_malloc(), EINA_RECTANGLE_SET, eina_spinlock_release(), eina_spinlock_take(), and eina_trash_pop().

Referenced by eina_rectangle_pool_new().

◆ eina_rectangle_free()

EAPI void eina_rectangle_free ( Eina_Rectangle rect)

Frees the given rectangle.

Parameters
rectThe rectangle to free.

This function removes rect from the rectangles pool.

Referenced by evas_render_updates_free().

◆ eina_rectangle_pool_packing_set()

EAPI void eina_rectangle_pool_packing_set ( Eina_Rectangle_Pool pool,
Eina_Rectangle_Packing  type 
)

Sets the type of given rectangle pool.

Parameters
poolThe rectangle pool for which type is to be set.

This function sets type of pool.

See also
Eina_Rectangle_Packing
Since
1.11

◆ eina_rectangle_outside_position()

EAPI Eina_Rectangle_Outside eina_rectangle_outside_position ( Eina_Rectangle rect1,
Eina_Rectangle rect2 
)

calculates where rect2 is outside of rect1.

Parameters
rect1The rect to use as anchor
rect2The rect to look for outside positions
Returns
A or'ed map of Eina_Rectangle_Outside values
Since
1.19

References _Eina_Rectangle::y.