\hypertarget{group__Elm__Cursors}{}\section{Cursors}
\label{group__Elm__Cursors}\index{Cursors@{Cursors}}


The Elementary cursor is an internal smart object used to customize the mouse cursor displayed over objects (or widgets).  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elm__Cursors_ga2f5ec14ea37d71b4438ccdca9fb070f1}{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Get the configured cursor engine only usage. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Cursors_ga8b092d2bbcafe6b0e0f219c14b453ce8}{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set}} (\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} engine\+\_\+only)
\begin{DoxyCompactList}\small\item\em Set the configured cursor engine only usage. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set}} (\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj, const char $\ast$cursor)
\begin{DoxyCompactList}\small\item\em Set the cursor to be shown when mouse is over the object. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__Elm__Cursors_ga5f373305b277fbcdcbbb4845fe67477d}{elm\+\_\+object\+\_\+cursor\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the cursor to be shown when mouse is over the object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Cursors_ga1c97e902d92b738ddb6dda541ede562f}{elm\+\_\+object\+\_\+cursor\+\_\+unset}} (\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Unset cursor for object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Cursors_ga3ce9ab46838d54c86eb9aa55eef2f3e1}{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set}} (\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj, const char $\ast$style)
\begin{DoxyCompactList}\small\item\em Sets a different style for this object cursor. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{group__Elm__Cursors_gafb4a7e9b1e15cce8ffe0dbd208df11eb}{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get the style for this object cursor. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Elm__Cursors_ga09f002e2c7d7e12840f0ad864240eb43}{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set}} (\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} theme\+\_\+search)
\begin{DoxyCompactList}\small\item\em Set if the cursor set should be searched on the theme or should use the provided by the engine, only. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Elm__Cursors_ga284901b22b2964fbe5688f8ec2b84efe}{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$obj)
\begin{DoxyCompactList}\small\item\em Get if the cursor set should be searched on the theme for this object cursor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The Elementary cursor is an internal smart object used to customize the mouse cursor displayed over objects (or widgets). 

In the most common scenario, the cursor decoration comes from the graphical {\bfseries engine} Elementary is running on. Those engines may provide different decorations for cursors, and Elementary provides functions to choose them (think of X11 cursors, as an example).

By default, Elementary searches cursors only from engine. There\textquotesingle{}s also the possibility of, besides using engine provided cursors, also use the ones coming from Edje theme files. Both globally and per widget, Elementary makes it possible for one to make the cursors lookup to be held on engines only or on Elementary\textquotesingle{}s theme file, too. To set cursor\textquotesingle{}s hot spot, two data items should be added to cursor\textquotesingle{}s theme\+: \char`\"{}hot\+\_\+x\char`\"{} and \char`\"{}hot\+\_\+y\char`\"{}, that are the offset from upper-\/left corner of the cursor (coordinates 0,0). 

\subsection{Function Documentation}
\mbox{\Hypertarget{group__Elm__Cursors_ga2f5ec14ea37d71b4438ccdca9fb070f1}\label{group__Elm__Cursors_ga2f5ec14ea37d71b4438ccdca9fb070f1}} 
\index{Cursors@{Cursors}!elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get@{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get}}
\index{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get@{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get()}{elm\_config\_cursor\_engine\_only\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Get the configured cursor engine only usage. 

This gets the globally configured exclusive usage of engine cursors.

\begin{DoxyReturn}{Returns}
1 if only engine cursors should be used 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Elm__Cursors_ga8b092d2bbcafe6b0e0f219c14b453ce8}\label{group__Elm__Cursors_ga8b092d2bbcafe6b0e0f219c14b453ce8}} 
\index{Cursors@{Cursors}!elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set@{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set}}
\index{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set@{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set()}{elm\_config\_cursor\_engine\_only\_set()}}
{\footnotesize\ttfamily void elm\+\_\+config\+\_\+cursor\+\_\+engine\+\_\+only\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{engine\+\_\+only }\end{DoxyParamCaption})}



Set the configured cursor engine only usage. 

This sets the globally configured exclusive usage of engine cursors. It won\textquotesingle{}t affect cursors set before changing this value.


\begin{DoxyParams}{Parameters}
{\em engine\+\_\+only} & If 1 only engine cursors will be enabled, if 0 will look for them on theme before. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}\label{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+set}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+set}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+set()}{elm\_object\_cursor\_set()}}
{\footnotesize\ttfamily void elm\+\_\+object\+\_\+cursor\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj,  }\item[{const char $\ast$}]{cursor }\end{DoxyParamCaption})}



Set the cursor to be shown when mouse is over the object. 

Set the cursor that will be displayed when mouse is over the object. The object can have only one cursor set to it, so if this function is called twice for an object, the previous set will be unset. If using X cursors, a definition of all the valid cursor names is listed on Elementary\+\_\+\+Cursors.\+h. If an invalid name is set the default cursor will be used.


\begin{DoxyParams}{Parameters}
{\em obj} & the object being set a cursor. \\
\hline
{\em cursor} & the cursor name to be used. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Elm__Cursors_ga5f373305b277fbcdcbbb4845fe67477d}\label{group__Elm__Cursors_ga5f373305b277fbcdcbbb4845fe67477d}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+get}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+get}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+get()}{elm\_object\_cursor\_get()}}
{\footnotesize\ttfamily const char$\ast$ elm\+\_\+object\+\_\+cursor\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj }\end{DoxyParamCaption})}



