\hypertarget{group__Evas__Object__Group__Find}{}\section{Finding Objects}
\label{group__Evas__Object__Group__Find}\index{Finding Objects@{Finding Objects}}


Functions that allows finding objects by their position, name or other properties.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+P\+I \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gac6c189db37f2ba6de9a50852d7409657}{evas\+\_\+canvas\+\_\+focus\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Retrieve the object that currently has focus. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gae7a75d3891ef4ba91e6236c31ce8447f}{evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieves the object on the given evas with the given name. \end{DoxyCompactList}\item 
\+::\hyperlink{structevas_1_1object}{evas\+::object} \hyperlink{group__Evas__Object__Group__Find_ga1e1c9eaa4f67e57819ab12ecd3cc1654}{evas\+::canvas\+::object\+\_\+name\+\_\+find} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} name\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Retrieves the object on the given evas with the given name. \end{DoxyCompactList}\item 
\+::\hyperlink{structevas_1_1object}{evas\+::object} \hyperlink{group__Evas__Object__Group__Find_ga8ec00fc5f9f70548fdccfe154b209ff4}{evas\+::canvas\+::focus\+\_\+get} () const 
\begin{DoxyCompactList}\small\item\em Retrieve the object that currently has focus. \end{DoxyCompactList}\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaf5a6ebc4c45f1297e816ff809e5d7d0c}{evas\+\_\+focus\+\_\+get} (const Evas\+\_\+\+Canvas $\ast$obj)
\begin{DoxyCompactList}\small\item\em Retrieve the object that currently has focus. \end{DoxyCompactList}\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga1552ca218e534ff097578caa2f2b63ee}{evas\+\_\+object\+\_\+name\+\_\+find} (const Evas\+\_\+\+Canvas $\ast$obj, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Retrieves the object on the given evas with the given name. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaae7a74de034cebcab7a409affd3e19c8}{evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find} (const char $\ast$name, int recurse)
\begin{DoxyCompactList}\small\item\em Retrieves the object from children of the given object with the given name. \end{DoxyCompactList}\item 
\+::\hyperlink{structevas_1_1object}{evas\+::object} \hyperlink{group__Evas__Object__Group__Find_ga863ac08b4bc268325c9fa14d974156bf}{evas\+::object\+::name\+\_\+child\+\_\+find} (\+::\hyperlink{classefl_1_1eina_1_1basic__string__view}{efl\+::eina\+::string\+\_\+view} name\+\_\+, int recurse\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Retrieves the object from children of the given object with the given name. \end{DoxyCompactList}\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gab80081938ad26a67738f8230e37bb5de}{evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$obj, const char $\ast$name, int recurse)
\begin{DoxyCompactList}\small\item\em Retrieves the object from children of the given object with the given name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gafc8081440d0020ef4d5d84d72d2e6952}{evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
\begin{DoxyCompactList}\small\item\em Retrieve the Evas object stacked at the top at the position of the mouse cursor, over a given canvas. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that allows finding objects by their position, name or other properties. 



\subsection{Function Documentation}
\hypertarget{group__Evas__Object__Group__Find_gac6c189db37f2ba6de9a50852d7409657}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+canvas\+\_\+focus\+\_\+get@{evas\+\_\+canvas\+\_\+focus\+\_\+get}}
\index{evas\+\_\+canvas\+\_\+focus\+\_\+get@{evas\+\_\+canvas\+\_\+focus\+\_\+get}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+canvas\+\_\+focus\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I {\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+canvas\+\_\+focus\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gac6c189db37f2ba6de9a50852d7409657}


Retrieve the object that currently has focus. 

\begin{DoxyReturn}{Returns}
The object that has focus or {\ttfamily N\+U\+L\+L} if there is not one.
\end{DoxyReturn}
Evas can have (at most) one of its objects focused at a time. Focused objects will be the ones having {\bfseries key events} delivered to, which the programmer can act upon by means of \hyperlink{group__Evas__Object__Group__Events_ga23be30ac5cdfb780f1ff82e9108ec26b}{evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+add()} usage.

\begin{DoxyNote}{Note}
Most users wouldn\textquotesingle{}t be dealing directly with Evas\textquotesingle{} focused objects. Instead, they would be using a higher level library for that (like a toolkit, as Elementary) to handle focus and who\textquotesingle{}s receiving input for them.
\end{DoxyNote}
This call returns the object that currently has focus on the canvas {\ttfamily e} or {\ttfamily N\+U\+L\+L}, if none.

\begin{DoxySeeAlso}{See also}
evas\+\_\+object\+\_\+focus\+\_\+set 

evas\+\_\+object\+\_\+focus\+\_\+get 

evas\+\_\+object\+\_\+key\+\_\+grab 

evas\+\_\+object\+\_\+key\+\_\+ungrab
\end{DoxySeeAlso}
Example\+:  
\begin{DoxyCodeInclude}
1    evas\_event\_callback\_add(d.canvas, EVAS\_CALLBACK\_CANVAS\_OBJECT\_FOCUS\_IN,
2                            \_object\_focus\_in\_cb, NULL);
3    if (evas\_alloc\_error() != EVAS\_ALLOC\_ERROR\_NONE)
4      \{
5         fprintf(stderr, "ERROR: Callback registering failed! Aborting.\(\backslash\)n");
6         goto panic;
7      \} /* two canvas event callbacks */
8 
9    d.bg = evas\_object\_rectangle\_add(d.canvas);
10    evas\_object\_name\_set(d.bg, "our dear rectangle");
11    evas\_object\_color\_set(d.bg, 255, 255, 255, 255); /* white bg */
12    evas\_object\_move(d.bg, 0, 0); /* at canvas' origin */
13    evas\_object\_resize(d.bg, WIDTH, HEIGHT); /* covers full canvas */
14    evas\_object\_show(d.bg);
15 
16    evas\_object\_focus\_set(d.bg, EINA\_TRUE); /* so we get input events */

\end{DoxyCodeInclude}
  
\begin{DoxyCodeInclude}
1 /* called when our rectangle gets focus */
2 static void
3 \_object\_focus\_in\_cb(void *data EINA\_UNUSED,
4                     Evas *e,
5                     void *event\_info)
6 \{
7    fprintf(stdout, "An object got focused: %s\(\backslash\)n",
8            evas\_object\_name\_get(event\_info));
9 
10    fprintf(stdout, "Let's recheck it: %s\(\backslash\)n",
11            evas\_object\_name\_get(evas\_focus\_get(e)));
12 
13    fprintf(stdout, "And again: %s\(\backslash\)n", evas\_object\_focus\_get(event\_info) ?
14            "OK!" : "Oops, something is bad.");
15 \}

\end{DoxyCodeInclude}


In this example the {\ttfamily event\+\_\+info} is exactly a pointer to that focused rectangle. See the full \hyperlink{Example_Evas_Events}{example}. 

Referenced by evas\+\_\+focus\+\_\+get().

\hypertarget{group__Evas__Object__Group__Find_gae7a75d3891ef4ba91e6236c31ce8447f}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find@{evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find}}
\index{evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find@{evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I {\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gae7a75d3891ef4ba91e6236c31ce8447f}


Retrieves the object on the given evas with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(). If the name is not unique canvas-\/wide, then which one of the many objects with that name is returned is undefined, so only use this if you can ensure the object name is unique.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & The given name. \\
\hline
\end{DoxyParams}


Referenced by evas\+\_\+object\+\_\+name\+\_\+find().

\hypertarget{group__Evas__Object__Group__Find_ga1e1c9eaa4f67e57819ab12ecd3cc1654}{}\index{Finding Objects@{Finding Objects}!object\+\_\+name\+\_\+find@{object\+\_\+name\+\_\+find}}
\index{object\+\_\+name\+\_\+find@{object\+\_\+name\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{object\+\_\+name\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf evas\+::object} evas\+::canvas\+::object\+\_\+name\+\_\+find (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{name\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__Object__Group__Find_ga1e1c9eaa4f67e57819ab12ecd3cc1654}


Retrieves the object on the given evas with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(). If the name is not unique canvas-\/wide, then which one of the many objects with that name is returned is undefined, so only use this if you can ensure the object name is unique.


\begin{DoxyParams}{Parameters}
{\em name} & The given name. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__Object__Group__Find_ga8ec00fc5f9f70548fdccfe154b209ff4}{}\index{Finding Objects@{Finding Objects}!focus\+\_\+get@{focus\+\_\+get}}
\index{focus\+\_\+get@{focus\+\_\+get}!Finding Objects@{Finding Objects}}
\subsubsection[{focus\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf evas\+::object} evas\+::canvas\+::focus\+\_\+get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}\label{group__Evas__Object__Group__Find_ga8ec00fc5f9f70548fdccfe154b209ff4}


Retrieve the object that currently has focus. 

\begin{DoxyReturn}{Returns}
The object that has focus or {\ttfamily N\+U\+L\+L} if there is not one.
\end{DoxyReturn}
Evas can have (at most) one of its objects focused at a time. Focused objects will be the ones having {\bfseries key events} delivered to, which the programmer can act upon by means of \hyperlink{group__Evas__Object__Group__Events_ga23be30ac5cdfb780f1ff82e9108ec26b}{evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+add()} usage.

\begin{DoxyNote}{Note}
Most users wouldn\textquotesingle{}t be dealing directly with Evas\textquotesingle{} focused objects. Instead, they would be using a higher level library for that (like a toolkit, as Elementary) to handle focus and who\textquotesingle{}s receiving input for them.
\end{DoxyNote}
This call returns the object that currently has focus on the canvas {\ttfamily e} or {\ttfamily N\+U\+L\+L}, if none.

\begin{DoxySeeAlso}{See also}
evas\+\_\+object\+\_\+focus\+\_\+set 

evas\+\_\+object\+\_\+focus\+\_\+get 

evas\+\_\+object\+\_\+key\+\_\+grab 

evas\+\_\+object\+\_\+key\+\_\+ungrab
\end{DoxySeeAlso}
Example\+:  
\begin{DoxyCodeInclude}
   \hyperlink{group__Evas__Canvas__Events_gaf236cc76039a654de4df734f8875ba1a}{evas\_event\_callback\_add}(d.canvas, 
      \hyperlink{Evas__Common_8h_a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5}{EVAS\_CALLBACK\_CANVAS\_OBJECT\_FOCUS\_IN},
                           \_object\_focus\_in\_cb, NULL);
   \textcolor{keywordflow}{if} (\hyperlink{group__Evas__Main__Group_gacfae4f589c777003f58d51e502c52835}{evas\_alloc\_error}() != \hyperlink{Evas__Common_8h_a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8}{EVAS\_ALLOC\_ERROR\_NONE})
     \{
        fprintf(stderr, \textcolor{stringliteral}{"ERROR: Callback registering failed! Aborting.\(\backslash\)n"});
        \textcolor{keywordflow}{goto} panic;
     \} \textcolor{comment}{/* two canvas event callbacks */}

   d.bg = \hyperlink{group__Evas__Object__Rectangle_ga4d80fc32ad1cac28428cebd65d746751}{evas\_object\_rectangle\_add}(d.canvas);
   evas\_object\_name\_set(d.bg, \textcolor{stringliteral}{"our dear rectangle"});
   \hyperlink{group__Evas__Object__Group__Basic_gae34bdcfd7f5100151f6ea8ef4a392949}{evas\_object\_color\_set}(d.bg, 255, 255, 255, 255); \textcolor{comment}{/* white bg */}
   \hyperlink{group__Evas__Font__Group_ga02da8091bbac768b8e86c7b74b2a94f9}{evas\_object\_move}(d.bg, 0, 0); \textcolor{comment}{/* at canvas' origin */}
   \hyperlink{group__Evas__Font__Group_ga21e8604c0e4a93e469bff4bd069e82b5}{evas\_object\_resize}(d.bg, WIDTH, HEIGHT); \textcolor{comment}{/* covers full canvas */}
   \hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}(d.bg);

   evas\_object\_focus\_set(d.bg, \hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}); \textcolor{comment}{/* so we get input events */}

\end{DoxyCodeInclude}
  
\begin{DoxyCodeInclude}
\textcolor{comment}{/* called when our rectangle gets focus */}
\textcolor{keyword}{static} \textcolor{keywordtype}{void}
\_object\_focus\_in\_cb(\textcolor{keywordtype}{void} *data EINA\_UNUSED,
                    \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} *e,
                    \textcolor{keywordtype}{void} *event\_info)
\{
   fprintf(stdout, \textcolor{stringliteral}{"An object got focused: %s\(\backslash\)n"},
           evas\_object\_name\_get(event\_info));

   fprintf(stdout, \textcolor{stringliteral}{"Let's recheck it: %s\(\backslash\)n"},
           evas\_object\_name\_get(\hyperlink{group__Evas__Object__Group__Find_gaf5a6ebc4c45f1297e816ff809e5d7d0c}{evas\_focus\_get}(e)));

   fprintf(stdout, \textcolor{stringliteral}{"And again: %s\(\backslash\)n"}, evas\_object\_focus\_get(event\_info) ?
           \textcolor{stringliteral}{"OK!"} : \textcolor{stringliteral}{"Oops, something is bad."});
\}

\end{DoxyCodeInclude}


In this example the {\ttfamily event\+\_\+info} is exactly a pointer to that focused rectangle. See the full \hyperlink{Example_Evas_Events}{example}. \hypertarget{group__Evas__Object__Group__Find_gaf5a6ebc4c45f1297e816ff809e5d7d0c}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+focus\+\_\+get@{evas\+\_\+focus\+\_\+get}}
\index{evas\+\_\+focus\+\_\+get@{evas\+\_\+focus\+\_\+get}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+focus\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+focus\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Canvas $\ast$}]{obj}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gaf5a6ebc4c45f1297e816ff809e5d7d0c}


