\hypertarget{group__Eina__Tiler__Group}{}\section{Tiler}
\label{group__Eina__Tiler__Group}\index{Tiler@{Tiler}}
\subsection*{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}
\subsection*{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}
\subsection*{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}


\subsection{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}{}\subsection{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}
tiler = \mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}}(MY\_CANVAS\_WIDTH, MY\_CANVAS\_HEIGHT);
\mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(list\_of\_areas\_that\_need\_re\_rendering, l, rect)
  eina\_tiler\_add(tiler, rect);
itr = \mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}}(tiler);
\mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, rect)
  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}{}\subsection{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 A\+PI 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}
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);
\mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, grid\_info)
  \{
     tiler = \mbox{\hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}}(grid\_info->rect.w, grid\_info->rect.w);
     \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(list\_of\_areas\_that\_need\_re\_rendering\_in\_this\_tile, l, rect)
       eina\_tiler\_add(tiler, rect);
     itr = \mbox{\hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}}(tiler);
     \mbox{\hyperlink{group__Eina__Iterator__Group_gac7314580e18868ef229f5d2814562794}{EINA\_ITERATOR\_FOREACH}}(itr, rect)
     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_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}


\subsection{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}}
\subsubsection{\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}{Parameters}
{\em w} & Width of the tiler \\
\hline
{\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}
\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}}
\subsubsection{\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}{Parameters}
{\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}. \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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler whose tile size will be set. \\
\hline
{\em w} & Width of the tiles. \\
\hline
{\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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler whose area size will be set. \\
\hline
{\em w} & Width of the area. \\
\hline
{\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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler whose area size will be fetched. \\
\hline
{\em w} & Width of the area. \\
\hline
{\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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler to apply the strict rules to. \\
\hline
{\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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler to apply the strict rules to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} when empty, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} when not.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+T\+R\+UE.

\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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler in which to add a container. \\
\hline
{\em r} & The rectangle to be added. \\
\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}} 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}}
\subsubsection{\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}{Parameters}
{\em t} & The tiler in which to add a container. \\
\hline
{\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}}
\subsubsection{\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}{Parameters}
{\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}}
\subsubsection{\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}{Parameters}
{\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(), and eina\+\_\+tiler\+\_\+subtract().

\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}}
\subsubsection{\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}{Parameters}
{\em x} & X axis coordinate. \\
\hline
{\em y} & Y axis coordinate. \\
\hline
{\em w} & Width. \\
\hline
{\em h} & Height. \\
\hline
{\em tile\+\_\+w} & Tile width. \\
\hline
{\em tile\+\_\+h} & Tile height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to the Eina\+\_\+\+Iterator. {\ttfamily N\+U\+LL} 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}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}}. 
\end{DoxyNote}


References E\+I\+N\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+S\+ET, eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup(), F\+U\+N\+C\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+R\+EE, and F\+U\+N\+C\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+N\+E\+XT.

\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}}
\subsubsection{\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}{Parameters}
{\em dst} & The first tiler, will store the result. \\
\hline
{\em src} & The second tiler. \\
\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 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}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


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

\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}}
\subsubsection{\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}{Parameters}
{\em dst} & The first tiler, will store the result. \\
\hline
{\em src} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} on success, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} otherwise.
\end{DoxyReturn}
This function subtracts two tilers {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. It returns \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+CH, eina\+\_\+iterator\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+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}}
\subsubsection{\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}{Parameters}
{\em t1} & The first tile. \\
\hline
{\em t2} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer of intersection result. {\ttfamily N\+U\+LL} 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 N\+U\+LL. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References eina\+\_\+iterator\+\_\+next(), eina\+\_\+rectangles\+\_\+intersect(), and eina\+\_\+tiler\+\_\+iterator\+\_\+new().

\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}}
\subsubsection{\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}{Parameters}
{\em t1} & The first tiler. \\
\hline
{\em t2} & The second tiler. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if equal, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} 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}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if tilers are equal. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+SE, eina\+\_\+iterator\+\_\+free(), eina\+\_\+iterator\+\_\+next(), eina\+\_\+rectangles\+\_\+intersect(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), E\+I\+N\+A\+\_\+\+T\+R\+UE, \+\_\+\+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}}
\subsubsection{\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}{Parameters}
{\em slc} & Pointer to an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. \\
\hline
{\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}{E\+I\+N\+A\+\_\+\+T\+R\+UE}} if the current rect is valid. \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+SE}} 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}{E\+I\+N\+A\+\_\+\+T\+R\+UE}}. 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}}
\subsubsection{\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}{Parameters}
{\em slc} & Pointer to an Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer struct. \\
\hline
{\em x} & X axis coordinate. \\
\hline
{\em y} & Y axis coordinate. \\
\hline
{\em w} & Width. \\
\hline
{\em h} & Height. \\
\hline
{\em tile\+\_\+w} & Tile width. \\
\hline
{\em tile\+\_\+h} & Tile height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pointer to the Eina\+\_\+\+Iterator, {\ttfamily N\+U\+LL} 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().

