\hypertarget{group__Eina__Tiler__Group}{}\doxysection{Tiler}
\label{group__Eina__Tiler__Group}\index{Tiler@{Tiler}}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}}
\begin{DoxyCompactList}\small\item\em Grid type of a tiler. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}\label{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}} 
typedef struct \+\_\+\+Eina\+\_\+\+Tiler \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}}
\begin{DoxyCompactList}\small\item\em Tiler type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}\label{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}} 
typedef struct \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}} \mbox{\hyperlink{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}}
\begin{DoxyCompactList}\small\item\em Grid type of a tiler. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga9d3f3d4ebe33c2533df1b9199b66a44b}\label{group__Eina__Tiler__Group_ga9d3f3d4ebe33c2533df1b9199b66a44b}} 
typedef struct \+\_\+\+Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer {\bfseries Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$ \mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\+\_\+tiler\+\_\+new}} (int w, int h)
\begin{DoxyCompactList}\small\item\em Creates a new tiler with {\ttfamily w} width and {\ttfamily h} height. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}{eina\+\_\+tiler\+\_\+free}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Frees a tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_gaa4ed541f82a95995c624f3a5c5e9b16a}{eina\+\_\+tiler\+\_\+tile\+\_\+size\+\_\+set}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, int w, int h)
\begin{DoxyCompactList}\small\item\em Sets the size of tiles for a tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_ga867fa1890551d923118e193b55870859}{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+set}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, int w, int h)
\begin{DoxyCompactList}\small\item\em Changes the size of the area covered by the tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_ga9cf57047f5ff75d2d9f4b6fc534d5e4a}{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+get}} (const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, int $\ast$w, int $\ast$h)
\begin{DoxyCompactList}\small\item\em Gets the size of the area covered by the tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_gaef9965fa6d59055a5cc4c34361897e6c}{eina\+\_\+tiler\+\_\+strict\+\_\+set}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} strict)
\begin{DoxyCompactList}\small\item\em Defines if we need to follow a strict grid of tile or a loose one. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_gadfa3fa3be9e3943f618a70e426942622}{eina\+\_\+tiler\+\_\+empty}} (const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Tells if a tiler is empty or not. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r)
\begin{DoxyCompactList}\small\item\em Adds a rectangle to a tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t, const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$r)
\begin{DoxyCompactList}\small\item\em Removes a rectangle from a tiler. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}{eina\+\_\+tiler\+\_\+clear}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Removes all rectangles from tiles. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ \mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\+\_\+tiler\+\_\+iterator\+\_\+new}} (const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t)
\begin{DoxyCompactList}\small\item\em Creates a iterator to access the tilers calculated rectangles. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}} $\ast$ \mbox{\hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new}} (int x, int y, int w, int h, int tile\+\_\+w, int tile\+\_\+h)
\begin{DoxyCompactList}\small\item\em Creates a new Eina\+\_\+\+Iterator that iterates over a list of tiles. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}{eina\+\_\+tiler\+\_\+union}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$dst, \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Gets the union of two tilers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}{eina\+\_\+tiler\+\_\+subtract}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$dst, \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Subtracts two tilers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$ \mbox{\hyperlink{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}{eina\+\_\+tiler\+\_\+intersection}} (\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t1, \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t2)
\begin{DoxyCompactList}\small\item\em Gets the intersection of two tilers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_gab72eea446d6ecf0bd5bcdf0d3447eb01}{eina\+\_\+tiler\+\_\+equal}} (const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t1, const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$t2)
\begin{DoxyCompactList}\small\item\em Gets whether two tilers are equal in rects or not. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next}} (Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$slc, const \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}} $\ast$$\ast$rect)
\begin{DoxyCompactList}\small\item\em Iterates over the tiles set by \mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup}} (Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$slc, int x, int y, int w, int h, int tile\+\_\+w, int tile\+\_\+h)
\begin{DoxyCompactList}\small\item\em Sets up an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\begin{DoxyWarning}{Warning}
This is a very low level tool, in most situations (for example if you\textquotesingle{}re using evas) you won\textquotesingle{}t need this.
\end{DoxyWarning}
\hypertarget{group__Eina__Tiler__Group_basic}{}\doxysubsection{Basic usage}\label{group__Eina__Tiler__Group_basic}
Eina\+\_\+\+Tiler is a tool to facilitate calculations of which areas are damaged and thus need to be re-\/rendered. The basic usage of Eina\+\_\+\+Tiler is to give it the size of your canvas and a set of rectangular areas that need re-\/rendering, from that and using heuristics it\textquotesingle{}ll tell you an efficient way to re-\/render in the form of a set of non-\/overlapping rectangles that covers the whole area that needs re-\/rendering.

