\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__Rectangle}{\+\_\+\+Eina\+\_\+\+Rectangle}}
\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 
\#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}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\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_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 rectangle. \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 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 gives the positions where a rectangle can be outside a other 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_ga0497f0c56370fbb09b9356747536aea4}{eina\+\_\+rectangle\+\_\+is\+\_\+empty}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r) \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_gab36dcd757b4acf09bcee85d80f9089f1}{eina\+\_\+rectangle\+\_\+coords\+\_\+from}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r, 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 the given rectangle. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gada869dd971b2ee3ab713f080aa0f53c6}{eina\+\_\+rectangles\+\_\+intersect}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r1, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r2) \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 the given rectangles intersect. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga46b3b94a70dd0c99b285fec8f3c1c9ac}{eina\+\_\+rectangle\+\_\+xcoord\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r, 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_ga639dd52be32e307a4f07df0d3ad86dd4}{eina\+\_\+rectangle\+\_\+ycoord\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r, 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_ga0aabc1b09753b3c0a76f4c82df692ef9}{eina\+\_\+rectangle\+\_\+coords\+\_\+inside}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r, 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 in 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_ga441834ae2e7d7a953e2e1bf05185368d}{eina\+\_\+rectangle\+\_\+is\+\_\+valid}} (const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r) \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 or not. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{group__Eina__Rectangle__Group_gad30c26590a59c69bd4cf0743bfad7a63}{eina\+\_\+rectangle\+\_\+max\+\_\+x}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz) \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 Gives the rectangle maximum x coordinate. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{group__Eina__Rectangle__Group_ga72c7a42dfa80d9715a16c85bbd324484}{eina\+\_\+rectangle\+\_\+max\+\_\+y}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz) \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 Gives the rectangle maximum y coordinate. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gadbb99c786e01273b7d88cc49e6f2b010}{eina\+\_\+rectangle\+\_\+x\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz, \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 starting from left edge. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_ga8512b9c1b1f7b0ca9bbaa58617645140}{eina\+\_\+rectangle\+\_\+y\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz, \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 starting from bottom edge. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Rectangle__Group_gaa6e6658c1bfa02d5d26e963b031e3fea}{eina\+\_\+rectangle\+\_\+width\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz, \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_ga69759f95ad83bbb4b05137f2a53ada44}{eina\+\_\+rectangle\+\_\+height\+\_\+cut}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz, \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_ga31076de03268e038c4cf7b03fba5b2f0}{eina\+\_\+rectangle\+\_\+subtract}} (\mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$thiz, \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. \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}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Rectangle__Group_gabb6d997e6f2f5ad75762b9d1f9efe617}\label{group__Eina__Rectangle__Group_gabb6d997e6f2f5ad75762b9d1f9efe617}} 
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}{Parameters}
{\em Rectangle} & The rectangle to set the values. \\
\hline
{\em X} & The X coordinate of the top left corner of the rectangle. \\
\hline
{\em Y} & The Y coordinate of the top left corner of the rectangle. \\
\hline
{\em W} & The width of the rectangle. \\
\hline
{\em H} & The height of the rectangle.\\
\hline
\end{DoxyParams}
This macro set the values of {\ttfamily Rectangle}. ({\ttfamily X}, {\ttfamily Y}) is the coordinates of the top left corner of {\ttfamily Rectangle}, {\ttfamily W} is its width and {\ttfamily H} is its height. 

Referenced by 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 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 gives the positions where a rectangle can be outside a other 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}{Parameters}
{\em c1} & The column of the first span. \\
\hline
{\em l1} & The length of the first span. \\
\hline
{\em c2} & The column of the second span. \\
\hline
{\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}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function 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. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga0497f0c56370fbb09b9356747536aea4}\label{group__Eina__Rectangle__Group_ga0497f0c56370fbb09b9356747536aea4}} 
\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$}]{r }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given rectangle is empty. 


\begin{DoxyParams}{Parameters}
{\em r} & 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 is empty, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily r} is empty, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gab36dcd757b4acf09bcee85d80f9089f1}\label{group__Eina__Rectangle__Group_gab36dcd757b4acf09bcee85d80f9089f1}} 
\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$}]{r,  }\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 the given rectangle. 


