\hypertarget{group__Eina__Quadtree__Group}{}\doxysection{Quadtrees}
\label{group__Eina__Quadtree__Group}\index{Quadtrees@{Quadtrees}}


Quadtree operations.  


\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \+\_\+\+Eina\+\_\+\+Quad\+Tree \mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}}
\begin{DoxyCompactList}\small\item\em A quadtree is a data structure where each node contains four child nodes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}\label{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}} 
typedef struct \+\_\+\+Eina\+\_\+\+Quad\+Tree\+\_\+\+Item \mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}}
\begin{DoxyCompactList}\small\item\em A quadtree item is a holder for (void $\ast$) data items inside a quadtree, that includes some state tracking for lifecycle management and optimization purposes. \end{DoxyCompactList}\item 
typedef Eina\+\_\+\+Quad\+\_\+\+Direction($\ast$ \mbox{\hyperlink{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}{Eina\+\_\+\+Quad\+\_\+\+Callback}}) (const void $\ast$object, size\+\_\+t middle)
\begin{DoxyCompactList}\small\item\em Signature for a callback routine used to determine the location of an object within a quadtree. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{group__Eina__Quadtree__Group_gaa00a32604b2f5fdb39347a320395b795}\label{group__Eina__Quadtree__Group_gaa00a32604b2f5fdb39347a320395b795}} 
enum {\bfseries Eina\+\_\+\+Quad\+\_\+\+Direction} \{ \newline
{\bfseries EINA\+\_\+\+QUAD\+\_\+\+LEFT}
, \newline
{\bfseries EINA\+\_\+\+QUAD\+\_\+\+RIGHT}
, \newline
{\bfseries EINA\+\_\+\+QUAD\+\_\+\+BOTH}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$ \mbox{\hyperlink{group__Eina__Quadtree__Group_gabc25c0ce9a7ae4d1d7c2c7ef09c58a91}{eina\+\_\+quadtree\+\_\+new}} (size\+\_\+t w, size\+\_\+t h, \mbox{\hyperlink{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}{Eina\+\_\+\+Quad\+\_\+\+Callback}} vertical, \mbox{\hyperlink{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}{Eina\+\_\+\+Quad\+\_\+\+Callback}} horizontal)
\begin{DoxyCompactList}\small\item\em Constructs a quadtree object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Quadtree__Group_ga24d81ad4893b58331a67fce918d7761d}{eina\+\_\+quadtree\+\_\+free}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Destructs quadtree and its data. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Quadtree__Group_gae77d88ea0be35b4c32ec4b2a2785fca2}{eina\+\_\+quadtree\+\_\+resize}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$q, size\+\_\+t w, size\+\_\+t h)
\begin{DoxyCompactList}\small\item\em Changes the width and height of the quadtree. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Quadtree__Group_gae6b6837e5e91b9edebd295e1c2b08381}{eina\+\_\+quadtree\+\_\+cycle}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$q)
\begin{DoxyCompactList}\small\item\em Sets the quadtree\textquotesingle{}s index to 0. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Quadtree__Group_gaca47c0dac2b200b8dddc281289a0f975}{eina\+\_\+quadtree\+\_\+increase}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$object)
\begin{DoxyCompactList}\small\item\em Increases the index of the quadtree item by one. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$ \mbox{\hyperlink{group__Eina__Quadtree__Group_ga271d86fd5fb7eb997c6e08ae3e2002f3}{eina\+\_\+quadtree\+\_\+add}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$q, const void $\ast$object)
\begin{DoxyCompactList}\small\item\em Inserts a data object into the quadtree. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quadtree__Group_ga69a91088bb1232d49ac94b7cbf7ea086}{eina\+\_\+quadtree\+\_\+del}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$object)
\begin{DoxyCompactList}\small\item\em Deletes a given quadtree item from the quadtree. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quadtree__Group_gaf042443ebcdca9e131d9716084e478dc}{eina\+\_\+quadtree\+\_\+change}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$object)
\begin{DoxyCompactList}\small\item\em Marks an object within the quadtree as needing changed. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quadtree__Group_ga61253fbf3a4bac2c58ba412fcd490697}{eina\+\_\+quadtree\+\_\+hide}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$object)
\begin{DoxyCompactList}\small\item\em Sets {\ttfamily object} invisible. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Eina__Quadtree__Group_gafcfcffdc697a600e3d01f2d008019a79}{eina\+\_\+quadtree\+\_\+show}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$object)
\begin{DoxyCompactList}\small\item\em Sets {\ttfamily object} to visible. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Inline__List__Group_gad93973c87f867f249482e936797096ad}{Eina\+\_\+\+Inlist}} $\ast$ \mbox{\hyperlink{group__Eina__Quadtree__Group_gadaa1af3b357ad2987db78833c2895a14}{eina\+\_\+quadtree\+\_\+collide}} (\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$q, int x, int y, int w, int h)
\begin{DoxyCompactList}\small\item\em Retrieves items in quadtree inside the target geometry. \end{DoxyCompactList}\item 
void $\ast$ \mbox{\hyperlink{group__Eina__Quadtree__Group_gaf504487bb848586a9a81f05d64883ebc}{eina\+\_\+quadtree\+\_\+object}} (\mbox{\hyperlink{group__Eina__Inline__List__Group_gad93973c87f867f249482e936797096ad}{Eina\+\_\+\+Inlist}} $\ast$list)
\begin{DoxyCompactList}\small\item\em Retrieves the quadtree item\textquotesingle{}s data for the given inline list. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Quadtree operations. 



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}\label{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}} 
\index{Quadtrees@{Quadtrees}!Eina\_QuadTree@{Eina\_QuadTree}}
\index{Eina\_QuadTree@{Eina\_QuadTree}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{Eina\_QuadTree}{Eina\_QuadTree}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}}}