Retrieve the object that currently has focus. 

\begin{DoxyReturn}{Returns}
The object that has focus or {\ttfamily N\+U\+L\+L} if there is not one.
\end{DoxyReturn}
Evas can have (at most) one of its objects focused at a time. Focused objects will be the ones having {\bfseries key events} delivered to, which the programmer can act upon by means of \hyperlink{group__Evas__Object__Group__Events_ga23be30ac5cdfb780f1ff82e9108ec26b}{evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+add()} usage.

\begin{DoxyNote}{Note}
Most users wouldn\textquotesingle{}t be dealing directly with Evas\textquotesingle{} focused objects. Instead, they would be using a higher level library for that (like a toolkit, as Elementary) to handle focus and who\textquotesingle{}s receiving input for them.
\end{DoxyNote}
This call returns the object that currently has focus on the canvas {\ttfamily e} or {\ttfamily N\+U\+L\+L}, if none.

\begin{DoxySeeAlso}{See also}
evas\+\_\+object\+\_\+focus\+\_\+set 

evas\+\_\+object\+\_\+focus\+\_\+get 

evas\+\_\+object\+\_\+key\+\_\+grab 

evas\+\_\+object\+\_\+key\+\_\+ungrab
\end{DoxySeeAlso}
Example\+:  
\begin{DoxyCodeInclude}
1    evas\_event\_callback\_add(d.canvas, EVAS\_CALLBACK\_CANVAS\_OBJECT\_FOCUS\_IN,
2                            \_object\_focus\_in\_cb, NULL);
3    if (evas\_alloc\_error() != EVAS\_ALLOC\_ERROR\_NONE)
4      \{
5         fprintf(stderr, "ERROR: Callback registering failed! Aborting.\(\backslash\)n");
6         goto panic;
7      \} /* two canvas event callbacks */
8 
9    d.bg = evas\_object\_rectangle\_add(d.canvas);
10    evas\_object\_name\_set(d.bg, "our dear rectangle");
11    evas\_object\_color\_set(d.bg, 255, 255, 255, 255); /* white bg */
12    evas\_object\_move(d.bg, 0, 0); /* at canvas' origin */
13    evas\_object\_resize(d.bg, WIDTH, HEIGHT); /* covers full canvas */
14    evas\_object\_show(d.bg);
15 
16    evas\_object\_focus\_set(d.bg, EINA\_TRUE); /* so we get input events */