Get the cursor to be shown when mouse is over the object. 


\begin{DoxyParams}{Parameters}
{\em obj} & an object with cursor already set. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the cursor name. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Elm__Cursors_ga1c97e902d92b738ddb6dda541ede562f}\label{group__Elm__Cursors_ga1c97e902d92b738ddb6dda541ede562f}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+unset@{elm\+\_\+object\+\_\+cursor\+\_\+unset}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+unset@{elm\+\_\+object\+\_\+cursor\+\_\+unset}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+unset()}{elm\_object\_cursor\_unset()}}
{\footnotesize\ttfamily void elm\+\_\+object\+\_\+cursor\+\_\+unset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj }\end{DoxyParamCaption})}



Unset cursor for object. 

Unset cursor for object, and set the cursor to default if the mouse was over this object.


\begin{DoxyParams}{Parameters}
{\em obj} & Target object \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set()}} 
\end{DoxySeeAlso}


References ecore\+\_\+evas\+\_\+object\+\_\+cursor\+\_\+set(), ecore\+\_\+job\+\_\+del(), eina\+\_\+stringshare\+\_\+del(), E\+L\+M\+\_\+\+O\+B\+J\+E\+C\+T\+\_\+\+L\+A\+Y\+E\+R\+\_\+\+C\+U\+R\+S\+OR, E\+V\+A\+S\+\_\+\+C\+A\+L\+L\+B\+A\+C\+K\+\_\+\+D\+EL, evas\+\_\+object\+\_\+del(), and evas\+\_\+object\+\_\+event\+\_\+callback\+\_\+del\+\_\+full().

\mbox{\Hypertarget{group__Elm__Cursors_ga3ce9ab46838d54c86eb9aa55eef2f3e1}\label{group__Elm__Cursors_ga3ce9ab46838d54c86eb9aa55eef2f3e1}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set()}{elm\_object\_cursor\_style\_set()}}
{\footnotesize\ttfamily void elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj,  }\item[{const char $\ast$}]{style }\end{DoxyParamCaption})}



Sets a different style for this object cursor. 

\begin{DoxyNote}{Note}
before you set a style you should define a cursor with \mbox{\hyperlink{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set()}}
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & an object with cursor already set. \\
\hline
{\em style} & the theme style to use (default, transparent, ...) \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{group__Elm__Cursors_gafb4a7e9b1e15cce8ffe0dbd208df11eb}\label{group__Elm__Cursors_gafb4a7e9b1e15cce8ffe0dbd208df11eb}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get()}{elm\_object\_cursor\_style\_get()}}
{\footnotesize\ttfamily const char$\ast$ elm\+\_\+object\+\_\+cursor\+\_\+style\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj }\end{DoxyParamCaption})}



Get the style for this object cursor. 


\begin{DoxyParams}{Parameters}
{\em obj} & an object with cursor already set. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
style the theme style in use, defaults to \char`\"{}default\char`\"{}. If the object does not have a cursor set, then N\+U\+LL is returned. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Elm__Cursors_ga09f002e2c7d7e12840f0ad864240eb43}\label{group__Elm__Cursors_ga09f002e2c7d7e12840f0ad864240eb43}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set@{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set()}{elm\_object\_cursor\_theme\_search\_enabled\_set()}}
{\footnotesize\ttfamily void elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{theme\+\_\+search }\end{DoxyParamCaption})}



Set if the cursor set should be searched on the theme or should use the provided by the engine, only. 

\begin{DoxyNote}{Note}
before you set theme\+\_\+search you should define a cursor with \mbox{\hyperlink{group__Elm__Cursors_ga184fcbba5e5767af38018a14c91bd027}{elm\+\_\+object\+\_\+cursor\+\_\+set()}}. By default it will only look for cursors provided by the engine.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em obj} & an object with cursor already set. \\
\hline
{\em theme\+\_\+search} & boolean to define if cursors should be searched on widget\textquotesingle{}s theme. \\
\hline
\end{DoxyParams}


References evas\+\_\+object\+\_\+del().

\mbox{\Hypertarget{group__Elm__Cursors_ga284901b22b2964fbe5688f8ec2b84efe}\label{group__Elm__Cursors_ga284901b22b2964fbe5688f8ec2b84efe}} 
\index{Cursors@{Cursors}!elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get}}
\index{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get@{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get}!Cursors@{Cursors}}
\subsubsection{\texorpdfstring{elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get()}{elm\_object\_cursor\_theme\_search\_enabled\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} elm\+\_\+object\+\_\+cursor\+\_\+theme\+\_\+search\+\_\+enabled\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\+\_\+\+Object}} $\ast$}]{obj }\end{DoxyParamCaption})}



Get if the cursor set should be searched on the theme for this object cursor. 


\begin{DoxyParams}{Parameters}
{\em obj} & an object with cursor already set. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+UE} if the cursor set should be searched on widget\textquotesingle{}s theme, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+SE} otherwise. 
\end{DoxyReturn}


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