The following is pseudo-\/code showing some simple use of Eina\+\_\+\+Tiler\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{tiler = \mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}}(MY\_CANVAS\_WIDTH, MY\_CANVAS\_HEIGHT);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(list\_of\_areas\_that\_need\_re\_rendering, l, rect)}
\DoxyCodeLine{  eina\_tiler\_add(tiler, rect);}
\DoxyCodeLine{itr = \mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}}(tiler);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, rect)}
\DoxyCodeLine{  my\_function\_that\_repaints\_areas\_of\_the\_canvas(rect);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\+\_\+tiler\+\_\+new()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\+\_\+tiler\+\_\+iterator\+\_\+new()}}
\end{DoxySeeAlso}
\begin{DoxyWarning}{Warning}
There are no guarantees that this will be the most efficient way to re-\/render for any particular case.
\end{DoxyWarning}
\hypertarget{group__Eina__Tiler__Group_grid_slicer}{}\doxysubsection{Grid Slicer}\label{group__Eina__Tiler__Group_grid_slicer}
Grid slicer and Eina\+\_\+\+Tiler are usually used together, that is however {\bfseries{not}} necessary, they can be used independently. Grid slicer provides an easy API to divide an area in tiles which is useful in certain applications to divide the area that will be rendered into tiles. It\textquotesingle{}s customary to, then create one Eina\+\_\+\+Tiler for each tile.

The following is pseudo-\/code showing a very simplified use of grid slicer together with Eina\+\_\+\+Tiler\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{itr = \mbox{\hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\_tile\_grid\_slicer\_iterator\_new}}(0, 0, MY\_CANVAS\_WIDTH, MY\_CANVAS\_HEIGHT, TILE\_WIDTH, TILE\_HEIGHT);}
\DoxyCodeLine{\mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, grid\_info)}
\DoxyCodeLine{  \{}
\DoxyCodeLine{     tiler = \mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}}(grid\_info-\/>rect.w, grid\_info-\/>rect.w);}
\DoxyCodeLine{     \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(list\_of\_areas\_that\_need\_re\_rendering\_in\_this\_tile, l, rect)}
\DoxyCodeLine{       eina\_tiler\_add(tiler, rect);}
\DoxyCodeLine{     itr = \mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}}(tiler);}
\DoxyCodeLine{     \mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, rect)}
\DoxyCodeLine{     my\_function\_that\_repaints\_areas\_of\_the\_canvas(rect);}
\DoxyCodeLine{  \}}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\+\_\+tiler\+\_\+new()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new()}} 
\end{DoxySeeAlso}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}\label{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}} 
\index{Tiler@{Tiler}!eina\_tiler\_new@{eina\_tiler\_new}}
\index{eina\_tiler\_new@{eina\_tiler\_new}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_new()}{eina\_tiler\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}}$\ast$ eina\+\_\+tiler\+\_\+new (\begin{DoxyParamCaption}\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Creates a new tiler with {\ttfamily w} width and {\ttfamily h} height. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w} & Width of the tiler \\
\hline
\mbox{\texttt{ in}}  & {\em h} & Height of the tiler \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly created tiler
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}{eina\+\_\+tiler\+\_\+free()}} 
\end{DoxySeeAlso}


Referenced by eina\+\_\+tiler\+\_\+intersection().