A quadtree is a data structure where each node contains four child nodes. 

It can be used to partition 2D spaces through subdivision into quadrants. \mbox{\Hypertarget{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}\label{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}} 
\index{Quadtrees@{Quadtrees}!Eina\_Quad\_Callback@{Eina\_Quad\_Callback}}
\index{Eina\_Quad\_Callback@{Eina\_Quad\_Callback}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{Eina\_Quad\_Callback}{Eina\_Quad\_Callback}}
{\footnotesize\ttfamily Eina\+\_\+\+Quad\+\_\+\+Callback}



Signature for a callback routine used to determine the location of an object within a quadtree. 

These are used in sorting by determining where in the tree the given data {\ttfamily object} belongs, using {\ttfamily middle} as the division line for the two halves of the space. 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Quadtree__Group_gabc25c0ce9a7ae4d1d7c2c7ef09c58a91}\label{group__Eina__Quadtree__Group_gabc25c0ce9a7ae4d1d7c2c7ef09c58a91}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_new@{eina\_quadtree\_new}}
\index{eina\_quadtree\_new@{eina\_quadtree\_new}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_new()}{eina\_quadtree\_new()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}}$\ast$ eina\+\_\+quadtree\+\_\+new (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{w,  }\item[{size\+\_\+t}]{h,  }\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}{Eina\+\_\+\+Quad\+\_\+\+Callback}}}]{vertical,  }\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gab47b57a0613e476d8c5fa250fe256950}{Eina\+\_\+\+Quad\+\_\+\+Callback}}}]{horizontal }\end{DoxyParamCaption})}



Constructs a quadtree object. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em w} & The geometric width of the quadtree. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & The geometric height of the quadtree. \\
\hline
\mbox{\texttt{ in}}  & {\em vertical} & The callback for vertical direction determination. \\
\hline
\mbox{\texttt{ in}}  & {\em horizontal} & The callback for horizontal direction determination. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The newly allocated and initialized quadtree, or {\ttfamily NULL} on error.
\end{DoxyReturn}
The vertical and horizontal callbacks are used to assist in determining which quadrant a given data item belongs to. 

References EINA\+\_\+\+MAGIC\+\_\+\+SET, and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_ga24d81ad4893b58331a67fce918d7761d}\label{group__Eina__Quadtree__Group_ga24d81ad4893b58331a67fce918d7761d}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_free@{eina\_quadtree\_free}}
\index{eina\_quadtree\_free@{eina\_quadtree\_free}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_free()}{eina\_quadtree\_free()}}
{\footnotesize\ttfamily void eina\+\_\+quadtree\+\_\+free (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$}]{q }\end{DoxyParamCaption})}



Destructs quadtree and its data. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em q} & The quadtree to be freed.\\
\hline
\end{DoxyParams}
Frees the memory for the Eina\+\_\+\+Quad\+Tree object, and any memory used by its change tracking and garbage collection internals. 

References EINA\+\_\+\+INLIST\+\_\+\+CONTAINER\+\_\+\+GET, EINA\+\_\+\+LIST\+\_\+\+FREE, EINA\+\_\+\+MAGIC\+\_\+\+SET, eina\+\_\+mempool\+\_\+free(), and eina\+\_\+trash\+\_\+pop().

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gae77d88ea0be35b4c32ec4b2a2785fca2}\label{group__Eina__Quadtree__Group_gae77d88ea0be35b4c32ec4b2a2785fca2}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_resize@{eina\_quadtree\_resize}}
\index{eina\_quadtree\_resize@{eina\_quadtree\_resize}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_resize()}{eina\_quadtree\_resize()}}
{\footnotesize\ttfamily void eina\+\_\+quadtree\+\_\+resize (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$}]{q,  }\item[{size\+\_\+t}]{w,  }\item[{size\+\_\+t}]{h }\end{DoxyParamCaption})}



