\hypertarget{group__Eina__Rectangle__Group}{}\section{Rectangle}
\label{group__Eina__Rectangle__Group}\index{Rectangle@{Rectangle}}


These functions provide rectangle management.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct__Eina__Position2D}{\+\_\+\+Eina\+\_\+\+Position2D}}
\begin{DoxyCompactList}\small\item\em A 2D position in pixel coordinates. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct__Eina__Size2D}{\+\_\+\+Eina\+\_\+\+Size2D}}
\begin{DoxyCompactList}\small\item\em A 2D size in pixel coordinates. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct__Eina__Rectangle}{\+\_\+\+Eina\+\_\+\+Rectangle}}
\item 
union \mbox{\hyperlink{union__Eina__Rect}{\+\_\+\+Eina\+\_\+\+Rect}}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gab43541e02b6f424833e4c80a1f8e95b2}\label{group__Eina__Rectangle__Group_gab43541e02b6f424833e4c80a1f8e95b2}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+I\+N\+IT}~\{ 0, 0, 0, 0\}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga19aa6849720f79d346c870a9171a7eb5}\label{group__Eina__Rectangle__Group_ga19aa6849720f79d346c870a9171a7eb5}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+F\+O\+R\+M\+AT}~\char`\"{}dx\%d -\/ \%dx\%d\char`\"{}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga36d062c01320537481343cfe0335301b}\label{group__Eina__Rectangle__Group_ga36d062c01320537481343cfe0335301b}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+A\+R\+GS}(r)~(r)-\/$>$x, (r)-\/$>$y, (r)-\/$>$w, (r)-\/$>$h
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gad57f0812a5c05eb7786524e4d5470dce}\label{group__Eina__Rectangle__Group_gad57f0812a5c05eb7786524e4d5470dce}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+CT}(x,  y,  w,  h)~((\mbox{\hyperlink{union__Eina__Rect}{Eina\+\_\+\+Rect}}) \{ \{ (x), (y), (w), (h) \} \})
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga6bce708b613c59aa4e1c0784c483472b}\label{group__Eina__Rectangle__Group_ga6bce708b613c59aa4e1c0784c483472b}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+\_\+\+Z\+E\+RO}()~\{ E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+I\+N\+IT \}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga8d0c4790f5b6bd16f809c5606ff0f805}\label{group__Eina__Rectangle__Group_ga8d0c4790f5b6bd16f809c5606ff0f805}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+\_\+\+E\+M\+P\+TY}()~((\mbox{\hyperlink{union__Eina__Rect}{Eina\+\_\+\+Rect}}) E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+\_\+\+Z\+E\+RO())
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga4fd5e5268b67001d301afc7c37401cfe}\label{group__Eina__Rectangle__Group_ga4fd5e5268b67001d301afc7c37401cfe}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+P\+O\+S\+I\+T\+I\+O\+N2D}(x,  y)~((\mbox{\hyperlink{group__Eina__Rectangle__Group_gaa8458bf137e2a29add1f27586251fc10}{Eina\+\_\+\+Position2D}}) \{ (x), (y) \})
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga0cab4e55c4133b7d476af1de66545617}\label{group__Eina__Rectangle__Group_ga0cab4e55c4133b7d476af1de66545617}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+S\+I\+Z\+E2D}(x,  y)~((\mbox{\hyperlink{group__Eina__Rectangle__Group_ga90738014a01423def74cb9762740237c}{Eina\+\_\+\+Size2D}}) \{ (x), (y) \})
\item 
\#define \mbox{\hyperlink{group__Eina__Rectangle__Group_gaaceb5b08727a052cc814a92569fcf8da}{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET}}(Rectangle,  X,  Y,  W,  H)
\begin{DoxyCompactList}\small\item\em Definition for the macro to set the values of a \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga887a9d756d23f1bcba818ebeefbb007d}\label{group__Eina__Rectangle__Group_ga887a9d756d23f1bcba818ebeefbb007d}} 
\#define {\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+\_\+\+S\+ET}(rect,  x,  y,  w,  h)~do \{ \mbox{\hyperlink{group__Eina__Rectangle__Group_gaaceb5b08727a052cc814a92569fcf8da}{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET}}((\&rect), x, y, w, h) \} while (0)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gaa8458bf137e2a29add1f27586251fc10}\label{group__Eina__Rectangle__Group_gaa8458bf137e2a29add1f27586251fc10}} 
typedef struct \mbox{\hyperlink{struct__Eina__Position2D}{\+\_\+\+Eina\+\_\+\+Position2D}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gaa8458bf137e2a29add1f27586251fc10}{Eina\+\_\+\+Position2D}}
\begin{DoxyCompactList}\small\item\em A 2D position in pixel coordinates. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga90738014a01423def74cb9762740237c}\label{group__Eina__Rectangle__Group_ga90738014a01423def74cb9762740237c}} 
typedef struct \mbox{\hyperlink{struct__Eina__Size2D}{\+\_\+\+Eina\+\_\+\+Size2D}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga90738014a01423def74cb9762740237c}{Eina\+\_\+\+Size2D}}
\begin{DoxyCompactList}\small\item\em A 2D size in pixel coordinates. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}\label{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}} 
typedef struct \mbox{\hyperlink{struct__Eina__Rectangle}{\+\_\+\+Eina\+\_\+\+Rectangle}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}
\begin{DoxyCompactList}\small\item\em Simple rectangle structure. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga0985d87928aeafac39dc98896ef6336a}\label{group__Eina__Rectangle__Group_ga0985d87928aeafac39dc98896ef6336a}} 
typedef union \mbox{\hyperlink{union__Eina__Rect}{\+\_\+\+Eina\+\_\+\+Rect}} {\bfseries Eina\+\_\+\+Rect}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}\label{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}} 
typedef struct \+\_\+\+Eina\+\_\+\+Rectangle\+\_\+\+Pool \mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}}
\begin{DoxyCompactList}\small\item\em Type for an opaque pool of rectangles. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}{Eina\+\_\+\+Rectangle\+\_\+\+Packing}} \{ \newline
\mbox{\hyperlink{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a0b17ba7ca45e6acdbd9677969064fd67}{Eina\+\_\+\+Packing\+\_\+\+Descending}}, 
\newline
\mbox{\hyperlink{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a55f4a8beab1e161968e8d2ed3be77e37}{Eina\+\_\+\+Packing\+\_\+\+Ascending}}, 
\newline
\mbox{\hyperlink{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a7a9143713a6034cde30101862f33b87b}{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left}}, 
\newline
\mbox{\hyperlink{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2aa72ba69b93b6c5909417cf9a63491b83}{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline}}, 
\newline
\mbox{\hyperlink{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2ae998e9141685d36cfce4f035d62a1226}{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved}}
 \}