\mbox{\Hypertarget{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}\label{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}} 
\index{Tiler@{Tiler}!eina\_tiler\_free@{eina\_tiler\_free}}
\index{eina\_tiler\_free@{eina\_tiler\_free}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_free()}{eina\_tiler\_free()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t }\end{DoxyParamCaption})}



Frees a tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t} & The tiler to free.\\
\hline
\end{DoxyParams}
This function frees {\ttfamily t}. It does not free the memory allocated for the elements of {\ttfamily t}. 

Referenced by eina\+\_\+tiler\+\_\+intersection().

\mbox{\Hypertarget{group__Eina__Tiler__Group_gaa4ed541f82a95995c624f3a5c5e9b16a}\label{group__Eina__Tiler__Group_gaa4ed541f82a95995c624f3a5c5e9b16a}} 
\index{Tiler@{Tiler}!eina\_tiler\_tile\_size\_set@{eina\_tiler\_tile\_size\_set}}
\index{eina\_tiler\_tile\_size\_set@{eina\_tiler\_tile\_size\_set}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_tile\_size\_set()}{eina\_tiler\_tile\_size\_set()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+tile\+\_\+size\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Sets the size of tiles for a tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler whose tile size will be set. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & Width of the tiles. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & Height of the tiles.\\
\hline
\end{DoxyParams}
\begin{DoxyWarning}{Warning}
{\ttfamily w} and {\ttfamily h} {\bfseries{must}} be greater than zero, otherwise tile size won\textquotesingle{}t be changed. 

Tile size is not used! 
\end{DoxyWarning}
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga867fa1890551d923118e193b55870859}\label{group__Eina__Tiler__Group_ga867fa1890551d923118e193b55870859}} 
\index{Tiler@{Tiler}!eina\_tiler\_area\_size\_set@{eina\_tiler\_area\_size\_set}}
\index{eina\_tiler\_area\_size\_set@{eina\_tiler\_area\_size\_set}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_area\_size\_set()}{eina\_tiler\_area\_size\_set()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Changes the size of the area covered by the tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler whose area size will be set. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & Width of the area. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & Height of the area.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+8
\end{DoxySince}
\begin{DoxyWarning}{Warning}
Must clear the tiler before changing its size. 
\end{DoxyWarning}
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga9cf57047f5ff75d2d9f4b6fc534d5e4a}\label{group__Eina__Tiler__Group_ga9cf57047f5ff75d2d9f4b6fc534d5e4a}} 
\index{Tiler@{Tiler}!eina\_tiler\_area\_size\_get@{eina\_tiler\_area\_size\_get}}
\index{eina\_tiler\_area\_size\_get@{eina\_tiler\_area\_size\_get}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_area\_size\_get()}{eina\_tiler\_area\_size\_get()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{int $\ast$}]{w,  }\item[{int $\ast$}]{h }\end{DoxyParamCaption})}



Gets the size of the area covered by the tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t} & The tiler whose area size will be fetched. \\
\hline
\mbox{\texttt{ out}}  & {\em w} & Width of the area. \\
\hline
\mbox{\texttt{ out}}  & {\em h} & Height of the area.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Tiler__Group_gaef9965fa6d59055a5cc4c34361897e6c}\label{group__Eina__Tiler__Group_gaef9965fa6d59055a5cc4c34361897e6c}} 
\index{Tiler@{Tiler}!eina\_tiler\_strict\_set@{eina\_tiler\_strict\_set}}
\index{eina\_tiler\_strict\_set@{eina\_tiler\_strict\_set}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_strict\_set()}{eina\_tiler\_strict\_set()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+strict\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{strict }\end{DoxyParamCaption})}



Defines if we need to follow a strict grid of tile or a loose one. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler to apply the strict rules to. \\
\hline
\mbox{\texttt{ in}}  & {\em strict} & Define if it will be strict or loose\\
\hline
\end{DoxyParams}
By default it will be loose.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Eina__Tiler__Group_gadfa3fa3be9e3943f618a70e426942622}\label{group__Eina__Tiler__Group_gadfa3fa3be9e3943f618a70e426942622}} 
\index{Tiler@{Tiler}!eina\_tiler\_empty@{eina\_tiler\_empty}}
\index{eina\_tiler\_empty@{eina\_tiler\_empty}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_empty()}{eina\_tiler\_empty()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tiler\+\_\+empty (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t }\end{DoxyParamCaption})}



