\hypertarget{group__Eina__Tiler__Group}{}\section{Tiler}
\label{group__Eina__Tiler__Group}\index{Tiler@{Tiler}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \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 
\hypertarget{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{}typedef struct \+\_\+\+Eina\+\_\+\+Tiler \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler}\label{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}

\begin{DoxyCompactList}\small\item\em Tiler type. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}{}typedef struct \hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info} \hyperlink{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info}\label{group__Eina__Tiler__Group_gaaf0c299ae1db4b474e68dc34d88907ed}

\begin{DoxyCompactList}\small\item\em Grid type of a tiler. \end{DoxyCompactList}\item 
\hypertarget{group__Eina__Tiler__Group_ga9d3f3d4ebe33c2533df1b9199b66a44b}{}typedef struct \+\_\+\+Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer {\bfseries Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer}\label{group__Eina__Tiler__Group_ga9d3f3d4ebe33c2533df1b9199b66a44b}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$ \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 \hyperlink{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}{eina\+\_\+tiler\+\_\+free} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t)
\begin{DoxyCompactList}\small\item\em Frees a tiler. \end{DoxyCompactList}\item 
void \hyperlink{group__Eina__Tiler__Group_gaa4ed541f82a95995c624f3a5c5e9b16a}{eina\+\_\+tiler\+\_\+tile\+\_\+size\+\_\+set} (\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 \hyperlink{group__Eina__Tiler__Group_ga867fa1890551d923118e193b55870859}{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+set} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t, int w, int h)
\begin{DoxyCompactList}\small\item\em Change the size of the area covered by the tiler. \end{DoxyCompactList}\item 
void \hyperlink{group__Eina__Tiler__Group_ga9cf57047f5ff75d2d9f4b6fc534d5e4a}{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+get} (const \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t, int $\ast$w, int $\ast$h)
\begin{DoxyCompactList}\small\item\em Get the size of the area covered by the tiler. \end{DoxyCompactList}\item 
void \hyperlink{group__Eina__Tiler__Group_gaef9965fa6d59055a5cc4c34361897e6c}{eina\+\_\+tiler\+\_\+strict\+\_\+set} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t, \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} strict)
\begin{DoxyCompactList}\small\item\em Define if we need to follow a strict grid of tile or a loosy one. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_gaf11155785a3ef930a8e579175bb124a7}{eina\+\_\+tiler\+\_\+empty} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t)
\begin{DoxyCompactList}\small\item\em Tell if a tiler is empty or not. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t, const \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 \hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t, const \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 \hyperlink{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}{eina\+\_\+tiler\+\_\+clear} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t)
\begin{DoxyCompactList}\small\item\em Removes all rectangles from tiles. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator} $\ast$ \hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\+\_\+tiler\+\_\+iterator\+\_\+new} (const \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t)
\begin{DoxyCompactList}\small\item\em Create a iterator to access the tilers calculated rectangles. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Iterator__Group_ga15b975bb881d955249ce13d4ebc96948}{Eina\+\_\+\+Iterator} $\ast$ \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 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}{eina\+\_\+tiler\+\_\+union} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$dst, \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$src)
\begin{DoxyCompactList}\small\item\em Gets the union of two tilers. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}{eina\+\_\+tiler\+\_\+subtract} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$dst, \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$src)
\begin{DoxyCompactList}\small\item\em Subtracts two tilers. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$ \hyperlink{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}{eina\+\_\+tiler\+\_\+intersection} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t1, \hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t2)
\begin{DoxyCompactList}\small\item\em Gets the intersection of two tilers. \end{DoxyCompactList}\item 
\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_ga08e2cbdd9ac2a3d9c56de4c5d3f71e63}{eina\+\_\+tiler\+\_\+equal} (\hyperlink{group__Eina__Tiler__Group_gabcc29c8a2b66db646e0d6e4b1828954c}{Eina\+\_\+\+Tiler} $\ast$t1, \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 \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next} (Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$slc, const \hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info} $\ast$$\ast$rect)
\begin{DoxyCompactList}\small\item\em Iterates over the tiles set by \hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()}. \end{DoxyCompactList}\item 
static \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \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 Setup 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 = \hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}(MY\_CANVAS\_WIDTH, MY\_CANVAS\_HEIGHT);
\hyperlink{group__Eina__List__Group_gad02f746a08ee0b12b7ed66d4bc0d71d8}{EINA\_LIST\_FOREACH}(list\_of\_areas\_that\_need\_re\_rendering, l, rect)
  eina\_tiler\_add(tiler, rect);