\begin{DoxyCompactList}\small\item\em Type for an Eina Pool based on a packing algorithm. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}{Eina\+\_\+\+Rectangle\+\_\+\+Outside}} \{ \newline
{\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+O\+U\+T\+S\+I\+D\+E\+\_\+\+T\+OP} = 1, 
\newline
{\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+O\+U\+T\+S\+I\+D\+E\+\_\+\+L\+E\+FT} = 2, 
\newline
{\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+O\+U\+T\+S\+I\+D\+E\+\_\+\+B\+O\+T\+T\+OM} = 4, 
\newline
{\bfseries E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+O\+U\+T\+S\+I\+D\+E\+\_\+\+R\+I\+G\+HT} = 8
 \}
\begin{DoxyCompactList}\small\item\em Enumeration of the positions around a rectangle. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{group__Eina__Rectangle__Group_ga93bb858772092d58644eabb321bceb18}{eina\+\_\+spans\+\_\+intersect}} (int c1, int l1, int c2, int l2) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Checks if the given spans intersect. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gab989d6bb4f24ec4f8ced72cef7f46469}{eina\+\_\+rectangle\+\_\+is\+\_\+empty}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Checks if the given rectangle is empty. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Rectangle__Group_gaef16d93d0e8aa797a8f66dc776cb030d}{eina\+\_\+rectangle\+\_\+coords\+\_\+from}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, int x, int y, int w, int h) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Sets the coordinates and size of a rectangle. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga3d1a50014d6f5261a442fd01f3dd4153}{eina\+\_\+rectangles\+\_\+intersect}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect1, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect2) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em Checks if two rectangles intersect. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga015e2f83a391a022ac042a54cfc44309}{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, int x) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Checks if the given X-\/coordinate is in the rectangle. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga5c526e2db3b19403b4c3b54abf022c33}{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, int y) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Checks if the given Y-\/coordinate is in the rectangle. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gabd210565ed6d581d4026a798a8d09fd1}{eina\+\_\+rectangle\+\_\+coords\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, int x, int y) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Checks if the given point is inside the rectangle. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Rectangle__Group_gaf03196aa8b1b393b8d7369e8c25cafd0}{eina\+\_\+rectangle\+\_\+union}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$dst, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$src) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em Gets the union of two rectangles. \end{DoxyCompactList}\item 
static void static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gaec3828d2954e5067e3ec569dcec3646e}{eina\+\_\+rectangle\+\_\+intersection}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$dst, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$src) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em Gets the intersection of two rectangles. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{group__Eina__Rectangle__Group_gaf0d1f1869452f43840dc324a58d82271}{eina\+\_\+rectangle\+\_\+rescale\+\_\+in}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$out, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$in, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$res) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em F\+I\+X\+ME I am useless and used by no one. \end{DoxyCompactList}\item 
static void static void \mbox{\hyperlink{group__Eina__Rectangle__Group_gae20f4db67c61ed1967424e2ceb6965f9}{eina\+\_\+rectangle\+\_\+rescale\+\_\+out}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$out, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$in, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$res) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em F\+I\+X\+ME I am useless and used by no one. \end{DoxyCompactList}\item 
static void static void static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga4d56eb87b8d2817db2d7e16522b4d92a}{eina\+\_\+rectangle\+\_\+is\+\_\+valid}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Tells whether a rectangle is valid. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{group__Eina__Rectangle__Group_ga5c3e8c57f830b38fd72d1f5752281543}{eina\+\_\+rectangle\+\_\+max\+\_\+x}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Gets the rectangle\textquotesingle{}s maximum X coordinate. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{group__Eina__Rectangle__Group_ga6a6048c5cdf78a0f0660a9ca4f4b4d15}{eina\+\_\+rectangle\+\_\+max\+\_\+y}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Gets the rectangle maximum Y coordinate. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga266fb423598aa3bd515280c32ef3e94b}{eina\+\_\+rectangle\+\_\+x\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$slice, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$remainder, int amount) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Slices a rectangle vertically into two subrectangles. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga8473f2ed4f9a99303ee968e10513895d}{eina\+\_\+rectangle\+\_\+y\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$slice, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$remainder, int amount) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Slices a rectangle horizontally into two subrectangles. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga03759b01d7cea29121f87f5a1d9088f4}{eina\+\_\+rectangle\+\_\+width\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$slice, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$remainder, int amount) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Slices a rectangle vertically starting from right edge. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga554b876bfc76b7768c81857bab1bc969}{eina\+\_\+rectangle\+\_\+height\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$slice, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$remainder, int amount) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Slices a rectangle horizontally starting from top edge. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga050abaa0e7fd853fcd174e2beeafc21c}{eina\+\_\+rectangle\+\_\+subtract}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$other, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} out\mbox{[}4\mbox{]}) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Subtracts two rectangles and returns the differences. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$ \mbox{\hyperlink{group__Eina__Rectangle__Group_gaa41916af6d8a14b8f6035bd72702d1d9}{eina\+\_\+rectangle\+\_\+pool\+\_\+new}} (int w, int h) \mbox{\hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+OC}} \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Adds a rectangle in a new pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$ \mbox{\hyperlink{group__Eina__Rectangle__Group_ga3a46e1548409456cb4af311e54db31e8}{eina\+\_\+rectangle\+\_\+pool\+\_\+get}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}} \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Returns the pool of the given rectangle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gac44127a5c03b3f0e13d753f380b5dfb3}{eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool, int $\ast$w, int $\ast$h) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}} \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Returns the width and height of the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Eina__Rectangle__Group_gadbae5f0ad1f7be71d0d95e7b67331d2b}{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}} \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Gets the data from the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Rectangle__Group_ga0e9e1304e9d8ecf488f8810313318380}{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool, const void $\ast$data) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Sets the data to the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Rectangle__Group_ga390d4acd0cdd6dd0ff05a2d0be01bee9}{eina\+\_\+rectangle\+\_\+pool\+\_\+free}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Frees the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Eina__Rectangle__Group_ga010d0b19c8747765a512676e3140deee}{eina\+\_\+rectangle\+\_\+pool\+\_\+count}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Returns the number of rectangles in the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$ \mbox{\hyperlink{group__Eina__Rectangle__Group_gac8261ac109cd530514dd4e9c8b8dcbca}{eina\+\_\+rectangle\+\_\+pool\+\_\+request}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool, int w, int h) \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}} \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Requests a rectangle of given size in the given pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Rectangle__Group_ga98f5a390a95123ba90e95677d7ea754b}{eina\+\_\+rectangle\+\_\+pool\+\_\+release}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Removes the given rectangle from the pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$ \mbox{\hyperlink{group__Eina__Rectangle__Group_ga82f5db08ef3c816896c67d44462aa572}{eina\+\_\+rectangle\+\_\+new}} (int x, int y, int w, int h) \mbox{\hyperlink{group__Eina__Types__Group_gaabeaa41dd47f4b4d3991b10ba00bc59c}{E\+I\+N\+A\+\_\+\+M\+A\+L\+L\+OC}} \mbox{\hyperlink{group__Eina__Types__Group_ga4ba89e4b58eff707a6cf05ffe0cd4dea}{E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}}
\begin{DoxyCompactList}\small\item\em Creates a new rectangle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Rectangle__Group_ga01edb0fdde2b9534febb3124126c4b1e}{eina\+\_\+rectangle\+\_\+free}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Frees the given rectangle. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Eina__Rectangle__Group_ga65453a92a50e5017db46b8c1d12336a2}{eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$pool, \mbox{\hyperlink{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}{Eina\+\_\+\+Rectangle\+\_\+\+Packing}} type) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1)
\begin{DoxyCompactList}\small\item\em Sets the type of given rectangle pool. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}{Eina\+\_\+\+Rectangle\+\_\+\+Outside}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga1c92f29d2ec33b8a0c4e24bc1b22f040}{eina\+\_\+rectangle\+\_\+outside\+\_\+position}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect1, \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect2)
\begin{DoxyCompactList}\small\item\em calculates where rect2 is outside of rect1. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga837fa5e04f5f805a9c507ff77d46942a}{eina\+\_\+rectangle\+\_\+equal}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect1, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$rect2) \mbox{\hyperlink{group__Eina__Types__Group_ga1a066aa3069f7e43279021cc1e378fac}{E\+I\+N\+A\+\_\+\+A\+R\+G\+\_\+\+N\+O\+N\+N\+U\+LL}}(1
\begin{DoxyCompactList}\small\item\em Compares two rectangles for equality. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga2df641c78ff08edbc8cd47371a00c0c2}\label{group__Eina__Rectangle__Group_ga2df641c78ff08edbc8cd47371a00c0c2}} 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} {\bfseries E\+I\+N\+A\+\_\+\+W\+A\+R\+N\+\_\+\+U\+N\+U\+S\+E\+D\+\_\+\+R\+E\+S\+U\+LT}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
These functions provide rectangle management. 