Tells if a tiler is empty or not. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t} & The tiler to apply the strict rules to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} when empty, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} when not.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References EINA\+\_\+\+TRUE.



Referenced by eina\+\_\+tiler\+\_\+intersection().

\mbox{\Hypertarget{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}\label{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}} 
\index{Tiler@{Tiler}!eina\_tiler\_rect\_add@{eina\_tiler\_rect\_add}}
\index{eina\_tiler\_rect\_add@{eina\_tiler\_rect\_add}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_rect\_add()}{eina\_tiler\_rect\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tiler\+\_\+rect\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{r }\end{DoxyParamCaption})}



Adds a rectangle to a tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler in which to add a container. \\
\hline
\mbox{\texttt{ in}}  & {\em r} & The rectangle to be added. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}\label{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}} 
\index{Tiler@{Tiler}!eina\_tiler\_rect\_del@{eina\_tiler\_rect\_del}}
\index{eina\_tiler\_rect\_del@{eina\_tiler\_rect\_del}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_rect\_del()}{eina\_tiler\_rect\_del()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+rect\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t,  }\item[{const \mbox{\hyperlink{group__Eina__Rectangle__Group_gad1f49db9be2cd747f458ebf4718b6228}{Eina\+\_\+\+Rectangle}} $\ast$}]{r }\end{DoxyParamCaption})}



Removes a rectangle from a tiler. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler in which to add a container. \\
\hline
\mbox{\texttt{ in}}  & {\em r} & The rectangle to be removed.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add()}} 

\mbox{\hyperlink{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}{eina\+\_\+tiler\+\_\+clear()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}\label{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}} 
\index{Tiler@{Tiler}!eina\_tiler\_clear@{eina\_tiler\_clear}}
\index{eina\_tiler\_clear@{eina\_tiler\_clear}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_clear()}{eina\_tiler\_clear()}}
{\footnotesize\ttfamily void eina\+\_\+tiler\+\_\+clear (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t }\end{DoxyParamCaption})}



Removes all rectangles from tiles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t} & The tiler to clear.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del()}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}\label{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}} 
\index{Tiler@{Tiler}!eina\_tiler\_iterator\_new@{eina\_tiler\_iterator\_new}}
\index{eina\_tiler\_iterator\_new@{eina\_tiler\_iterator\_new}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_iterator\_new()}{eina\_tiler\_iterator\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}}$\ast$ eina\+\_\+tiler\+\_\+iterator\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t }\end{DoxyParamCaption})}



Creates a iterator to access the tilers calculated rectangles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t} & The tiler to iterate over. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A iterator containing Eina\+\_\+\+Rectangle. 
\end{DoxyReturn}


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

\mbox{\Hypertarget{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}\label{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}} 
\index{Tiler@{Tiler}!eina\_tile\_grid\_slicer\_iterator\_new@{eina\_tile\_grid\_slicer\_iterator\_new}}
\index{eina\_tile\_grid\_slicer\_iterator\_new@{eina\_tile\_grid\_slicer\_iterator\_new}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tile\_grid\_slicer\_iterator\_new()}{eina\_tile\_grid\_slicer\_iterator\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator}}$\ast$ eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new (\begin{DoxyParamCaption}\item[{int}]{x,  }\item[{int}]{y,  }\item[{int}]{w,  }\item[{int}]{h,  }\item[{int}]{tile\+\_\+w,  }\item[{int}]{tile\+\_\+h }\end{DoxyParamCaption})}