itr = \hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}(tiler);
\hyperlink{group__Eina__Iterator__Group_gad2f796ac4df0e500d25235c29821faa3}{EINA\_ITERATOR\_FOREACH}(itr, rect)
  my\_function\_that\_repaints\_areas\_of\_the\_canvas(rect);
\end{DoxyCode}


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

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

\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\+P\+I 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 = \hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\_tile\_grid\_slicer\_iterator\_new}(0, 0, MY\_CANVAS\_WIDTH, 
      MY\_CANVAS\_HEIGHT, TILE\_WIDTH, TILE\_HEIGHT);
\hyperlink{group__Eina__Iterator__Group_gad2f796ac4df0e500d25235c29821faa3}{EINA\_ITERATOR\_FOREACH}(itr, grid\_info)
  \{
     tiler = \hyperlink{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{eina\_tiler\_new}(grid\_info->rect.w, grid\_info->rect.w);
     \hyperlink{group__Eina__List__Group_gad02f746a08ee0b12b7ed66d4bc0d71d8}{EINA\_LIST\_FOREACH}(list\_of\_areas\_that\_need\_re\_rendering\_in\_this\_tile, l, rect)
       eina\_tiler\_add(tiler, rect);
     itr = \hyperlink{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}{eina\_tiler\_iterator\_new}(tiler);
     \hyperlink{group__Eina__Iterator__Group_gad2f796ac4df0e500d25235c29821faa3}{EINA\_ITERATOR\_FOREACH}(itr, rect)
     my\_function\_that\_repaints\_areas\_of\_the\_canvas(rect);
  \}
\end{DoxyCode}


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

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

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

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

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


\subsection{Function Documentation}
\hypertarget{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+new@{eina\+\_\+tiler\+\_\+new}}
\index{eina\+\_\+tiler\+\_\+new@{eina\+\_\+tiler\+\_\+new}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Tiler}$\ast$ eina\+\_\+tiler\+\_\+new (
\begin{DoxyParamCaption}
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_gaec465d28aa8f533db01e41cbf27aa3c9}


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}
\hyperlink{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}{eina\+\_\+tiler\+\_\+free()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+S\+E\+T, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.



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

\hypertarget{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+free@{eina\+\_\+tiler\+\_\+free}}
\index{eina\+\_\+tiler\+\_\+free@{eina\+\_\+tiler\+\_\+free}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+free}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga73fe7b688f448084d2aa2afb37c76217}


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

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

\hypertarget{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[{eina\+\_\+tiler\+\_\+tile\+\_\+size\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+tile\+\_\+size\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_gaa4ed541f82a95995c624f3a5c5e9b16a}


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}


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

\hypertarget{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[{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{int}]{w, }
\item[{int}]{h}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga867fa1890551d923118e193b55870859}


Change 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}
\hypertarget{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[{eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+area\+\_\+size\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{int $\ast$}]{w, }
\item[{int $\ast$}]{h}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga9cf57047f5ff75d2d9f4b6fc534d5e4a}


Get 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}
\hypertarget{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[{eina\+\_\+tiler\+\_\+strict\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+strict\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{{\bf Eina\+\_\+\+Bool}}]{strict}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_gaef9965fa6d59055a5cc4c34361897e6c}


Define if we need to follow a strict grid of tile or a loosy one. 


\begin{DoxyParams}{Parameters}
{\em t} & The tiler to apply the strict rules to. \\
\hline
{\em strict} & Define if it will be strict or loosy\\
\hline
\end{DoxyParams}
By default it will be loosy.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{group__Eina__Tiler__Group_gaf11155785a3ef930a8e579175bb124a7}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+empty@{eina\+\_\+tiler\+\_\+empty}}
\index{eina\+\_\+tiler\+\_\+empty@{eina\+\_\+tiler\+\_\+empty}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+empty}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+tiler\+\_\+empty (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_gaf11155785a3ef930a8e579175bb124a7}


Tell 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}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E when empty, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E when not.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


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



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