Changes the width and height of the quadtree. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em q} & The quadtree to resize. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & The new geometric width for the quadtree. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & The new geometric height for the quadtree.\\
\hline
\end{DoxyParams}
Sets the width and height of the quadtree, but the actual update is done lazily. 

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

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gae6b6837e5e91b9edebd295e1c2b08381}\label{group__Eina__Quadtree__Group_gae6b6837e5e91b9edebd295e1c2b08381}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_cycle@{eina\_quadtree\_cycle}}
\index{eina\_quadtree\_cycle@{eina\_quadtree\_cycle}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_cycle()}{eina\_quadtree\_cycle()}}
{\footnotesize\ttfamily void eina\+\_\+quadtree\+\_\+cycle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$}]{q }\end{DoxyParamCaption})}



Sets the quadtree\textquotesingle{}s index to 0. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em q} & The quadtree to cycle. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Eina__Quadtree__Group_gaca47c0dac2b200b8dddc281289a0f975}\label{group__Eina__Quadtree__Group_gaca47c0dac2b200b8dddc281289a0f975}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_increase@{eina\_quadtree\_increase}}
\index{eina\_quadtree\_increase@{eina\_quadtree\_increase}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_increase()}{eina\_quadtree\_increase()}}
{\footnotesize\ttfamily void eina\+\_\+quadtree\+\_\+increase (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$}]{object }\end{DoxyParamCaption})}



Increases the index of the quadtree item by one. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em object} & The quadtree item to increase.\\
\hline
\end{DoxyParams}
If necessary, records that the root is no longer sorted. 

References EINA\+\_\+\+FALSE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_ga271d86fd5fb7eb997c6e08ae3e2002f3}\label{group__Eina__Quadtree__Group_ga271d86fd5fb7eb997c6e08ae3e2002f3}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_add@{eina\_quadtree\_add}}
\index{eina\_quadtree\_add@{eina\_quadtree\_add}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_add()}{eina\_quadtree\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}}$\ast$ eina\+\_\+quadtree\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$}]{q,  }\item[{const void $\ast$}]{object }\end{DoxyParamCaption})}



Inserts a data object into the quadtree. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em q} & The quadtree to add {\ttfamily object} to. \\
\hline
\mbox{\texttt{ in}}  & {\em object} & A data object to store in the quadtree. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to the stored quadtree item.
\end{DoxyReturn}
Creates an Eina\+\_\+\+Quad\+Tree\+\_\+\+Item (or recycles one from the quadtree\textquotesingle{}s trash) and stores the data {\ttfamily object} in it, then arranges to lazily insert the item into the quadtree (i.\+e. insertion is delayed until it needs to be used.) 

References EINA\+\_\+\+FALSE, eina\+\_\+inlist\+\_\+append(), EINA\+\_\+\+INLIST\+\_\+\+GET, EINA\+\_\+\+MAGIC\+\_\+\+SET, eina\+\_\+mempool\+\_\+malloc(), eina\+\_\+trash\+\_\+pop(), and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_ga69a91088bb1232d49ac94b7cbf7ea086}\label{group__Eina__Quadtree__Group_ga69a91088bb1232d49ac94b7cbf7ea086}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_del@{eina\_quadtree\_del}}
\index{eina\_quadtree\_del@{eina\_quadtree\_del}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_del()}{eina\_quadtree\_del()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+quadtree\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$}]{object }\end{DoxyParamCaption})}



Deletes a given quadtree item from the quadtree. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em object} & The quadtree item to be deleted. \\
\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}
Moves the item to the quadtree\textquotesingle{}s internal garbage heap for later reclamation. 

References EINA\+\_\+\+FALSE, eina\+\_\+list\+\_\+remove(), EINA\+\_\+\+MAGIC\+\_\+\+SET, eina\+\_\+mempool\+\_\+free(), eina\+\_\+trash\+\_\+push(), and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gaf042443ebcdca9e131d9716084e478dc}\label{group__Eina__Quadtree__Group_gaf042443ebcdca9e131d9716084e478dc}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_change@{eina\_quadtree\_change}}
\index{eina\_quadtree\_change@{eina\_quadtree\_change}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_change()}{eina\_quadtree\_change()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+quadtree\+\_\+change (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$}]{object }\end{DoxyParamCaption})}



Marks an object within the quadtree as needing changed. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em object} & The object that has changed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if change successfully noted, or \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} otherwise. 
\end{DoxyReturn}


References EINA\+\_\+\+FALSE, eina\+\_\+inlist\+\_\+append(), EINA\+\_\+\+INLIST\+\_\+\+GET, and EINA\+\_\+\+TRUE.