Creates a new Eina\+\_\+\+Iterator that iterates over a list of tiles. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em x} & X axis coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em y} & Y axis coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & Width. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & Height. \\
\hline
\mbox{\texttt{ in}}  & {\em tile\+\_\+w} & Tile width. \\
\hline
\mbox{\texttt{ in}}  & {\em tile\+\_\+h} & Tile height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to the Eina\+\_\+\+Iterator. {\ttfamily NULL} on failure.
\end{DoxyReturn}
The region defined by {\itshape x}, {\itshape y}, {\itshape w}, {\itshape h} will be divided in to a grid of tiles of width {\itshape tile\+\_\+w} and height {\ttfamily tile\+\_\+h}, the returned iterator will iterate over every tile in the grid having as its data a \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}}.

\begin{DoxyNote}{Note}
This is a convenience function, iterating over the returned iterator is equivalent to calling \mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}} and calling \mbox{\hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next()}} until it returns \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}. 
\end{DoxyNote}


References EINA\+\_\+\+MAGIC\+\_\+\+SET, eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup(), FUNC\+\_\+\+ITERATOR\+\_\+\+FREE, and FUNC\+\_\+\+ITERATOR\+\_\+\+NEXT.

\mbox{\Hypertarget{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}\label{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}} 
\index{Tiler@{Tiler}!eina\_tiler\_union@{eina\_tiler\_union}}
\index{eina\_tiler\_union@{eina\_tiler\_union}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_union()}{eina\_tiler\_union()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tiler\+\_\+union (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{dst,  }\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{src }\end{DoxyParamCaption})}



Gets the union of two tilers. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em dst} & The first tiler, will store the result. \\
\hline
\mbox{\texttt{ in}}  & {\em src} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} otherwise.
\end{DoxyReturn}
This function gets the union of tilers {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. It returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References EINA\+\_\+\+FALSE, EINA\+\_\+\+ITERATOR\+\_\+\+FOREACH, eina\+\_\+iterator\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), EINA\+\_\+\+TRUE, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, MAX, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\mbox{\Hypertarget{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}\label{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}} 
\index{Tiler@{Tiler}!eina\_tiler\_subtract@{eina\_tiler\_subtract}}
\index{eina\_tiler\_subtract@{eina\_tiler\_subtract}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_subtract()}{eina\_tiler\_subtract()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tiler\+\_\+subtract (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{dst,  }\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{src }\end{DoxyParamCaption})}



Subtracts two tilers. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em dst} & The first tiler, will store the result. \\
\hline
\mbox{\texttt{ in}}  & {\em src} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} otherwise.
\end{DoxyReturn}
This function subtracts two tilers {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. It returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References EINA\+\_\+\+FALSE, EINA\+\_\+\+ITERATOR\+\_\+\+FOREACH, eina\+\_\+iterator\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), EINA\+\_\+\+TRUE, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\mbox{\Hypertarget{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}\label{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}} 
\index{Tiler@{Tiler}!eina\_tiler\_intersection@{eina\_tiler\_intersection}}
\index{eina\_tiler\_intersection@{eina\_tiler\_intersection}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_intersection()}{eina\_tiler\_intersection()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}}$\ast$ eina\+\_\+tiler\+\_\+intersection (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t1,  }\item[{\mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t2 }\end{DoxyParamCaption})}



Gets the intersection of two tilers. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t1} & The first tile. \\
\hline
\mbox{\texttt{ in}}  & {\em t2} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer of intersection result. {\ttfamily NULL} if intersection doesn\textquotesingle{}t exist.
\end{DoxyReturn}
This function gets the intersection of two tilers {\ttfamily t1} and {\ttfamily t2}. It returns a pointer of result if intersection of two tilers exists., otherwise returns NULL. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References eina\+\_\+iterator\+\_\+free(), eina\+\_\+iterator\+\_\+next(), eina\+\_\+rectangles\+\_\+intersect(), eina\+\_\+tiler\+\_\+empty(), eina\+\_\+tiler\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), eina\+\_\+tiler\+\_\+new(), \+\_\+\+Eina\+\_\+\+Rectangle\+::h, MAX, MIN, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\mbox{\Hypertarget{group__Eina__Tiler__Group_gab72eea446d6ecf0bd5bcdf0d3447eb01}\label{group__Eina__Tiler__Group_gab72eea446d6ecf0bd5bcdf0d3447eb01}} 
\index{Tiler@{Tiler}!eina\_tiler\_equal@{eina\_tiler\_equal}}
\index{eina\_tiler\_equal@{eina\_tiler\_equal}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tiler\_equal()}{eina\_tiler\_equal()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tiler\+\_\+equal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t1,  }\item[{const \mbox{\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}} $\ast$}]{t2 }\end{DoxyParamCaption})}