\begin{DoxyParams}{Parameters}
{\em r} & The rectangle. \\
\hline
{\em x} & The top-\/left x coordinate of the rectangle. \\
\hline
{\em y} & The top-\/left y coordinate of the rectangle. \\
\hline
{\em w} & The width of the rectangle. \\
\hline
{\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_gada869dd971b2ee3ab713f080aa0f53c6}\label{group__Eina__Rectangle__Group_gada869dd971b2ee3ab713f080aa0f53c6}} 
\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$}]{r1,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{r2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given rectangles intersect. 


\begin{DoxyParams}{Parameters}
{\em r1} & The first rectangle. \\
\hline
{\em r2} & 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}
This function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily r1} and {\ttfamily r2} intersect, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. No check is done on {\ttfamily r1} and {\ttfamily r2}, so they must be valid rectangles. 

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

\mbox{\Hypertarget{group__Eina__Rectangle__Group_ga46b3b94a70dd0c99b285fec8f3c1c9ac}\label{group__Eina__Rectangle__Group_ga46b3b94a70dd0c99b285fec8f3c1c9ac}} 
\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$}]{r,  }\item[{int}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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


\begin{DoxyParams}{Parameters}
{\em r} & The rectangle. \\
\hline
{\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}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily x} is in {\ttfamily r} with respect to the horizontal direction, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga639dd52be32e307a4f07df0d3ad86dd4}\label{group__Eina__Rectangle__Group_ga639dd52be32e307a4f07df0d3ad86dd4}} 
\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$}]{r,  }\item[{int}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



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


\begin{DoxyParams}{Parameters}
{\em r} & The rectangle. \\
\hline
{\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}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if {\ttfamily y} is in {\ttfamily r} with respect to the vertical direction, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. No check is done on {\ttfamily r}, so it must be a valid rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga0aabc1b09753b3c0a76f4c82df692ef9}\label{group__Eina__Rectangle__Group_ga0aabc1b09753b3c0a76f4c82df692ef9}} 
\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$}]{r,  }\item[{int}]{x,  }\item[{int}]{y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Checks if the given point is in the rectangle . 


\begin{DoxyParams}{Parameters}
{\em r} & The rectangle. \\
\hline
{\em x} & The x coordinate of the point. \\
\hline
{\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}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the point of coordinate ({\ttfamily x}, {\ttfamily y}) is in {\ttfamily r}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise. 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}{Parameters}
{\em dst} & The first rectangle. \\
\hline
{\em src} & The second rectangle.\\
\hline
\end{DoxyParams}
This function get the union of the rectangles {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. 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}{Parameters}
{\em dst} & The first rectangle. \\
\hline
{\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}
This function get the intersection of the rectangles {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. 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_ga441834ae2e7d7a953e2e1bf05185368d}\label{group__Eina__Rectangle__Group_ga441834ae2e7d7a953e2e1bf05185368d}} 
\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$}]{r }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Tells whether a rectangle is valid or not. 


\begin{DoxyParams}{Parameters}
{\em r} & 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_gad30c26590a59c69bd4cf0743bfad7a63}\label{group__Eina__Rectangle__Group_gad30c26590a59c69bd4cf0743bfad7a63}} 
\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$}]{thiz }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gives the rectangle maximum x coordinate. 


\begin{DoxyParams}{Parameters}
{\em thiz} & 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_ga72c7a42dfa80d9715a16c85bbd324484}\label{group__Eina__Rectangle__Group_ga72c7a42dfa80d9715a16c85bbd324484}} 
\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$}]{thiz }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Gives the rectangle maximum y coordinate. 


\begin{DoxyParams}{Parameters}
{\em thiz} & 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} coodinate of the rectangle. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gadbb99c786e01273b7d88cc49e6f2b010}\label{group__Eina__Rectangle__Group_gadbb99c786e01273b7d88cc49e6f2b010}} 
\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$}]{thiz,  }\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 starting from left edge. 


\begin{DoxyParams}{Parameters}
{\em thiz} & The rectangle to slice \\
\hline
{\em slice} & The sliced part of the rectangle \\
\hline
{\em remainder} & The left over part of the original rectangle after slice \\
\hline
{\em amount} & The x inner coordinate of the rectangle where to perform the slicing. \\
\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}
Use this function if we must cut a rectangle vertically. The {\ttfamily amount} parameter defines the x inner coordinate where to do the cut, starting from the left edge of the rectangle. If the {\ttfamily amount} value is greater than the rectangle width, there will be not cut possible and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} will be returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga8512b9c1b1f7b0ca9bbaa58617645140}\label{group__Eina__Rectangle__Group_ga8512b9c1b1f7b0ca9bbaa58617645140}} 
\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$}]{thiz,  }\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 starting from bottom edge. 