Referenced by eina\+\_\+quadtree\+\_\+show().

\mbox{\Hypertarget{group__Eina__Quadtree__Group_ga61253fbf3a4bac2c58ba412fcd490697}\label{group__Eina__Quadtree__Group_ga61253fbf3a4bac2c58ba412fcd490697}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_hide@{eina\_quadtree\_hide}}
\index{eina\_quadtree\_hide@{eina\_quadtree\_hide}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_hide()}{eina\_quadtree\_hide()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+quadtree\+\_\+hide (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$}]{object }\end{DoxyParamCaption})}



Sets {\ttfamily object} invisible. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em object} & The item within the quadtree to hide. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if {\ttfamily object} was successfully hidden, or \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} if it wasn\textquotesingle{}t in the quadtree. 
\end{DoxyReturn}


References EINA\+\_\+\+FALSE, and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gafcfcffdc697a600e3d01f2d008019a79}\label{group__Eina__Quadtree__Group_gafcfcffdc697a600e3d01f2d008019a79}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_show@{eina\_quadtree\_show}}
\index{eina\_quadtree\_show@{eina\_quadtree\_show}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_show()}{eina\_quadtree\_show()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} eina\+\_\+quadtree\+\_\+show (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_gacd18286b711881b921e3d8746271c5b0}{Eina\+\_\+\+Quad\+Tree\+\_\+\+Item}} $\ast$}]{object }\end{DoxyParamCaption})}



Sets {\ttfamily object} to visible. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em object} & The item within the quadtree to show. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}} if {\ttfamily object} was successfully shown, or \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}} if it wasn\textquotesingle{}t in the quadtree. 
\end{DoxyReturn}


References EINA\+\_\+\+FALSE, eina\+\_\+quadtree\+\_\+change(), and EINA\+\_\+\+TRUE.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gadaa1af3b357ad2987db78833c2895a14}\label{group__Eina__Quadtree__Group_gadaa1af3b357ad2987db78833c2895a14}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_collide@{eina\_quadtree\_collide}}
\index{eina\_quadtree\_collide@{eina\_quadtree\_collide}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_collide()}{eina\_quadtree\_collide()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Inline__List__Group_gad93973c87f867f249482e936797096ad}{Eina\+\_\+\+Inlist}}$\ast$ eina\+\_\+quadtree\+\_\+collide (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Quadtree__Group_ga441f644b2f5b17b6f7c4db0e2738fc06}{Eina\+\_\+\+Quad\+Tree}} $\ast$}]{q,  }\item[{int}]{x,  }\item[{int}]{y,  }\item[{int}]{w,  }\item[{int}]{h }\end{DoxyParamCaption})}



Retrieves items in quadtree inside the target geometry. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em q} & The quadtree to recompute. \\
\hline
\mbox{\texttt{ in}}  & {\em x} & New target X coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em y} & New target Y coordinate. \\
\hline
\mbox{\texttt{ in}}  & {\em w} & New target width. \\
\hline
\mbox{\texttt{ in}}  & {\em h} & New target height. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The list of collided items or {\ttfamily NULL} on error.
\end{DoxyReturn}
Forces a rebuild and resort of the quadtree if needed due to pending changes, then performs a collision detection to find items whose geometry is contained within or intersects the given target geometry. 

References DBG, EINA\+\_\+\+FALSE, EINA\+\_\+\+RECTANGLE\+\_\+\+SET, EINA\+\_\+\+TRUE, and \+\_\+\+Eina\+\_\+\+Rectangle\+::w.

\mbox{\Hypertarget{group__Eina__Quadtree__Group_gaf504487bb848586a9a81f05d64883ebc}\label{group__Eina__Quadtree__Group_gaf504487bb848586a9a81f05d64883ebc}} 
\index{Quadtrees@{Quadtrees}!eina\_quadtree\_object@{eina\_quadtree\_object}}
\index{eina\_quadtree\_object@{eina\_quadtree\_object}!Quadtrees@{Quadtrees}}
\doxysubsubsection{\texorpdfstring{eina\_quadtree\_object()}{eina\_quadtree\_object()}}
{\footnotesize\ttfamily void$\ast$ eina\+\_\+quadtree\+\_\+object (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Inline__List__Group_gad93973c87f867f249482e936797096ad}{Eina\+\_\+\+Inlist}} $\ast$}]{list }\end{DoxyParamCaption})}



Retrieves the quadtree item\textquotesingle{}s data for the given inline list. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em list} & The inline list item to lookup \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The contained data object in the Eina\+\_\+\+Quad\+Tree\+\_\+\+Item, or {\ttfamily NULL} if none could be found. 
\end{DoxyReturn}


References EINA\+\_\+\+INLIST\+\_\+\+CONTAINER\+\_\+\+GET.