Gets whether two tilers are equal in rects or not. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em t1} & The first tiler. \\
\hline
\mbox{\texttt{ in}}  & {\em t2} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if equal, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} if unequal.
\end{DoxyReturn}
This function gets result of comparison for {\ttfamily t1} and {\ttfamily t2}. It returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if tilers are equal. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References EINA\+\_\+\+FALSE, eina\+\_\+iterator\+\_\+free(), eina\+\_\+iterator\+\_\+next(), eina\+\_\+rectangles\+\_\+intersect(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), EINA\+\_\+\+TRUE, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\mbox{\Hypertarget{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}\label{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}} 
\index{Tiler@{Tiler}!eina\_tile\_grid\_slicer\_next@{eina\_tile\_grid\_slicer\_next}}
\index{eina\_tile\_grid\_slicer\_next@{eina\_tile\_grid\_slicer\_next}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tile\_grid\_slicer\_next()}{eina\_tile\_grid\_slicer\_next()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next (\begin{DoxyParamCaption}\item[{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$}]{slc,  }\item[{const \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}} $\ast$$\ast$}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Iterates over the tiles set by \mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}}. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em slc} & Pointer to an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. \\
\hline
\mbox{\texttt{ out}}  & {\em rect} & Pointer to a struct \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}} $\ast$. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if the current rect is valid. \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} if there are no more rects to iterate over (and thus the current one isn\textquotesingle{}t valid).
\end{DoxyReturn}
This functions iterates over each \mbox{\hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}} $\ast$rect of the grid. \mbox{\hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}} must be called first, and $\ast$rect is only valid if this function returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}. Its content shouldn\textquotesingle{}t be modified.

\begin{DoxyNote}{Note}
Consider using \mbox{\hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new()}} instead. 
\end{DoxyNote}
\mbox{\Hypertarget{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}\label{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}} 
\index{Tiler@{Tiler}!eina\_tile\_grid\_slicer\_setup@{eina\_tile\_grid\_slicer\_setup}}
\index{eina\_tile\_grid\_slicer\_setup@{eina\_tile\_grid\_slicer\_setup}!Tiler@{Tiler}}
\doxysubsubsection{\texorpdfstring{eina\_tile\_grid\_slicer\_setup()}{eina\_tile\_grid\_slicer\_setup()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup (\begin{DoxyParamCaption}\item[{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$}]{slc,  }\item[{int}]{x,  }\item[{int}]{y,  }\item[{int}]{w,  }\item[{int}]{h,  }\item[{int}]{tile\+\_\+w,  }\item[{int}]{tile\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sets up an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em slc} & Pointer to an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. \\
\hline
\mbox{\texttt{ in}}  & {\em x} & X axis coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em y} & Y axis coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & Width. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & Height. \\
\hline
\mbox{\texttt{ in}}  & {\em tile\+\_\+w} & Tile width. \\
\hline
\mbox{\texttt{ in}}  & {\em tile\+\_\+h} & Tile height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to the Eina\+\_\+\+Iterator, {\ttfamily NULL} on failure.
\end{DoxyReturn}
The region defined by {\itshape x}, {\itshape y}, {\itshape w}, {\itshape h} will be divided into a grid of tiles of width {\itshape tile\+\_\+w} and height {\ttfamily tile\+\_\+h}, {\ttfamily slc} can then be used with \mbox{\hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next()}} to access each tile.

\begin{DoxyNote}{Note}
Consider using \mbox{\hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new()}} instead. 
\end{DoxyNote}


Referenced by eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new().