\subsection{Macro Definition Documentation}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gaaceb5b08727a052cc814a92569fcf8da}\label{group__Eina__Rectangle__Group_gaaceb5b08727a052cc814a92569fcf8da}} 
\index{Rectangle@{Rectangle}!E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET@{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET}}
\index{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET@{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET}{EINA\_RECTANGLE\_SET}}
{\footnotesize\ttfamily \#define E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET(\begin{DoxyParamCaption}\item[{}]{Rectangle,  }\item[{}]{X,  }\item[{}]{Y,  }\item[{}]{W,  }\item[{}]{H }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\{                                                 \(\backslash\)
      (Rectangle)->x = X;                         \(\backslash\)
      (Rectangle)->y = Y;                         \(\backslash\)
      (Rectangle)->w = W;                         \(\backslash\)
      (Rectangle)->h = H;                         \(\backslash\)
    \}
\end{DoxyCode}


Definition for the macro to set the values of a \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em Rectangle} & The rectangle. \\
\hline
\mbox{\tt in}  & {\em X} & The X coordinate of the top left corner of the rectangle. \\
\hline
\mbox{\tt in}  & {\em Y} & The Y coordinate of the top left corner of the rectangle. \\
\hline
\mbox{\tt in}  & {\em W} & The width of the rectangle. \\
\hline
\mbox{\tt in}  & {\em H} & The height of the rectangle.\\
\hline
\end{DoxyParams}
This macro set the values of {\ttfamily Rectangle}. {\ttfamily X} and {\ttfamily Y} are the coordinates of the top left corner of {\ttfamily Rectangle}, {\ttfamily W} is its width and {\ttfamily H} is its height. 

Referenced by eina\+\_\+quadtree\+\_\+collide(), and eina\+\_\+rectangle\+\_\+new().



\subsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}\label{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}} 
\index{Rectangle@{Rectangle}!Eina\+\_\+\+Rectangle\+\_\+\+Packing@{Eina\+\_\+\+Rectangle\+\_\+\+Packing}}
\index{Eina\+\_\+\+Rectangle\+\_\+\+Packing@{Eina\+\_\+\+Rectangle\+\_\+\+Packing}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{Eina\+\_\+\+Rectangle\+\_\+\+Packing}{Eina\_Rectangle\_Packing}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}{Eina\+\_\+\+Rectangle\+\_\+\+Packing}}}



Type for an Eina Pool based on a packing algorithm. 

\begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{Eina\+\_\+\+Packing\+\_\+\+Descending@{Eina\+\_\+\+Packing\+\_\+\+Descending}!Rectangle@{Rectangle}}\index{Rectangle@{Rectangle}!Eina\+\_\+\+Packing\+\_\+\+Descending@{Eina\+\_\+\+Packing\+\_\+\+Descending}}}\mbox{\Hypertarget{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a0b17ba7ca45e6acdbd9677969064fd67}\label{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a0b17ba7ca45e6acdbd9677969064fd67}} 
Eina\+\_\+\+Packing\+\_\+\+Descending&Current. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Eina\+\_\+\+Packing\+\_\+\+Ascending@{Eina\+\_\+\+Packing\+\_\+\+Ascending}!Rectangle@{Rectangle}}\index{Rectangle@{Rectangle}!Eina\+\_\+\+Packing\+\_\+\+Ascending@{Eina\+\_\+\+Packing\+\_\+\+Ascending}}}\mbox{\Hypertarget{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a55f4a8beab1e161968e8d2ed3be77e37}\label{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a55f4a8beab1e161968e8d2ed3be77e37}} 
Eina\+\_\+\+Packing\+\_\+\+Ascending&sorting in ascending order \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left}!Rectangle@{Rectangle}}\index{Rectangle@{Rectangle}!Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left}}}\mbox{\Hypertarget{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a7a9143713a6034cde30101862f33b87b}\label{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2a7a9143713a6034cde30101862f33b87b}} 
Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left&sorting in bottom left fashion \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline}!Rectangle@{Rectangle}}\index{Rectangle@{Rectangle}!Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline}}}\mbox{\Hypertarget{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2aa72ba69b93b6c5909417cf9a63491b83}\label{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2aa72ba69b93b6c5909417cf9a63491b83}} 
Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline&bottom left skyline \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved}!Rectangle@{Rectangle}}\index{Rectangle@{Rectangle}!Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved@{Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved}}}\mbox{\Hypertarget{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2ae998e9141685d36cfce4f035d62a1226}\label{group__Eina__Rectangle__Group_ggac4685e311f54db1086756a94e76e1fb2ae998e9141685d36cfce4f035d62a1226}} 
Eina\+\_\+\+Packing\+\_\+\+Bottom\+\_\+\+Left\+\_\+\+Skyline\+\_\+\+Improved&optimized bottom left skyline \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}\label{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}} 
\index{Rectangle@{Rectangle}!Eina\+\_\+\+Rectangle\+\_\+\+Outside@{Eina\+\_\+\+Rectangle\+\_\+\+Outside}}
\index{Eina\+\_\+\+Rectangle\+\_\+\+Outside@{Eina\+\_\+\+Rectangle\+\_\+\+Outside}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{Eina\+\_\+\+Rectangle\+\_\+\+Outside}{Eina\_Rectangle\_Outside}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}{Eina\+\_\+\+Rectangle\+\_\+\+Outside}}}



Enumeration of the positions around a rectangle. 