\hypertarget{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[{eina\+\_\+tiler\+\_\+rect\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+tiler\+\_\+rect\+\_\+add (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{const {\bf Eina\+\_\+\+Rectangle} $\ast$}]{r}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}


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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} on failure.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+rectangle\+\_\+intersection(), \+\_\+\+Eina\+\_\+\+Rectangle\+::h, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\hypertarget{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[{eina\+\_\+tiler\+\_\+rect\+\_\+del}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+rect\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t, }
\item[{const {\bf Eina\+\_\+\+Rectangle} $\ast$}]{r}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}


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}
\hyperlink{group__Eina__Tiler__Group_ga5a7eaf8984afbd801794bb17b8a1b4c4}{eina\+\_\+tiler\+\_\+rect\+\_\+add()} 

\hyperlink{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}{eina\+\_\+tiler\+\_\+clear()} 
\end{DoxySeeAlso}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+rectangle\+\_\+intersection(), \+\_\+\+Eina\+\_\+\+Rectangle\+::h, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\hypertarget{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+clear@{eina\+\_\+tiler\+\_\+clear}}
\index{eina\+\_\+tiler\+\_\+clear@{eina\+\_\+tiler\+\_\+clear}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+clear}]{\setlength{\rightskip}{0pt plus 5cm}void eina\+\_\+tiler\+\_\+clear (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga8881af2a82687553a01b0e28cfceb56c}


Removes all rectangles from tiles. 


\begin{DoxyParams}{Parameters}
{\em t} & The tiler to clear.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Eina__Tiler__Group_ga55bc1d346c063efbec00b2cb9ffbbce8}{eina\+\_\+tiler\+\_\+rect\+\_\+del()} 
\end{DoxySeeAlso}
\hypertarget{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[{eina\+\_\+tiler\+\_\+iterator\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Iterator}$\ast$ eina\+\_\+tiler\+\_\+iterator\+\_\+new (
\begin{DoxyParamCaption}
\item[{const {\bf Eina\+\_\+\+Tiler} $\ast$}]{t}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga4cf2a6df653219c8e9cb7fbcf0c40954}


Create 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}


References E\+I\+N\+A\+\_\+\+M\+A\+G\+I\+C\+\_\+\+S\+E\+T, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, F\+U\+N\+C\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+R\+E\+E, F\+U\+N\+C\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+G\+E\+T\+\_\+\+C\+O\+N\+T\+A\+I\+N\+E\+R, and F\+U\+N\+C\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+N\+E\+X\+T.



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

\hypertarget{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[{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf 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}
)}\label{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}


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\+L\+L} 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 \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 \hyperlink{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup()} and calling \hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next()} untill it returns \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E}. 
\end{DoxyNote}


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