\end{DoxyCodeInclude}
  
\begin{DoxyCodeInclude}
1 /* called when our rectangle gets focus */
2 static void
3 \_object\_focus\_in\_cb(void *data EINA\_UNUSED,
4                     Evas *e,
5                     void *event\_info)
6 \{
7    fprintf(stdout, "An object got focused: %s\(\backslash\)n",
8            evas\_object\_name\_get(event\_info));
9 
10    fprintf(stdout, "Let's recheck it: %s\(\backslash\)n",
11            evas\_object\_name\_get(evas\_focus\_get(e)));
12 
13    fprintf(stdout, "And again: %s\(\backslash\)n", evas\_object\_focus\_get(event\_info) ?
14            "OK!" : "Oops, something is bad.");
15 \}

\end{DoxyCodeInclude}


In this example the {\ttfamily event\+\_\+info} is exactly a pointer to that focused rectangle. See the full \hyperlink{Example_Evas_Events}{example}. 

References evas\+\_\+canvas\+\_\+focus\+\_\+get().

\hypertarget{group__Evas__Object__Group__Find_ga1552ca218e534ff097578caa2f2b63ee}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+object\+\_\+name\+\_\+find@{evas\+\_\+object\+\_\+name\+\_\+find}}
\index{evas\+\_\+object\+\_\+name\+\_\+find@{evas\+\_\+object\+\_\+name\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+object\+\_\+name\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+object\+\_\+name\+\_\+find (
\begin{DoxyParamCaption}
\item[{const Evas\+\_\+\+Canvas $\ast$}]{obj, }
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_ga1552ca218e534ff097578caa2f2b63ee}


Retrieves the object on the given evas with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(). If the name is not unique canvas-\/wide, then which one of the many objects with that name is returned is undefined, so only use this if you can ensure the object name is unique.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & The given name. \\
\hline
\end{DoxyParams}


References evas\+\_\+canvas\+\_\+object\+\_\+name\+\_\+find().



Referenced by edje\+\_\+evas\+\_\+global\+\_\+perspective\+\_\+get(), and edje\+\_\+perspective\+\_\+global\+\_\+set().

\hypertarget{group__Evas__Object__Group__Find_gaae7a74de034cebcab7a409affd3e19c8}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find@{evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find}}
\index{evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find@{evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I {\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{int}]{recurse}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gaae7a74de034cebcab7a409affd3e19c8}


Retrieves the object from children of the given object with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(), but it O\+N\+L\+Y looks at the children of the object $\ast$p obj, and will only recurse into those children if {\ttfamily recurse} is greater than 0. If the name is not unique within immediate children (or the whole child tree) then it is not defined which child object will be returned. If {\ttfamily recurse} is set to -\/1 then it will recurse without limit.

\begin{DoxySince}{Since}
1.\+2
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & The given name. \\
\hline
\mbox{\tt in}  & {\em recurse} & Set to the number of child levels to recurse (0 == don\textquotesingle{}t recurse, 1 == only look at the children of {\ttfamily obj} or their immediate children, but no further etc.). \\
\hline
\end{DoxyParams}


Referenced by evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find().

\hypertarget{group__Evas__Object__Group__Find_ga863ac08b4bc268325c9fa14d974156bf}{}\index{Finding Objects@{Finding Objects}!name\+\_\+child\+\_\+find@{name\+\_\+child\+\_\+find}}
\index{name\+\_\+child\+\_\+find@{name\+\_\+child\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{name\+\_\+child\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}\+::{\bf evas\+::object} evas\+::object\+::name\+\_\+child\+\_\+find (
\begin{DoxyParamCaption}
\item[{\+::{\bf efl\+::eina\+::string\+\_\+view}}]{name\+\_\+, }
\item[{int}]{recurse\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__Object__Group__Find_ga863ac08b4bc268325c9fa14d974156bf}


Retrieves the object from children of the given object with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(), but it O\+N\+L\+Y looks at the children of the object $\ast$p obj, and will only recurse into those children if {\ttfamily recurse} is greater than 0. If the name is not unique within immediate children (or the whole child tree) then it is not defined which child object will be returned. If {\ttfamily recurse} is set to -\/1 then it will recurse without limit.

\begin{DoxySince}{Since}
1.\+2
\end{DoxySince}

\begin{DoxyParams}{Parameters}
{\em name} & The given name. \\
\hline
{\em recurse} & Set to the number of child levels to recurse (0 == don\textquotesingle{}t recurse, 1 == only look at the children of {\ttfamily obj} or their immediate children, but no further etc.). \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__Object__Group__Find_gab80081938ad26a67738f8230e37bb5de}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find@{evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find}}
\index{evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find@{evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+object\+\_\+name\+\_\+child\+\_\+find (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Object} $\ast$}]{obj, }
\item[{const char $\ast$}]{name, }
\item[{int}]{recurse}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gab80081938ad26a67738f8230e37bb5de}


Retrieves the object from children of the given object with the given name. 

\begin{DoxyReturn}{Returns}
If successful, the Evas object with the given name. Otherwise, {\ttfamily N\+U\+L\+L}.
\end{DoxyReturn}
This looks for the evas object given a name by evas\+\_\+object\+\_\+name\+\_\+set(), but it O\+N\+L\+Y looks at the children of the object $\ast$p obj, and will only recurse into those children if {\ttfamily recurse} is greater than 0. If the name is not unique within immediate children (or the whole child tree) then it is not defined which child object will be returned. If {\ttfamily recurse} is set to -\/1 then it will recurse without limit.

\begin{DoxySince}{Since}
1.\+2
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em name} & The given name. \\
\hline
\mbox{\tt in}  & {\em recurse} & Set to the number of child levels to recurse (0 == don\textquotesingle{}t recurse, 1 == only look at the children of {\ttfamily obj} or their immediate children, but no further etc.). \\
\hline
\end{DoxyParams}


References evas\+\_\+obj\+\_\+name\+\_\+child\+\_\+find().

\hypertarget{group__Evas__Object__Group__Find_gafc8081440d0020ef4d5d84d72d2e6952}{}\index{Finding Objects@{Finding Objects}!evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get@{evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get}}
\index{evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get@{evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get}!Finding Objects@{Finding Objects}}
\subsubsection[{evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+\+Object}$\ast$ evas\+\_\+object\+\_\+top\+\_\+at\+\_\+pointer\+\_\+get (
\begin{DoxyParamCaption}
\item[{const {\bf Evas} $\ast$}]{e}
\end{DoxyParamCaption}
)}\label{group__Evas__Object__Group__Find_gafc8081440d0020ef4d5d84d72d2e6952}


Retrieve the Evas object stacked at the top at the position of the mouse cursor, over a given canvas. 


\begin{DoxyParams}{Parameters}
{\em e} & A handle to the canvas. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The Evas object that is over all other objects at the mouse pointer\textquotesingle{}s position
\end{DoxyReturn}
This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas covering the mouse pointer\textquotesingle{}s position, over {\ttfamily e}.

\begin{DoxyWarning}{Warning}
This function will {\bfseries skip} objects parented by smart objects, acting only on the ones at the \char`\"{}top level\char`\"{}, with regard to object parenting. 
\end{DoxyWarning}


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