\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga93bb858772092d58644eabb321bceb18}\label{group__Eina__Rectangle__Group_ga93bb858772092d58644eabb321bceb18}} 
\index{Rectangle@{Rectangle}!eina\+\_\+spans\+\_\+intersect@{eina\+\_\+spans\+\_\+intersect}}
\index{eina\+\_\+spans\+\_\+intersect@{eina\+\_\+spans\+\_\+intersect}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+spans\+\_\+intersect()}{eina\_spans\_intersect()}}
{\footnotesize\ttfamily static int eina\+\_\+spans\+\_\+intersect (\begin{DoxyParamCaption}\item[{int}]{c1,  }\item[{int}]{l1,  }\item[{int}]{c2,  }\item[{int}]{l2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given spans intersect. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em c1} & The column of the first span. \\
\hline
\mbox{\tt in}  & {\em l1} & The length of the first span. \\
\hline
\mbox{\tt in}  & {\em c2} & The column of the second span. \\
\hline
\mbox{\tt in}  & {\em l2} & The length of the second span. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the given spans intersect, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gab989d6bb4f24ec4f8ced72cef7f46469}\label{group__Eina__Rectangle__Group_gab989d6bb4f24ec4f8ced72cef7f46469}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+is\+\_\+empty@{eina\+\_\+rectangle\+\_\+is\+\_\+empty}}
\index{eina\+\_\+rectangle\+\_\+is\+\_\+empty@{eina\+\_\+rectangle\+\_\+is\+\_\+empty}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+is\+\_\+empty()}{eina\_rectangle\_is\_empty()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+is\+\_\+empty (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given rectangle is empty. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the rectangle {\ttfamily r} is empty, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaef16d93d0e8aa797a8f66dc776cb030d}\label{group__Eina__Rectangle__Group_gaef16d93d0e8aa797a8f66dc776cb030d}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+coords\+\_\+from@{eina\+\_\+rectangle\+\_\+coords\+\_\+from}}
\index{eina\+\_\+rectangle\+\_\+coords\+\_\+from@{eina\+\_\+rectangle\+\_\+coords\+\_\+from}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+coords\+\_\+from()}{eina\_rectangle\_coords\_from()}}
{\footnotesize\ttfamily static void eina\+\_\+rectangle\+\_\+coords\+\_\+from (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{int}]{x,  }\item[{int}]{y,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets the coordinates and size of a rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em rect} & The rectangle. \\
\hline
\mbox{\tt in}  & {\em x} & The X coordinate of the rectangle\textquotesingle{}s top-\/left corner. \\
\hline
\mbox{\tt in}  & {\em y} & The Y coordinate of the rectangle\textquotesingle{}s top-\/left corner. \\
\hline
\mbox{\tt in}  & {\em w} & The width of the rectangle. \\
\hline
\mbox{\tt in}  & {\em h} & The height of the rectangle.\\
\hline
\end{DoxyParams}
This function sets its top-\/left X coordinate to {\ttfamily x}, its top-\/left Y coordinate to {\ttfamily y}, its width to {\ttfamily w} and its height to {\ttfamily h}.

No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga3d1a50014d6f5261a442fd01f3dd4153}\label{group__Eina__Rectangle__Group_ga3d1a50014d6f5261a442fd01f3dd4153}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangles\+\_\+intersect@{eina\+\_\+rectangles\+\_\+intersect}}
\index{eina\+\_\+rectangles\+\_\+intersect@{eina\+\_\+rectangles\+\_\+intersect}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangles\+\_\+intersect()}{eina\_rectangles\_intersect()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangles\+\_\+intersect (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect1,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if two rectangles intersect. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect1} & The first rectangle. \\
\hline
\mbox{\tt in}  & {\em rect2} & The second rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the rectangles {\ttfamily rect1} and {\ttfamily rect2} intersect, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
No check is done on {\ttfamily rect1} and {\ttfamily rect2}, so they must be valid rectangles. 

Referenced by eina\+\_\+tiler\+\_\+equal(), and eina\+\_\+tiler\+\_\+intersection().

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga015e2f83a391a022ac042a54cfc44309}\label{group__Eina__Rectangle__Group_ga015e2f83a391a022ac042a54cfc44309}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside@{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside}}
\index{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside@{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside()}{eina\_rectangle\_xcoord\_inside()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{int}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given X-\/coordinate is in the rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\mbox{\tt in}  & {\em x} & The X coordinate. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily x} is between the rectangle\textquotesingle{}s left and right edges, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga5c526e2db3b19403b4c3b54abf022c33}\label{group__Eina__Rectangle__Group_ga5c526e2db3b19403b4c3b54abf022c33}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside@{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside}}
\index{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside@{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside()}{eina\_rectangle\_ycoord\_inside()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{int}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given Y-\/coordinate is in the rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\mbox{\tt in}  & {\em y} & The Y coordinate. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily y} is between the rectangle\textquotesingle{}s top and bottom edges, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gabd210565ed6d581d4026a798a8d09fd1}\label{group__Eina__Rectangle__Group_gabd210565ed6d581d4026a798a8d09fd1}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+coords\+\_\+inside@{eina\+\_\+rectangle\+\_\+coords\+\_\+inside}}
\index{eina\+\_\+rectangle\+\_\+coords\+\_\+inside@{eina\+\_\+rectangle\+\_\+coords\+\_\+inside}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+coords\+\_\+inside()}{eina\_rectangle\_coords\_inside()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+coords\+\_\+inside (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{int}]{x,  }\item[{int}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given point is inside the rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\mbox{\tt in}  & {\em x} & The x coordinate of the point. \\
\hline
\mbox{\tt in}  & {\em y} & The y coordinate of the point. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the point ({\ttfamily x}, {\ttfamily y}) is within the edges of {\ttfamily r}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaf03196aa8b1b393b8d7369e8c25cafd0}\label{group__Eina__Rectangle__Group_gaf03196aa8b1b393b8d7369e8c25cafd0}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+union@{eina\+\_\+rectangle\+\_\+union}}
\index{eina\+\_\+rectangle\+\_\+union@{eina\+\_\+rectangle\+\_\+union}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+union()}{eina\_rectangle\_union()}}
{\footnotesize\ttfamily static void eina\+\_\+rectangle\+\_\+union (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the union of two rectangles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em dst} & The first rectangle. \\
\hline
\mbox{\tt in}  & {\em src} & The second rectangle.\\
\hline
\end{DoxyParams}
Changes {\ttfamily dst} to be the bounding box of both rectangles {\ttfamily dst} and {\ttfamily src}.

No check is done on {\ttfamily dst} or {\ttfamily src}, so they must be valid rectangles. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaec3828d2954e5067e3ec569dcec3646e}\label{group__Eina__Rectangle__Group_gaec3828d2954e5067e3ec569dcec3646e}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+intersection@{eina\+\_\+rectangle\+\_\+intersection}}
\index{eina\+\_\+rectangle\+\_\+intersection@{eina\+\_\+rectangle\+\_\+intersection}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+intersection()}{eina\_rectangle\_intersection()}}
{\footnotesize\ttfamily static void static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+intersection (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{dst,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{src }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the intersection of two rectangles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em dst} & The first rectangle. \\
\hline
\mbox{\tt in}  & {\em src} & The second rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the rectangles intersect, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
Changes {\ttfamily dst} to be the rectangle represented by the intersection of {\ttfamily dst} and {\ttfamily src}. {\ttfamily dst} is unchanged if the two rectangles do not intersect.

No check is done on {\ttfamily dst} or {\ttfamily src}, so they must be valid rectangles. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaf0d1f1869452f43840dc324a58d82271}\label{group__Eina__Rectangle__Group_gaf0d1f1869452f43840dc324a58d82271}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+rescale\+\_\+in@{eina\+\_\+rectangle\+\_\+rescale\+\_\+in}}
\index{eina\+\_\+rectangle\+\_\+rescale\+\_\+in@{eina\+\_\+rectangle\+\_\+rescale\+\_\+in}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+rescale\+\_\+in()}{eina\_rectangle\_rescale\_in()}}
{\footnotesize\ttfamily static void eina\+\_\+rectangle\+\_\+rescale\+\_\+in (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{in,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



F\+I\+X\+ME I am useless and used by no one. 


\begin{DoxyParams}{Parameters}
{\em in} & The inner rectangle. \\
\hline
{\em out} & The outer rectangle. \\
\hline
{\em res} & The resulting rectangle. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gae20f4db67c61ed1967424e2ceb6965f9}\label{group__Eina__Rectangle__Group_gae20f4db67c61ed1967424e2ceb6965f9}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+rescale\+\_\+out@{eina\+\_\+rectangle\+\_\+rescale\+\_\+out}}
\index{eina\+\_\+rectangle\+\_\+rescale\+\_\+out@{eina\+\_\+rectangle\+\_\+rescale\+\_\+out}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+rescale\+\_\+out()}{eina\_rectangle\_rescale\_out()}}
{\footnotesize\ttfamily static void static void eina\+\_\+rectangle\+\_\+rescale\+\_\+out (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{out,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{in,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



F\+I\+X\+ME I am useless and used by no one. 


\begin{DoxyParams}{Parameters}
{\em in} & The inner rectangle. \\
\hline
{\em out} & The outer rectangle. \\
\hline
{\em res} & The resulting rectangle. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga4d56eb87b8d2817db2d7e16522b4d92a}\label{group__Eina__Rectangle__Group_ga4d56eb87b8d2817db2d7e16522b4d92a}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+is\+\_\+valid@{eina\+\_\+rectangle\+\_\+is\+\_\+valid}}
\index{eina\+\_\+rectangle\+\_\+is\+\_\+valid@{eina\+\_\+rectangle\+\_\+is\+\_\+valid}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+is\+\_\+valid()}{eina\_rectangle\_is\_valid()}}
{\footnotesize\ttfamily static void static void static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+is\+\_\+valid (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Tells whether a rectangle is valid. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the rectangle is valid, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
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. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga5c3e8c57f830b38fd72d1f5752281543}\label{group__Eina__Rectangle__Group_ga5c3e8c57f830b38fd72d1f5752281543}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+max\+\_\+x@{eina\+\_\+rectangle\+\_\+max\+\_\+x}}
\index{eina\+\_\+rectangle\+\_\+max\+\_\+x@{eina\+\_\+rectangle\+\_\+max\+\_\+x}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+max\+\_\+x()}{eina\_rectangle\_max\_x()}}
{\footnotesize\ttfamily static int eina\+\_\+rectangle\+\_\+max\+\_\+x (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the rectangle\textquotesingle{}s maximum X coordinate. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The maximum X coordinate.
\end{DoxyReturn}
This function calculates the maximum X coordinate of the rectangle by summing the {\ttfamily width} with the current {\ttfamily x} coordinate of the rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga6a6048c5cdf78a0f0660a9ca4f4b4d15}\label{group__Eina__Rectangle__Group_ga6a6048c5cdf78a0f0660a9ca4f4b4d15}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+max\+\_\+y@{eina\+\_\+rectangle\+\_\+max\+\_\+y}}
\index{eina\+\_\+rectangle\+\_\+max\+\_\+y@{eina\+\_\+rectangle\+\_\+max\+\_\+y}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+max\+\_\+y()}{eina\_rectangle\_max\_y()}}
{\footnotesize\ttfamily static int eina\+\_\+rectangle\+\_\+max\+\_\+y (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gets the rectangle maximum Y coordinate. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The maximum Y coordinate.
\end{DoxyReturn}
This function calculates the maximum Y coordinate of the rectangle by summing the {\ttfamily height} with the current {\ttfamily y} coordinate of the rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga266fb423598aa3bd515280c32ef3e94b}\label{group__Eina__Rectangle__Group_ga266fb423598aa3bd515280c32ef3e94b}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+x\+\_\+cut@{eina\+\_\+rectangle\+\_\+x\+\_\+cut}}
\index{eina\+\_\+rectangle\+\_\+x\+\_\+cut@{eina\+\_\+rectangle\+\_\+x\+\_\+cut}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+x\+\_\+cut()}{eina\_rectangle\_x\_cut()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+x\+\_\+cut (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{slice,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{remainder,  }\item[{int}]{amount }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Slices a rectangle vertically into two subrectangles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle to slice. \\
\hline
\mbox{\tt out}  & {\em slice} & The sliced part of the rectangle. \\
\hline
\mbox{\tt out}  & {\em remainder} & The left over part of the rectangle after slicing. \\
\hline
\mbox{\tt in}  & {\em amount} & The slice location\textquotesingle{}s horizontal distance from the left. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the cut succeeds, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
Cut a rectangle vertically at a distance {\ttfamily amount} from the rectangle\textquotesingle{}s left edge. If the {\ttfamily amount} value is greater than the rectangle\textquotesingle{}s width, no cut is performed and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga8473f2ed4f9a99303ee968e10513895d}\label{group__Eina__Rectangle__Group_ga8473f2ed4f9a99303ee968e10513895d}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+y\+\_\+cut@{eina\+\_\+rectangle\+\_\+y\+\_\+cut}}
\index{eina\+\_\+rectangle\+\_\+y\+\_\+cut@{eina\+\_\+rectangle\+\_\+y\+\_\+cut}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+y\+\_\+cut()}{eina\_rectangle\_y\_cut()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+y\+\_\+cut (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{slice,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{remainder,  }\item[{int}]{amount }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Slices a rectangle horizontally into two subrectangles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle to slice. \\
\hline
\mbox{\tt out}  & {\em slice} & The sliced part of the rectangle. \\
\hline
\mbox{\tt out}  & {\em remainder} & The left over part of the rectangle after slicing. \\
\hline
\mbox{\tt in}  & {\em amount} & The slice location\textquotesingle{}s vertical distance from the bottom. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the cut succeeds, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise
\end{DoxyReturn}
Cut a rectangle horizontally at a distance {\ttfamily amount} from the rectangle\textquotesingle{}s bottom edge. If the {\ttfamily amount} value is greater than the rectangle\textquotesingle{}s height, no cut is performed and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga03759b01d7cea29121f87f5a1d9088f4}\label{group__Eina__Rectangle__Group_ga03759b01d7cea29121f87f5a1d9088f4}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+width\+\_\+cut@{eina\+\_\+rectangle\+\_\+width\+\_\+cut}}
\index{eina\+\_\+rectangle\+\_\+width\+\_\+cut@{eina\+\_\+rectangle\+\_\+width\+\_\+cut}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+width\+\_\+cut()}{eina\_rectangle\_width\_cut()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+width\+\_\+cut (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{slice,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{remainder,  }\item[{int}]{amount }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Slices a rectangle vertically starting from right edge. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle to slice. \\
\hline
\mbox{\tt out}  & {\em slice} & The sliced part of the rectangle. \\
\hline
\mbox{\tt out}  & {\em remainder} & The left over part of the rectangle after slicing. \\
\hline
\mbox{\tt in}  & {\em amount} & The slice location\textquotesingle{}s horizontal distance from the right. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the cut succeeds, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise
\end{DoxyReturn}
Cut a rectangle vertically at a distance {\ttfamily amount} from the rectangle\textquotesingle{}s right edge. If the {\ttfamily amount} value is greater than the rectangle\textquotesingle{}s width, no cut is performed and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga554b876bfc76b7768c81857bab1bc969}\label{group__Eina__Rectangle__Group_ga554b876bfc76b7768c81857bab1bc969}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+height\+\_\+cut@{eina\+\_\+rectangle\+\_\+height\+\_\+cut}}
\index{eina\+\_\+rectangle\+\_\+height\+\_\+cut@{eina\+\_\+rectangle\+\_\+height\+\_\+cut}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+height\+\_\+cut()}{eina\_rectangle\_height\_cut()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+height\+\_\+cut (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{slice,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{remainder,  }\item[{int}]{amount }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Slices a rectangle horizontally starting from top edge. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle to slice. \\
\hline
\mbox{\tt out}  & {\em slice} & The sliced part of the rectangle. \\
\hline
\mbox{\tt out}  & {\em remainder} & The left over part of the rectangle after slicing. \\
\hline
\mbox{\tt in}  & {\em amount} & The slice location\textquotesingle{}s vertical distance from the top. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the cut succeeds, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
Cut a rectangle horizontally at a distance {\ttfamily amount} from the rectangle\textquotesingle{}s top edge. If the {\ttfamily amount} value is greater than the rectangle width, no cut is performed and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga050abaa0e7fd853fcd174e2beeafc21c}\label{group__Eina__Rectangle__Group_ga050abaa0e7fd853fcd174e2beeafc21c}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+subtract@{eina\+\_\+rectangle\+\_\+subtract}}
\index{eina\+\_\+rectangle\+\_\+subtract@{eina\+\_\+rectangle\+\_\+subtract}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+subtract()}{eina\_rectangle\_subtract()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{other,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}}]{out\mbox{[}4\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Subtracts two rectangles and returns the differences. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The minuend rectangle. \\
\hline
\mbox{\tt in}  & {\em other} & The subtrahend rectangle. \\
\hline
\mbox{\tt out}  & {\em out} & An array of differences between the two rectangles. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function subtracts two rectangles and stores the resulting differences into the {\ttfamily out} array. There will be at most four differences; use eina\+\_\+rectangle\+\_\+is\+\_\+valid to confirm the exact number. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaa41916af6d8a14b8f6035bd72702d1d9}\label{group__Eina__Rectangle__Group_gaa41916af6d8a14b8f6035bd72702d1d9}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+new@{eina\+\_\+rectangle\+\_\+pool\+\_\+new}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+new@{eina\+\_\+rectangle\+\_\+pool\+\_\+new}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+new()}{eina\_rectangle\_pool\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}}$\ast$ eina\+\_\+rectangle\+\_\+pool\+\_\+new (\begin{DoxyParamCaption}\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Adds a rectangle in a new pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em w} & The width of the rectangle. \\
\hline
\mbox{\tt in}  & {\em h} & The height of the rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A newly allocated pool on success, {\ttfamily N\+U\+LL} otherwise.
\end{DoxyReturn}
This function adds the rectangle of size ({\ttfamily width}, {\ttfamily height}) to a new pool. If the pool can not be created, {\ttfamily N\+U\+LL} is returned. Otherwise the newly allocated pool is returned. 

References D\+BG, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+S\+ET, Eina\+\_\+\+Packing\+\_\+\+Ascending, and eina\+\_\+rectangle\+\_\+new().

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga3a46e1548409456cb4af311e54db31e8}\label{group__Eina__Rectangle__Group_ga3a46e1548409456cb4af311e54db31e8}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+get}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+get}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+get()}{eina\_rectangle\_pool\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}}$\ast$ eina\+\_\+rectangle\+\_\+pool\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})}