\hypertarget{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+union@{eina\+\_\+tiler\+\_\+union}}
\index{eina\+\_\+tiler\+\_\+union@{eina\+\_\+tiler\+\_\+union}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+union}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+tiler\+\_\+union (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{dst, }
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{src}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga0e9b1a59c5acd240fe30a8dfcc03f6a1}


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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This fuction get the union of tilers {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. It returns \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+C\+H, eina\+\_\+iterator\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), E\+I\+N\+A\+\_\+\+T\+R\+U\+E, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\hypertarget{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+subtract@{eina\+\_\+tiler\+\_\+subtract}}
\index{eina\+\_\+tiler\+\_\+subtract@{eina\+\_\+tiler\+\_\+subtract}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+subtract}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+tiler\+\_\+subtract (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{dst, }
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{src}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_gae22bcc167edb8a9e4329e694995ad47f}


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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} on success, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise.
\end{DoxyReturn}
This fuction subtracts two tilers {\ttfamily dst} and {\ttfamily src}. The result is stored in {\ttfamily dst}. It returns \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if it succeeds. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+I\+T\+E\+R\+A\+T\+O\+R\+\_\+\+F\+O\+R\+E\+A\+C\+H, eina\+\_\+iterator\+\_\+free(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), E\+I\+N\+A\+\_\+\+T\+R\+U\+E, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\hypertarget{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+intersection@{eina\+\_\+tiler\+\_\+intersection}}
\index{eina\+\_\+tiler\+\_\+intersection@{eina\+\_\+tiler\+\_\+intersection}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+intersection}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Tiler}$\ast$ eina\+\_\+tiler\+\_\+intersection (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t1, }
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t2}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga8ccee7af27fceaf395556205ffaf0e81}


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\+L\+L} if intersection doesn\textquotesingle{}t exist.
\end{DoxyReturn}
This fuction gest 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\+L\+L. \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, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\hypertarget{group__Eina__Tiler__Group_ga08e2cbdd9ac2a3d9c56de4c5d3f71e63}{}\index{Tiler@{Tiler}!eina\+\_\+tiler\+\_\+equal@{eina\+\_\+tiler\+\_\+equal}}
\index{eina\+\_\+tiler\+\_\+equal@{eina\+\_\+tiler\+\_\+equal}!Tiler@{Tiler}}
\subsubsection[{eina\+\_\+tiler\+\_\+equal}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Bool} eina\+\_\+tiler\+\_\+equal (
\begin{DoxyParamCaption}
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t1, }
\item[{{\bf Eina\+\_\+\+Tiler} $\ast$}]{t2}
\end{DoxyParamCaption}
)}\label{group__Eina__Tiler__Group_ga08e2cbdd9ac2a3d9c56de4c5d3f71e63}


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}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} is equal, \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} is unequal.
\end{DoxyReturn}
This fuction gets result of comparison for {\ttfamily t1} and {\ttfamily t2}. It returns \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if tilers are equal. \begin{DoxySince}{Since}
1.\+11 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+iterator\+\_\+free(), eina\+\_\+iterator\+\_\+next(), eina\+\_\+rectangles\+\_\+intersect(), eina\+\_\+tiler\+\_\+iterator\+\_\+new(), E\+I\+N\+A\+\_\+\+T\+R\+U\+E, \+\_\+\+Eina\+\_\+\+Rectangle\+::h, \+\_\+\+Eina\+\_\+\+Rectangle\+::w, \+\_\+\+Eina\+\_\+\+Rectangle\+::x, and \+\_\+\+Eina\+\_\+\+Rectangle\+::y.

\hypertarget{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[{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Eina\+\_\+\+Bool} eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next (
\begin{DoxyParamCaption}
\item[{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Slicer $\ast$}]{slc, }
\item[{const {\bf Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info} $\ast$$\ast$}]{rect}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}\label{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}


Iterates over the tiles set by \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 \hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info} $\ast$. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E} if the current rect is valid. \hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} if there is no more rects to iterate over (and thus the current one isn\textquotesingle{}t valid).
\end{DoxyReturn}
This functions iterates over each \hyperlink{structEina__Tile__Grid__Info}{Eina\+\_\+\+Tile\+\_\+\+Grid\+\_\+\+Info} $\ast$rect of the grid. \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 \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{E\+I\+N\+A\+\_\+\+T\+R\+U\+E}. Its content shouldn\textquotesingle{}t be modified.

\begin{DoxyNote}{Note}
Consider using \hyperlink{group__Eina__Tiler__Group_gaa432ea1234ed5afbe126f107ea6584d4}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+iterator\+\_\+new()} instead. 
\end{DoxyNote}
\hypertarget{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[{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+setup}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf 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]}}\label{group__Eina__Tiler__Group_gaa8fe2ae9aac1fd5b0971877300696c8c}


Setup 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\+L\+L} 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}, {\ttfamily slc} can then be used with \hyperlink{group__Eina__Tiler__Group_gacdf4ee56dde73ae84f293601ea44763a}{eina\+\_\+tile\+\_\+grid\+\_\+slicer\+\_\+next()} to access each tile.

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


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