\begin{DoxyParams}{Parameters}
{\em thiz} & The rectangle to slice \\
\hline
{\em slice} & The sliced part of the rectangle \\
\hline
{\em remainder} & The left over part of the original rectangle after slice \\
\hline
{\em amount} & The y inner coordinate of the rectangle where to perform the slicing. \\
\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}
Use this function if we must cut a rectangle horizontally. The {\ttfamily amount} parameter defines the y inner coordinate where to do the cut, starting from the bottom edge of the rectangle. If the {\ttfamily amount} value is greater than the rectangle width, there will be not cut possible and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} will be returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_gaa6e6658c1bfa02d5d26e963b031e3fea}\label{group__Eina__Rectangle__Group_gaa6e6658c1bfa02d5d26e963b031e3fea}} 
\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$}]{thiz,  }\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}{Parameters}
{\em thiz} & The rectangle to slice \\
\hline
{\em slice} & The sliced part of the rectangle \\
\hline
{\em remainder} & The left over part of the original rectangle after slice \\
\hline
{\em amount} & The amount to cut off the rectangle starting from the right edge \\
\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}
Use this function if we must cut a rectangle vertically. The {\ttfamily amount} parameter defines the inner x coordinate where to do the cut, starting from the right edge of the rectangle. If the {\ttfamily amount} value is greater than the rectangle width, there will be not cut possible and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} will be returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga69759f95ad83bbb4b05137f2a53ada44}\label{group__Eina__Rectangle__Group_ga69759f95ad83bbb4b05137f2a53ada44}} 
\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$}]{thiz,  }\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}{Parameters}
{\em thiz} & The rectangle to slice \\
\hline
{\em slice} & The sliced part of the rectangle \\
\hline
{\em remainder} & The left over part of the original rectangle after slice \\
\hline
{\em amount} & The amount to cut off the rectangle starting from the top edge \\
\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}
Use this function if we must cut a rectangle horizontally. The {\ttfamily amount} parameter defines the inner y coordinate where to do the cut, starting from the top edge of the rectangle. If the {\ttfamily amount} value is greater than the rectangle width, there will be not cut possible and \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} will be returned. \mbox{\Hypertarget{group__Eina__Rectangle__Group_ga31076de03268e038c4cf7b03fba5b2f0}\label{group__Eina__Rectangle__Group_ga31076de03268e038c4cf7b03fba5b2f0}} 
\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$}]{thiz,  }\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. 


\begin{DoxyParams}{Parameters}
{\em thiz} & The minuend rectangle \\
\hline
{\em other} & The subtrahend rectangle\\
\hline
\end{DoxyParams}
This function subtract two rectangles. The difference is stored on {\ttfamily out} There will be at most four differences, use eina\+\_\+rectangle\+\_\+is\+\_\+valid to confirm the number of differences. \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}{Parameters}
{\em w} & The width of the rectangle. \\
\hline
{\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}{Parameters}
{\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}{Parameters}
{\em pool} & The pool. \\
\hline
{\em w} & The returned width. \\
\hline
{\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}{Parameters}
{\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}{Parameters}
{\em pool} & The pool. \\
\hline
{\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}{Parameters}
{\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}{Parameters}
{\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}{Parameters}
{\em pool} & The pool. \\
\hline
{\em w} & The width of the rectangle to request. \\
\hline
{\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 retrieve 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}{Parameters}
{\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}{Parameters}
{\em x} & The X coordinate of the top left corner of the rectangle. \\
\hline
{\em y} & The Y coordinate of the top left corner of the rectangle. \\
\hline
{\em w} & The width of the rectangle. \\
\hline
{\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 which 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}. This function returns a new rectangle on success, {\ttfamily N\+U\+LL} otherwise. 

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 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}{Parameters}
{\em pool} & The rectangle pool for which type is to be set.\\
\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}{Parameters}
{\em rect1} & The rect to use as anchor \\
\hline
{\em rect2} & The rect to look for outside positions\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A or\textquotesingle{}ed map of Eina\+\_\+\+Rectangle\+\_\+\+Outside values 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


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