Returns the pool of the given rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect} & The rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The pool of the given rectangle.
\end{DoxyReturn}
This function returns the pool in which {\ttfamily rect} is. If {\ttfamily rect} is {\ttfamily N\+U\+LL}, {\ttfamily N\+U\+LL} is returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gac44127a5c03b3f0e13d753f380b5dfb3}\label{group__Eina__Rectangle__Group_gac44127a5c03b3f0e13d753f380b5dfb3}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get()}{eina\_rectangle\_pool\_geometry\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+pool\+\_\+geometry\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool,  }\item[{int $\ast$}]{w,  }\item[{int $\ast$}]{h }\end{DoxyParamCaption})}



Returns the width and height of the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em pool} & The pool. \\
\hline
\mbox{\tt out}  & {\em w} & The returned width. \\
\hline
\mbox{\tt out}  & {\em h} & The returned height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function returns the width and height of {\ttfamily pool} and store them in respectively {\ttfamily w} and {\ttfamily h} if they are not {\ttfamily N\+U\+LL}. If {\ttfamily pool} is {\ttfamily N\+U\+LL}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} is returned. Otherwise \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} is returned. 

References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE.

\mbox{\Hypertarget{group__Eina__Rectangle__Group_gadbae5f0ad1f7be71d0d95e7b67331d2b}\label{group__Eina__Rectangle__Group_gadbae5f0ad1f7be71d0d95e7b67331d2b}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get@{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get()}{eina\_rectangle\_pool\_data\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void$\ast$ eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool }\end{DoxyParamCaption})}



Gets the data from the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em pool} & The pool. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The returned data.
\end{DoxyReturn}
This function gets the data from {\ttfamily pool} set by \mbox{\hyperlink{group__Eina__Rectangle__Group_ga0e9e1304e9d8ecf488f8810313318380}{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set()}}. If {\ttfamily pool} is {\ttfamily N\+U\+LL}, this function returns {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga0e9e1304e9d8ecf488f8810313318380}\label{group__Eina__Rectangle__Group_ga0e9e1304e9d8ecf488f8810313318380}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set@{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set@{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set()}{eina\_rectangle\_pool\_data\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+rectangle\+\_\+pool\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Sets the data to the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em pool} & The pool. \\
\hline
\mbox{\tt in}  & {\em data} & The data to set.\\
\hline
\end{DoxyParams}
This function sets {\ttfamily data} to {\ttfamily pool}. If {\ttfamily pool} is {\ttfamily N\+U\+LL}, this function does nothing. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga390d4acd0cdd6dd0ff05a2d0be01bee9}\label{group__Eina__Rectangle__Group_ga390d4acd0cdd6dd0ff05a2d0be01bee9}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+free@{eina\+\_\+rectangle\+\_\+pool\+\_\+free}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+free@{eina\+\_\+rectangle\+\_\+pool\+\_\+free}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+free()}{eina\_rectangle\_pool\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+rectangle\+\_\+pool\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool }\end{DoxyParamCaption})}



Frees the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em pool} & The pool to free.\\
\hline
\end{DoxyParams}
This function frees the allocated data of {\ttfamily pool}. If {\ttfamily pool} is {\ttfamily N\+U\+LL}, this function returned immediately. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga010d0b19c8747765a512676e3140deee}\label{group__Eina__Rectangle__Group_ga010d0b19c8747765a512676e3140deee}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+count@{eina\+\_\+rectangle\+\_\+pool\+\_\+count}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+count@{eina\+\_\+rectangle\+\_\+pool\+\_\+count}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+count()}{eina\_rectangle\_pool\_count()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int eina\+\_\+rectangle\+\_\+pool\+\_\+count (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool }\end{DoxyParamCaption})}



Returns the number of rectangles in the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em pool} & The pool. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of rectangles in the pool.
\end{DoxyReturn}
This function returns the number of rectangles in {\ttfamily pool}. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gac8261ac109cd530514dd4e9c8b8dcbca}\label{group__Eina__Rectangle__Group_gac8261ac109cd530514dd4e9c8b8dcbca}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+request@{eina\+\_\+rectangle\+\_\+pool\+\_\+request}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+request@{eina\+\_\+rectangle\+\_\+pool\+\_\+request}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+request()}{eina\_rectangle\_pool\_request()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}$\ast$ eina\+\_\+rectangle\+\_\+pool\+\_\+request (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Requests a rectangle of given size in the given pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em pool} & The pool. \\
\hline
\mbox{\tt in}  & {\em w} & The width of the rectangle to request. \\
\hline
\mbox{\tt in}  & {\em h} & The height of the rectangle to request. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The requested rectangle on success, {\ttfamily N\+U\+LL} otherwise.
\end{DoxyReturn}
This function retrieves from {\ttfamily pool} the rectangle of width {\ttfamily w} and height {\ttfamily h}. If {\ttfamily pool} is {\ttfamily N\+U\+LL}, or {\ttfamily w} or {\ttfamily h} are non-\/positive, the function returns {\ttfamily N\+U\+LL}. If {\ttfamily w} or {\ttfamily h} are greater than the pool size, the function returns {\ttfamily N\+U\+LL}. On success, the function returns the rectangle which matches the size ({\ttfamily w}, {\ttfamily h}). Otherwise it returns {\ttfamily N\+U\+LL}. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga98f5a390a95123ba90e95677d7ea754b}\label{group__Eina__Rectangle__Group_ga98f5a390a95123ba90e95677d7ea754b}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+release@{eina\+\_\+rectangle\+\_\+pool\+\_\+release}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+release@{eina\+\_\+rectangle\+\_\+pool\+\_\+release}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+release()}{eina\_rectangle\_pool\_release()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+rectangle\+\_\+pool\+\_\+release (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})}



Removes the given rectangle from the pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em rect} & The rectangle to remove from the pool.\\
\hline
\end{DoxyParams}
This function removes {\ttfamily rect} from the pool. If {\ttfamily rect} is {\ttfamily N\+U\+LL}, the function returns immediately. Otherwise it removes {\ttfamily rect} from the pool. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga82f5db08ef3c816896c67d44462aa572}\label{group__Eina__Rectangle__Group_ga82f5db08ef3c816896c67d44462aa572}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+new@{eina\+\_\+rectangle\+\_\+new}}
\index{eina\+\_\+rectangle\+\_\+new@{eina\+\_\+rectangle\+\_\+new}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+new()}{eina\_rectangle\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}}$\ast$ eina\+\_\+rectangle\+\_\+new (\begin{DoxyParamCaption}\item[{int}]{x,  }\item[{int}]{y,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Creates a new rectangle. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em x} & The X coordinate of the top left corner of the rectangle. \\
\hline
\mbox{\tt in}  & {\em y} & The Y coordinate of the top left corner of the rectangle. \\
\hline
\mbox{\tt in}  & {\em w} & The width of the rectangle. \\
\hline
\mbox{\tt in}  & {\em h} & The height of the rectangle. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new rectangle on success, @ N\+U\+LL otherwise.
\end{DoxyReturn}
This function creates a rectangle whose top left corner has the coordinates ({\ttfamily x}, {\ttfamily y}), with height {\ttfamily w} and height {\ttfamily h} and adds it to the rectangles pool.

No check is done on {\ttfamily w} and {\ttfamily h}. 

References eina\+\_\+mempool\+\_\+malloc(), E\+I\+N\+A\+\_\+\+R\+E\+C\+T\+A\+N\+G\+L\+E\+\_\+\+S\+ET, eina\+\_\+spinlock\+\_\+release(), eina\+\_\+spinlock\+\_\+take(), and eina\+\_\+trash\+\_\+pop().



Referenced by eina\+\_\+rectangle\+\_\+pool\+\_\+new().

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga01edb0fdde2b9534febb3124126c4b1e}\label{group__Eina__Rectangle__Group_ga01edb0fdde2b9534febb3124126c4b1e}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+free@{eina\+\_\+rectangle\+\_\+free}}
\index{eina\+\_\+rectangle\+\_\+free@{eina\+\_\+rectangle\+\_\+free}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+free()}{eina\_rectangle\_free()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+rectangle\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect }\end{DoxyParamCaption})}



Frees the given rectangle. 


\begin{DoxyParams}{Parameters}
{\em \mbox{[}iin\mbox{]}} & rect The rectangle to free.\\
\hline
\end{DoxyParams}
This function removes {\ttfamily rect} from the rectangles pool. 

Referenced by evas\+\_\+render\+\_\+updates\+\_\+free().

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga65453a92a50e5017db46b8c1d12336a2}\label{group__Eina__Rectangle__Group_ga65453a92a50e5017db46b8c1d12336a2}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set@{eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set}}
\index{eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set@{eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set()}{eina\_rectangle\_pool\_packing\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void eina\+\_\+rectangle\+\_\+pool\+\_\+packing\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_ga2b3b9a89a129503c7378827498353955}{Eina\+\_\+\+Rectangle\+\_\+\+Pool}} $\ast$}]{pool,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}{Eina\+\_\+\+Rectangle\+\_\+\+Packing}}}]{type }\end{DoxyParamCaption})}



Sets the type of given rectangle pool. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in,out}  & {\em pool} & The rectangle pool for which type is to be set. \\
\hline
\mbox{\tt in}  & {\em type} & Type of Eina Pool based on packing algorithm.\\
\hline
\end{DoxyParams}
This function sets {\ttfamily type} of {\ttfamily pool}. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Rectangle__Group_gac4685e311f54db1086756a94e76e1fb2}{Eina\+\_\+\+Rectangle\+\_\+\+Packing}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga1c92f29d2ec33b8a0c4e24bc1b22f040}\label{group__Eina__Rectangle__Group_ga1c92f29d2ec33b8a0c4e24bc1b22f040}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+outside\+\_\+position@{eina\+\_\+rectangle\+\_\+outside\+\_\+position}}
\index{eina\+\_\+rectangle\+\_\+outside\+\_\+position@{eina\+\_\+rectangle\+\_\+outside\+\_\+position}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+outside\+\_\+position()}{eina\_rectangle\_outside\_position()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga7806a1ab562c5461eeddb4d0fec4a09f}{Eina\+\_\+\+Rectangle\+\_\+\+Outside}} eina\+\_\+rectangle\+\_\+outside\+\_\+position (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect1,  }\item[{\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect2 }\end{DoxyParamCaption})}



calculates where rect2 is outside of rect1. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect1} & The rect to use as anchor \\
\hline
\mbox{\tt in}  & {\em rect2} & The rect to look for outside positions\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An OR\textquotesingle{}d map of Eina\+\_\+\+Rectangle\+\_\+\+Outside values 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


References \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga837fa5e04f5f805a9c507ff77d46942a}\label{group__Eina__Rectangle__Group_ga837fa5e04f5f805a9c507ff77d46942a}} 
\index{Rectangle@{Rectangle}!eina\+\_\+rectangle\+\_\+equal@{eina\+\_\+rectangle\+\_\+equal}}
\index{eina\+\_\+rectangle\+\_\+equal@{eina\+\_\+rectangle\+\_\+equal}!Rectangle@{Rectangle}}
\subsubsection{\texorpdfstring{eina\+\_\+rectangle\+\_\+equal()}{eina\_rectangle\_equal()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+rectangle\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect1,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{rect2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Compares two rectangles for equality. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em rect1} & First rectangle. Must not be N\+U\+LL. \\
\hline
\mbox{\tt in}  & {\em rect2} & Second rectangle. Must not be N\+U\+LL. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if the rectangles are equal (x, y, w and h are all equal).
\end{DoxyReturn}
No check is made on the rectangles, so they should be valid and non N\+U\+LL for this function to be meaningful.

\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
