\hypertarget{group__Evas__Event__Feeding__Group}{}\doxysection{Input Events Feeding Functions}
\label{group__Evas__Event__Feeding__Group}\index{Input Events Feeding Functions@{Input Events Feeding Functions}}


Functions to tell Evas that input events happened and should be processed.  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga1cac61ec35bf877063a0c41ca6266750}{evas\+\_\+device\+\_\+add}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Add a new device type. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}{evas\+\_\+device\+\_\+add\+\_\+full}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e, const char $\ast$name, const char $\ast$desc, \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$parent\+\_\+dev, \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$emulation\+\_\+dev, \mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}} clas, \mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}} sub\+\_\+class)
\begin{DoxyCompactList}\small\item\em Add a new device type. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Delete a new device type. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}{evas\+\_\+device\+\_\+push}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e, \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Push the current context device onto the device stack. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}{evas\+\_\+device\+\_\+pop}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em This pops the top of the device stack for the canvas. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8dbdfaebed0c637d550df9fb07451ec9}{evas\+\_\+device\+\_\+list}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e, const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em List all current devices attached to the given canvas and/or device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad502a0935d9072c9e85a3feb4822d273}{evas\+\_\+device\+\_\+get}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Get a device by its name. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa223d9f2ffa6d6e9036292deb5d51d03}{evas\+\_\+device\+\_\+get\+\_\+by\+\_\+seat\+\_\+id}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$eo\+\_\+e, unsigned int id)
\begin{DoxyCompactList}\small\item\em Get a device by its seat id. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga7dc54b5df0a8685e0d731a87bb6359a3}{evas\+\_\+device\+\_\+name\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Set the name of a device as a string. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API const char $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gab1fce879e074c0f4238cdd381880af65}{evas\+\_\+device\+\_\+name\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the name of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga23ce419952244c5ac80993c0cd34a32b}{evas\+\_\+device\+\_\+seat\+\_\+id\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, unsigned int id)
\begin{DoxyCompactList}\small\item\em Set the seat id of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API unsigned int \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga6e148211db16fd830decc27b4df5583e}{evas\+\_\+device\+\_\+seat\+\_\+id\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the seat id of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga60e34947c9f19f219ed2a289605ec5ce}{evas\+\_\+device\+\_\+description\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, const char $\ast$desc)
\begin{DoxyCompactList}\small\item\em Set the description of a device as a string. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API const char $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga28222e3e2719dce7f1f3bd35c7ec209a}{evas\+\_\+device\+\_\+description\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the description of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa99a696989934c5e4ff7da6dc07fd882}{evas\+\_\+device\+\_\+parent\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$parent) \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}}
\begin{DoxyCompactList}\small\item\em Set the parent of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga2cf5fe3feeea4af3416311573ddbaed6}{evas\+\_\+device\+\_\+parent\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the parent of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga0ab38c504fc0f7aa9dcd04faed996228}{evas\+\_\+device\+\_\+class\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, \mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}} clas) \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}}
\begin{DoxyCompactList}\small\item\em Set the major class of device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}} \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga70a280ae43fb10965bc589be58b90d7c}{evas\+\_\+device\+\_\+class\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the major class of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaaa20183e09e6d0c5bbd4347947312932}{evas\+\_\+device\+\_\+subclass\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, \mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}} clas)
\begin{DoxyCompactList}\small\item\em Set the sub-\/class of a device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}} \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad0401801db120023e346696ea3aeb8b9}{evas\+\_\+device\+\_\+subclass\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the device sub-\/class. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gae2bd2824018963d0ee23baaab5fbc837}{evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+set}} (\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev, \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$src)
\begin{DoxyCompactList}\small\item\em Set the emulation source device. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga3070964f8382591ea4b98e4b076d3361}{evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+get}} (const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the emulation source device. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}{evas\+\_\+event\+\_\+freeze}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Freeze all input events processing. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}{evas\+\_\+event\+\_\+thaw}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Thaw a canvas out after freezing (for input events). \end{DoxyCompactList}\item 
EVAS\+\_\+\+API int \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga3e09e9a64476832ee5542e69bdf45835}{evas\+\_\+event\+\_\+freeze\+\_\+get}} (const \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em Return the freeze count on input events of a given canvas. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac8c98e6f5c8a3a642ddf883486dd72b0}{evas\+\_\+event\+\_\+thaw\+\_\+eval}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$e)
\begin{DoxyCompactList}\small\item\em After thaw of a canvas, re-\/evaluate the state of objects and call callbacks. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa34871062b6237eab9b247b9bec8cb39}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+move}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int x, int y, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse move event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaf379e989ec925d58d8d9d1200de921c2}{evas\+\_\+event\+\_\+input\+\_\+mouse\+\_\+move}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int x, int y, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse move event feed from input. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga2eed5764572a80576385f58ee540387d}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+up}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int b, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse up event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8309e43b36d74eac7ec4f05f23837b07}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+down}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int b, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse down event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga3db21d65954631b39800ebe428927381}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+wheel}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int direction, int z, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse wheel event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8ad304013a868e4b7a0c7dd11ed10d81}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+in}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse in event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga613418c9a5aeb888dd1029866b177c43}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+out}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse out event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga030fdeebc4b0c5e0c24382f67206259a}{evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+cancel}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Mouse cancel event feed. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga86643046d7e35085671deff79b86c79a}\label{group__Evas__Event__Feeding__Group_ga86643046d7e35085671deff79b86c79a}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+input\+\_\+multi\+\_\+down} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga9d465849b1c16ef7af6654db2b088ada}\label{group__Evas__Event__Feeding__Group_ga9d465849b1c16ef7af6654db2b088ada}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+input\+\_\+multi\+\_\+move} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga5b276694268a1e67f4e46dd3f33126e6}\label{group__Evas__Event__Feeding__Group_ga5b276694268a1e67f4e46dd3f33126e6}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+input\+\_\+multi\+\_\+up} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga1b18697fdf6781efdead911249d515b6}\label{group__Evas__Event__Feeding__Group_ga1b18697fdf6781efdead911249d515b6}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+feed\+\_\+multi\+\_\+down} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga5a2a214173e4d6fb0d1d1722b8701c03}\label{group__Evas__Event__Feeding__Group_ga5a2a214173e4d6fb0d1d1722b8701c03}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+feed\+\_\+multi\+\_\+move} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void $\ast$data)
\item 
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga850f43b9b814a830ce6a7d71326f072d}\label{group__Evas__Event__Feeding__Group_ga850f43b9b814a830ce6a7d71326f072d}} 
EVAS\+\_\+\+API void {\bfseries evas\+\_\+event\+\_\+feed\+\_\+multi\+\_\+up} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, \mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}} flags, unsigned int timestamp, const void $\ast$data)
\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga5da441d70ffb4844fcc73d4345530a45}{evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Key down event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga805432d2134c673968008c76f09f6fbc}{evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Key up event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga1d077a25a2435bbe26316260e62fbf87}{evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down\+\_\+with\+\_\+keycode}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data, unsigned int keycode)
\begin{DoxyCompactList}\small\item\em Key down event feed with keycode. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gadf053176680e0afaafe4a7a27c9f41bc}{evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up\+\_\+with\+\_\+keycode}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data, unsigned int keycode)
\begin{DoxyCompactList}\small\item\em Key up event feed with keycode. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gade39df63541d1ef0afb8d1dc828106e7}{evas\+\_\+event\+\_\+feed\+\_\+axis\+\_\+update}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, unsigned int timestamp, int device, int toolid, int naxes, const \mbox{\hyperlink{struct__Evas__Axis}{Evas\+\_\+\+Axis}} $\ast$axis, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Input device axis update event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gadacc98f3d35e1e1cf1d50d3d8c746e4a}{evas\+\_\+event\+\_\+feed\+\_\+hold}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, int hold, unsigned int timestamp, const void $\ast$data)
\begin{DoxyCompactList}\small\item\em Hold event feed. \end{DoxyCompactList}\item 
EVAS\+\_\+\+API void \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga7cae73b9df4cc947206438586a963c93}{evas\+\_\+event\+\_\+refeed\+\_\+event}} (\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$obj, void $\ast$event\+\_\+copy, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968}{Evas\+\_\+\+Callback\+\_\+\+Type}} event\+\_\+type)
\begin{DoxyCompactList}\small\item\em Re feed event. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Functions to tell Evas that input events happened and should be processed. 

\begin{DoxyWarning}{Warning}
Most of the time these functions are {\bfseries{not}} what you\textquotesingle{}re looking for. These functions should only be used if you\textquotesingle{}re not working with ecore evas (or another input handling system). If you\textquotesingle{}re not using ecore evas please consider using it, in most situation it will make life a lot easier.
\end{DoxyWarning}
As explained in intro\+\_\+not\+\_\+evas, Evas does not know how to poll for input events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly. Modules such as Ecore\+\_\+\+Evas do that for you.

Some of the functions in this group are exemplified \mbox{\hyperlink{Example_Evas_Events}{here}}. 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga1cac61ec35bf877063a0c41ca6266750}\label{group__Evas__Event__Feeding__Group_ga1cac61ec35bf877063a0c41ca6266750}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_add@{evas\_device\_add}}
\index{evas\_device\_add@{evas\_device\_add}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_add()}{evas\_device\_add()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Add a new device type. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to create the device node for.\\
\hline
\end{DoxyParams}
Adds a new device node to the given canvas {\ttfamily e}. All devices created as part of the canvas {\ttfamily e} will automatically be deleted when the canvas is freed.

\begin{DoxyReturn}{Returns}
the device node created or NULL if an error occurred.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}{evas\+\_\+device\+\_\+add\+\_\+full}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}{evas\+\_\+device\+\_\+add\+\_\+full()}}, \mbox{\hyperlink{Evas__Common_8h_aeb6c55fb08da911568b3292270c87737af55c643f2fdf9aef5bba8b9ba481e05c}{EVAS\+\_\+\+DEVICE\+\_\+\+CLASS\+\_\+\+NONE}}, and \mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8aa4576345c9e45f5f2c14cf4f5d51aa1c5}{EVAS\+\_\+\+DEVICE\+\_\+\+SUBCLASS\+\_\+\+NONE}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}\label{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_add\_full@{evas\_device\_add\_full}}
\index{evas\_device\_add\_full@{evas\_device\_add\_full}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_add\_full()}{evas\_device\_add\_full()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+add\+\_\+full (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e,  }\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{desc,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{parent\+\_\+dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{emulation\+\_\+dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}}}]{clas,  }\item[{\mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}}}]{sub\+\_\+class }\end{DoxyParamCaption})}



Add a new device type. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to create the device node for. \\
\hline
{\em name} & The name of the device. \\
\hline
{\em desc} & The description of the device. \\
\hline
{\em parent\+\_\+dev} & The parent device. \\
\hline
{\em emulation\+\_\+dev} & The source device. \\
\hline
{\em clas} & The device class. \\
\hline
{\em sub\+\_\+class} & The device subclass.\\
\hline
\end{DoxyParams}
Adds a new device node to the given canvas {\ttfamily e}. All devices created as part of the canvas {\ttfamily e} will automatically be deleted when the canvas is freed.

\begin{DoxyReturn}{Returns}
the device node created or NULL if an error occurred.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Inline__List__Group_ga65e496b9b16d527d23c1d735652b4e62}{EINA\+\_\+\+INLIST\+\_\+\+FOREACH}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}, \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}, \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga70a280ae43fb10965bc589be58b90d7c}{evas\+\_\+device\+\_\+class\+\_\+get()}}, \mbox{\hyperlink{Evas__Common_8h_aeb6c55fb08da911568b3292270c87737a8e8a16e58bed3e733bf17e0fee813119}{EVAS\+\_\+\+DEVICE\+\_\+\+CLASS\+\_\+\+KEYBOARD}}, \mbox{\hyperlink{Evas__Common_8h_aeb6c55fb08da911568b3292270c87737a70f35c20375269e83b3bcd949df3213c}{EVAS\+\_\+\+DEVICE\+\_\+\+CLASS\+\_\+\+MOUSE}}, \mbox{\hyperlink{Evas__Common_8h_aeb6c55fb08da911568b3292270c87737a130fa4acdc5554f76ec5800a2bf080c9}{EVAS\+\_\+\+DEVICE\+\_\+\+CLASS\+\_\+\+SEAT}}, and \mbox{\hyperlink{group__Evas__Object__Group_gac6d65f8896ab59780553676d0017c2ef}{evas\+\_\+object\+\_\+focus\+\_\+set()}}.



Referenced by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga1cac61ec35bf877063a0c41ca6266750}{evas\+\_\+device\+\_\+add()}}, and \mbox{\hyperlink{group__Evas__Canvas_ga9335e65d48b48b0b29408bf580071edd}{evas\+\_\+output\+\_\+method\+\_\+set()}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}\label{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_del@{evas\_device\_del}}
\index{evas\_device\_del@{evas\_device\_del}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_del()}{evas\_device\_del()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+del (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Delete a new device type. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device node you want to delete.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga1cac61ec35bf877063a0c41ca6266750}{evas\+\_\+device\+\_\+add}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}{evas\+\_\+device\+\_\+push}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}{evas\+\_\+device\+\_\+pop}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}\label{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_push@{evas\_device\_push}}
\index{evas\_device\_push@{evas\_device\_push}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_push()}{evas\_device\_push()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+push (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Push the current context device onto the device stack. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to push the device on to \\
\hline
{\em dev} & The device to push.\\
\hline
\end{DoxyParams}
This pushes the given device {\ttfamily dev} onto the stack for the canvas {\ttfamily e} resulting in the dev pointer in all events that get fed to the canvas being the device at the top of the device stack for that canvas.

If a device is pushed onto the device stack, it will not be deleted until a canvas free OR until it has been popped from the stack even if \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del()}} is called.

The device {\ttfamily dev} must have been created as a device for the canvas it is pushed onto (and not another canvas).

Example\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}{evas\_device\_push}}(canvas,\ dev);}
\DoxyCodeLine{evas\_event\_feed\_mouse\_move(canvas,\ 20,\ 30,\ 0,\ NULL);}
\DoxyCodeLine{\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}{evas\_device\_pop}}(canvas);}

\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}{evas\+\_\+device\+\_\+pop}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Array__Group_gaf4b5844225b5359a617744210a5ed6ff}{eina\+\_\+array\+\_\+new()}}, \mbox{\hyperlink{group__Eina__Array__Group_ga97ac1fe353f4cd7a9762af4d4db7b9c4}{eina\+\_\+array\+\_\+push()}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}\label{group__Evas__Event__Feeding__Group_ga05960d9c2b3162344381ec06bf6001d3}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_pop@{evas\_device\_pop}}
\index{evas\_device\_pop@{evas\_device\_pop}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_pop()}{evas\_device\_pop()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+pop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



This pops the top of the device stack for the canvas. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to pop the device stack from\\
\hline
\end{DoxyParams}
This pops the top of the device stack making the current device context used for device events being what is now at the top of the stack after popping.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8c1b47d211b2f52853555adfb9ccd85f}{evas\+\_\+device\+\_\+push}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Array__Group_ga329683a8ccfa53ecfc70f04d7f471560}{eina\+\_\+array\+\_\+pop()}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga8dbdfaebed0c637d550df9fb07451ec9}\label{group__Evas__Event__Feeding__Group_ga8dbdfaebed0c637d550df9fb07451ec9}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_list@{evas\_device\_list}}
\index{evas\_device\_list@{evas\_device\_list}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_list()}{evas\_device\_list()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ evas\+\_\+device\+\_\+list (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e,  }\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



List all current devices attached to the given canvas and/or device. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to query for a device list \\
\hline
{\em dev} & A specific device inside the canvas to query for child devices or NULL if just querying the base canvas devices \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An internal list of Evas\+\_\+\+Device pointers, or NULL if no devices are found
\end{DoxyReturn}
This will list all devices belonging to a specific evas canvas {\ttfamily e}, at the top-\/level in the device tree if {\ttfamily dev} passed in is NULL. If {\ttfamily dev} is a valid device for the given canvas {\ttfamily e}, then a list of child devices of {\ttfamily dev} will be returned, allowing you to walk the device tree.

The list returned is only valid so long as no changes are made to the device tree in the given canvas {\ttfamily e}. If there are no devices or children then NULL is returned.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga2cf5fe3feeea4af3416311573ddbaed6}{evas\+\_\+device\+\_\+parent\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gab1fce879e074c0f4238cdd381880af65}{evas\+\_\+device\+\_\+name\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga28222e3e2719dce7f1f3bd35c7ec209a}{evas\+\_\+device\+\_\+description\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga70a280ae43fb10965bc589be58b90d7c}{evas\+\_\+device\+\_\+class\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad0401801db120023e346696ea3aeb8b9}{evas\+\_\+device\+\_\+subclass\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga3070964f8382591ea4b98e4b076d3361}{evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+get}} 
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gad502a0935d9072c9e85a3feb4822d273}\label{group__Evas__Event__Feeding__Group_gad502a0935d9072c9e85a3feb4822d273}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_get@{evas\_device\_get}}
\index{evas\_device\_get@{evas\_device\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_get()}{evas\_device\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Get a device by its name. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to find the device on \\
\hline
{\em name} & The name of the device.\\
\hline
\end{DoxyParams}
Gets the first occurrence of a device named as {\ttfamily name} on Evas {\ttfamily e} list of devices.

\begin{DoxyReturn}{Returns}
the device or NULL if an error occurred, no name was provided, or no device with a matching name was found.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaa223d9f2ffa6d6e9036292deb5d51d03}\label{group__Evas__Event__Feeding__Group_gaa223d9f2ffa6d6e9036292deb5d51d03}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_get\_by\_seat\_id@{evas\_device\_get\_by\_seat\_id}}
\index{evas\_device\_get\_by\_seat\_id@{evas\_device\_get\_by\_seat\_id}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_get\_by\_seat\_id()}{evas\_device\_get\_by\_seat\_id()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+get\+\_\+by\+\_\+seat\+\_\+id (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{eo\+\_\+e,  }\item[{unsigned int}]{id }\end{DoxyParamCaption})}



Get a device by its seat id. 


\begin{DoxyParams}{Parameters}
{\em eo\+\_\+e} & The canvas to find the device on \\
\hline
{\em id} & The seat id of the device.\\
\hline
\end{DoxyParams}
Gets the device with id {\ttfamily id} on Evas {\ttfamily e} list of devices.

\begin{DoxyReturn}{Returns}
the device or NULL if no device with a matching id was found.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga7dc54b5df0a8685e0d731a87bb6359a3}\label{group__Evas__Event__Feeding__Group_ga7dc54b5df0a8685e0d731a87bb6359a3}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_name\_set@{evas\_device\_name\_set}}
\index{evas\_device\_name\_set@{evas\_device\_name\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_name\_set()}{evas\_device\_name\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+name\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Set the name of a device as a string. 

{\ttfamily dev} The device to set the name of {\ttfamily name} The name string as a readable C UTF8 string

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


References \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gab1fce879e074c0f4238cdd381880af65}\label{group__Evas__Event__Feeding__Group_gab1fce879e074c0f4238cdd381880af65}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_name\_get@{evas\_device\_name\_get}}
\index{evas\_device\_name\_get@{evas\_device\_name\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_name\_get()}{evas\_device\_name\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API const char $\ast$ evas\+\_\+device\+\_\+name\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the name of a device. 

{\ttfamily dev} The device to query \begin{DoxyReturn}{Returns}
The device name string or NULL if none is set
\end{DoxyReturn}
This gets the name set by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga7dc54b5df0a8685e0d731a87bb6359a3}{evas\+\_\+device\+\_\+name\+\_\+set()}}. This is a readable UTF8 C string, or NULL if no name is set.

The name should be a short name like \char`\"{}\+Wireless Mouse\char`\"{}, \char`\"{}\+Joystick\char`\"{}, \char`\"{}\+Finger\char`\"{}, \char`\"{}\+Keyboard\char`\"{} or \char`\"{}\+Numberpad\char`\"{} etc.

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


Referenced by \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_gad6b3b7cbb61105c492be1d816b6bc899}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+down\+\_\+wrap()}}, and \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_ga780bcd9093b281d92da4428cd721d239}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+up\+\_\+wrap()}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga23ce419952244c5ac80993c0cd34a32b}\label{group__Evas__Event__Feeding__Group_ga23ce419952244c5ac80993c0cd34a32b}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_seat\_id\_set@{evas\_device\_seat\_id\_set}}
\index{evas\_device\_seat\_id\_set@{evas\_device\_seat\_id\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_seat\_id\_set()}{evas\_device\_seat\_id\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+seat\+\_\+id\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{unsigned int}]{id }\end{DoxyParamCaption})}



Set the seat id of a device. 

{\ttfamily dev} The device to set the seat id of {\ttfamily name} The seat id

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


Referenced by \mbox{\hyperlink{group__Evas__Canvas_ga9335e65d48b48b0b29408bf580071edd}{evas\+\_\+output\+\_\+method\+\_\+set()}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga6e148211db16fd830decc27b4df5583e}\label{group__Evas__Event__Feeding__Group_ga6e148211db16fd830decc27b4df5583e}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_seat\_id\_get@{evas\_device\_seat\_id\_get}}
\index{evas\_device\_seat\_id\_get@{evas\_device\_seat\_id\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_seat\_id\_get()}{evas\_device\_seat\_id\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API unsigned int evas\+\_\+device\+\_\+seat\+\_\+id\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the seat id of a device. 

{\ttfamily dev} The device to query \begin{DoxyReturn}{Returns}
The device seat id or 0 if none is set
\end{DoxyReturn}
This gets the seat id set by evas\+\_\+device\+\_\+seat id\+\_\+set().

A seat id is the hardware id of the seat.

\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga60e34947c9f19f219ed2a289605ec5ce}\label{group__Evas__Event__Feeding__Group_ga60e34947c9f19f219ed2a289605ec5ce}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_description\_set@{evas\_device\_description\_set}}
\index{evas\_device\_description\_set@{evas\_device\_description\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_description\_set()}{evas\_device\_description\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+description\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{const char $\ast$}]{desc }\end{DoxyParamCaption})}



Set the description of a device as a string. 

{\ttfamily dev} The device to set the description of {\ttfamily name} The description string as a readable C UTF8 string

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


References \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga28222e3e2719dce7f1f3bd35c7ec209a}\label{group__Evas__Event__Feeding__Group_ga28222e3e2719dce7f1f3bd35c7ec209a}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_description\_get@{evas\_device\_description\_get}}
\index{evas\_device\_description\_get@{evas\_device\_description\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_description\_get()}{evas\_device\_description\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API const char $\ast$ evas\+\_\+device\+\_\+description\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the description of a device. 

{\ttfamily dev} The device to query \begin{DoxyReturn}{Returns}
The device description string or NULL if none is set
\end{DoxyReturn}
This gets the description set by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga60e34947c9f19f219ed2a289605ec5ce}{evas\+\_\+device\+\_\+description\+\_\+set()}}. This is a readable UTF8 C string, or NULL if no description is set.

A description is meant to be a longer string describing the device so a human may make sense of it. For example \char`\"{}\+Wireless 6 button mouse in Black with red buttons\char`\"{} would be a good description, so a user may identify precisely which device is being talked about.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaa99a696989934c5e4ff7da6dc07fd882}\label{group__Evas__Event__Feeding__Group_gaa99a696989934c5e4ff7da6dc07fd882}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_parent\_set@{evas\_device\_parent\_set}}
\index{evas\_device\_parent\_set@{evas\_device\_parent\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_parent\_set()}{evas\_device\_parent\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+parent\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{parent }\end{DoxyParamCaption})}



Set the parent of a device. 

{\ttfamily dev} The device to set the parent of {\ttfamily parent} The new parent device

This sets the parent of a device {\ttfamily dev} to the parent given by {\ttfamily parent}. If the device already has a parent, it is removed from that parent\textquotesingle{}s list. If {\ttfamily parent} is NULL then the device is unparented and placed back as a root device in the canvas.

When a device is deleted with \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del()}}, all children are also deleted along with it.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaa13c80ad5fa1601f12dd540e3937968d}{evas\+\_\+device\+\_\+del}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga2cf5fe3feeea4af3416311573ddbaed6}{evas\+\_\+device\+\_\+parent\+\_\+get}} 

\mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga8dbdfaebed0c637d550df9fb07451ec9}{evas\+\_\+device\+\_\+list}}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga2cf5fe3feeea4af3416311573ddbaed6}\label{group__Evas__Event__Feeding__Group_ga2cf5fe3feeea4af3416311573ddbaed6}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_parent\_get@{evas\_device\_parent\_get}}
\index{evas\_device\_parent\_get@{evas\_device\_parent\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_parent\_get()}{evas\_device\_parent\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+parent\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the parent of a device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device to query \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The parent device or NULL if it is a toplevel
\end{DoxyReturn}
This returns the parent device of any given device entry, or NULL if no parent device exists (is a toplevel device).

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga0ab38c504fc0f7aa9dcd04faed996228}\label{group__Evas__Event__Feeding__Group_ga0ab38c504fc0f7aa9dcd04faed996228}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_class\_set@{evas\_device\_class\_set}}
\index{evas\_device\_class\_set@{evas\_device\_class\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_class\_set()}{evas\_device\_class\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+class\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}}}]{clas }\end{DoxyParamCaption})}



Set the major class of device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device whose class to set \\
\hline
{\em clas} & The class to set it to\\
\hline
\end{DoxyParams}
This sets the \char`\"{}primary\char`\"{} class of device (a broad thing like mouse, keyboard, touch, pen etc.).

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000609}{Deprecated}}]The class of a device can not be changed after creation.\end{DoxyRefDesc}


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


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga8b89fd35e22beece51443e29fe585935}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga70a280ae43fb10965bc589be58b90d7c}\label{group__Evas__Event__Feeding__Group_ga70a280ae43fb10965bc589be58b90d7c}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_class\_get@{evas\_device\_class\_get}}
\index{evas\_device\_class\_get@{evas\_device\_class\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_class\_get()}{evas\_device\_class\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_af7f202c12ff590de71e43731c7baf841}{Evas\+\_\+\+Device\+\_\+\+Class}} evas\+\_\+device\+\_\+class\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the major class of a device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The devise to query \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The device class to set
\end{DoxyReturn}
This gets the device class set by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_ga0ab38c504fc0f7aa9dcd04faed996228}{evas\+\_\+device\+\_\+class\+\_\+set()}}.

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


Referenced by \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_gad6b3b7cbb61105c492be1d816b6bc899}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+down\+\_\+wrap()}}, \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_ga780bcd9093b281d92da4428cd721d239}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+up\+\_\+wrap()}}, and \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gad67f542e92ee88f4bed25bc20a452130}{evas\+\_\+device\+\_\+add\+\_\+full()}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaaa20183e09e6d0c5bbd4347947312932}\label{group__Evas__Event__Feeding__Group_gaaa20183e09e6d0c5bbd4347947312932}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_subclass\_set@{evas\_device\_subclass\_set}}
\index{evas\_device\_subclass\_set@{evas\_device\_subclass\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_subclass\_set()}{evas\_device\_subclass\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+subclass\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}}}]{clas }\end{DoxyParamCaption})}



Set the sub-\/class of a device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device to modify \\
\hline
{\em clas} & The sub-\/class to set\\
\hline
\end{DoxyParams}
This sets the sub-\/class of a device, giving much more detailed usage within a broader category.

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


References \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gad0401801db120023e346696ea3aeb8b9}\label{group__Evas__Event__Feeding__Group_gad0401801db120023e346696ea3aeb8b9}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_subclass\_get@{evas\_device\_subclass\_get}}
\index{evas\_device\_subclass\_get@{evas\_device\_subclass\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_subclass\_get()}{evas\_device\_subclass\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API \mbox{\hyperlink{Evas__Common_8h_ae6b93623100650e484b3ddc9c608de8a}{Evas\+\_\+\+Device\+\_\+\+Subclass}} evas\+\_\+device\+\_\+subclass\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the device sub-\/class. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device to query \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The device sub-\/class set by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaaa20183e09e6d0c5bbd4347947312932}{evas\+\_\+device\+\_\+subclass\+\_\+set()}}.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


Referenced by \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_gad6b3b7cbb61105c492be1d816b6bc899}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+down\+\_\+wrap()}}, and \mbox{\hyperlink{group__Ecore__IMF__Evas__Group_ga780bcd9093b281d92da4428cd721d239}{ecore\+\_\+imf\+\_\+evas\+\_\+event\+\_\+key\+\_\+up\+\_\+wrap()}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gae2bd2824018963d0ee23baaab5fbc837}\label{group__Evas__Event__Feeding__Group_gae2bd2824018963d0ee23baaab5fbc837}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_emulation\_source\_set@{evas\_device\_emulation\_source\_set}}
\index{evas\_device\_emulation\_source\_set@{evas\_device\_emulation\_source\_set}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_emulation\_source\_set()}{evas\_device\_emulation\_source\_set()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev,  }\item[{\mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{src }\end{DoxyParamCaption})}



Set the emulation source device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device being emulated \\
\hline
{\em src} & The primary source device producing events in the emulated device\\
\hline
\end{DoxyParams}
Devices may not be real, but may be emulated by listening to input on other devices and modifying or interpeting it to generate output on an emulated device (example a finger on a touchscreen will often emulate a mouse when it presses). This allows you to set which device primarily emulates {\ttfamily dev} so the user can choose to ignore events from emulated devices if they also pay attention to source device events for example.

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


References \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a7d0a5c603c05e528319dc8c8d6e5cc3c}{EVAS\+\_\+\+CALLBACK\+\_\+\+DEVICE\+\_\+\+CHANGED}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga3070964f8382591ea4b98e4b076d3361}\label{group__Evas__Event__Feeding__Group_ga3070964f8382591ea4b98e4b076d3361}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_device\_emulation\_source\_get@{evas\_device\_emulation\_source\_get}}
\index{evas\_device\_emulation\_source\_get@{evas\_device\_emulation\_source\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_device\_emulation\_source\_get()}{evas\_device\_emulation\_source\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$ evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{Evas__Common_8h_a639a59adaf61d20194c9b6c2bdcddc7b}{Evas\+\_\+\+Device}} $\ast$}]{dev }\end{DoxyParamCaption})}



Get the emulation source device. 


\begin{DoxyParams}{Parameters}
{\em dev} & The device to query \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The source emulation device set by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gae2bd2824018963d0ee23baaab5fbc837}{evas\+\_\+device\+\_\+emulation\+\_\+source\+\_\+set()}}.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}\label{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_freeze@{evas\_event\_freeze}}
\index{evas\_event\_freeze@{evas\_event\_freeze}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_freeze()}{evas\_event\_freeze()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+freeze (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Freeze all input events processing. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to freeze input events processing on.\\
\hline
\end{DoxyParams}
This function will indicate to Evas that the canvas {\ttfamily e} is to have all input event processing frozen until a matching \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}{evas\+\_\+event\+\_\+thaw()}} function is called on the same canvas. All events of this kind during the freeze will get {\bfseries{discarded}}. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas (i.\+e. these calls may be nested). The most common use is when you don\textquotesingle{}t want the user to interact with your user interface when you\textquotesingle{}re populating a view or changing the layout.

Example\+:  
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}\(\backslash\)tf\ -\/\ freeze\ input\ for\ 3\ seconds\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}\(\backslash\)tp\ -\/\ toggle\ precise\ point\ collision\ detection\ on\ image\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}\(\backslash\)tControl\ +\ o\ -\/\ add\ an\ obscured\ rectangle\(\backslash\)n"{}}}
\DoxyCodeLine{\ \ \textcolor{stringliteral}{"{}\(\backslash\)th\ -\/\ print\ help\(\backslash\)n"{}};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{struct\ }test\_data}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ Ecore\_Evas\ \ *ee;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}}\ \ \ \ \ \ \ \ *canvas;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}}\ *img,\ *bg;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Ecore__Timer__Group_gaf96ffb609956658ec038e54bd39f46f0}{Ecore\_Timer}}\ *resize\_timer,\ *freeze\_timer;}
\DoxyCodeLine{\ \ \ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}\ \ \ \ obscured,\ focus;}
\DoxyCodeLine{\};}

\end{DoxyCodeInclude}
 
\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{comment}{/*\ let's\ have\ our\ events\ back\ */}}
\DoxyCodeLine{\textcolor{keyword}{static}\ \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}}
\DoxyCodeLine{\_thaw\_cb(\textcolor{keywordtype}{void}\ *data\ \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \ printf(\textcolor{stringliteral}{"{}Canvas\ was\ frozen\ \%d\ times,\ now\ thawing.\(\backslash\)n"{}},}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \ \ evas\_event\_freeze\_get(d.canvas));}
\DoxyCodeLine{\ \ \ evas\_event\_thaw(d.canvas);}
\DoxyCodeLine{\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};\ \textcolor{comment}{/*\ do\ not\ re-\/issue\ the\ timer\ */}}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 See the full \mbox{\hyperlink{Example_Evas_Events}{example}}.

If you run that example, you\textquotesingle{}ll see the canvas ignoring all input events for 3 seconds, when the \char`\"{}f\char`\"{} key is pressed. In a more realistic code we would be freezing while a toolkit or Edje was doing some UI changes, thawing it back afterwards. \mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}\label{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_thaw@{evas\_event\_thaw}}
\index{evas\_event\_thaw@{evas\_event\_thaw}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_thaw()}{evas\_event\_thaw()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+thaw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Thaw a canvas out after freezing (for input events). 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to thaw out.\\
\hline
\end{DoxyParams}
This will thaw out a canvas after a matching \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}{evas\+\_\+event\+\_\+freeze()}} call. If this call completely thaws out a canvas, i.\+e., there\textquotesingle{}s no other unbalanced call to \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}{evas\+\_\+event\+\_\+freeze()}}, events will start to be processed again, but any \char`\"{}missed\char`\"{} events will {\bfseries{not}} be evaluated.

See \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}{evas\+\_\+event\+\_\+freeze()}} for an example. \mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga3e09e9a64476832ee5542e69bdf45835}\label{group__Evas__Event__Feeding__Group_ga3e09e9a64476832ee5542e69bdf45835}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_freeze\_get@{evas\_event\_freeze\_get}}
\index{evas\_event\_freeze\_get@{evas\_event\_freeze\_get}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_freeze\_get()}{evas\_event\_freeze\_get()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API int evas\+\_\+event\+\_\+freeze\+\_\+get (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



Return the freeze count on input events of a given canvas. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to fetch the freeze count from.\\
\hline
\end{DoxyParams}
This returns the number of times the canvas has been told to freeze input events. It is possible to call \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gac9f27bac4cf9e78e9a925ef670d7b10e}{evas\+\_\+event\+\_\+freeze()}} multiple times, and these must be matched by \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}{evas\+\_\+event\+\_\+thaw()}} calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.

Example\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{extern}\ \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}}\ *evas;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordflow}{while}\ (evas\_event\_freeze\_get(evas)\ >\ 0)\ evas\_event\_thaw(evas);}

\end{DoxyCode}
 \mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gac8c98e6f5c8a3a642ddf883486dd72b0}\label{group__Evas__Event__Feeding__Group_gac8c98e6f5c8a3a642ddf883486dd72b0}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_thaw\_eval@{evas\_event\_thaw\_eval}}
\index{evas\_event\_thaw\_eval@{evas\_event\_thaw\_eval}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_thaw\_eval()}{evas\_event\_thaw\_eval()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+thaw\+\_\+eval (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{e }\end{DoxyParamCaption})}



After thaw of a canvas, re-\/evaluate the state of objects and call callbacks. 


\begin{DoxyParams}{Parameters}
{\em e} & The canvas to evaluate after a thaw\\
\hline
\end{DoxyParams}
This is normally called after \mbox{\hyperlink{group__Evas__Event__Feeding__Group_gaf098fa23a6852c7620b0eda43d39595f}{evas\+\_\+event\+\_\+thaw()}} to re-\/evaluate mouse containment and other states and thus also call callbacks for mouse in and out on new objects if the state change demands it. 

References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaa34871062b6237eab9b247b9bec8cb39}\label{group__Evas__Event__Feeding__Group_gaa34871062b6237eab9b247b9bec8cb39}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_move@{evas\_event\_feed\_mouse\_move}}
\index{evas\_event\_feed\_mouse\_move@{evas\_event\_feed\_mouse\_move}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_move()}{evas\_event\_feed\_mouse\_move()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+move (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{x,  }\item[{int}]{y,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse move event feed. 

This function will set some evas properties that are necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em y} & The vertical position of the mouse pointer. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gaf379e989ec925d58d8d9d1200de921c2}\label{group__Evas__Event__Feeding__Group_gaf379e989ec925d58d8d9d1200de921c2}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_input\_mouse\_move@{evas\_event\_input\_mouse\_move}}
\index{evas\_event\_input\_mouse\_move@{evas\_event\_input\_mouse\_move}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_input\_mouse\_move()}{evas\_event\_input\_mouse\_move()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+input\+\_\+mouse\+\_\+move (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{x,  }\item[{int}]{y,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse move event feed from input. 

Similar to the evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+move, this function will inform Evas about mouse move events which were received by the input system, relative to the 0,0 of the window, not to the canvas 0,0. It will take care of doing any special transformation like adding the framespace offset to the mouse event.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em y} & The vertical position of the mouse pointer relative to the 0,0 of the window/surface. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse move event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga2eed5764572a80576385f58ee540387d}\label{group__Evas__Event__Feeding__Group_ga2eed5764572a80576385f58ee540387d}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_up@{evas\_event\_feed\_mouse\_up}}
\index{evas\_event\_feed\_mouse\_up@{evas\_event\_feed\_mouse\_up}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_up()}{evas\_event\_feed\_mouse\_up()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+up (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{b,  }\item[{\mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}}}]{flags,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse up event feed. 

This function will set some evas properties that are necessary when the mouse button is released. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em flags} & Evas button flags. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga8309e43b36d74eac7ec4f05f23837b07}\label{group__Evas__Event__Feeding__Group_ga8309e43b36d74eac7ec4f05f23837b07}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_down@{evas\_event\_feed\_mouse\_down}}
\index{evas\_event\_feed\_mouse\_down@{evas\_event\_feed\_mouse\_down}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_down()}{evas\_event\_feed\_mouse\_down()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+down (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{b,  }\item[{\mbox{\hyperlink{Evas__Common_8h_aa1de0ea11a10c36ebeaad9a39b3186a5}{Evas\+\_\+\+Button\+\_\+\+Flags}}}]{flags,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse down event feed. 

This function will set some evas properties that are necessary when the mouse button is pressed. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em flags} & Evas button flags. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga3db21d65954631b39800ebe428927381}\label{group__Evas__Event__Feeding__Group_ga3db21d65954631b39800ebe428927381}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_wheel@{evas\_event\_feed\_mouse\_wheel}}
\index{evas\_event\_feed\_mouse\_wheel@{evas\_event\_feed\_mouse\_wheel}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_wheel()}{evas\_event\_feed\_mouse\_wheel()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+wheel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{direction,  }\item[{int}]{z,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse wheel event feed. 

This function will set some evas properties that are necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em z} & How much mouse wheel was scrolled up or down. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga8ad304013a868e4b7a0c7dd11ed10d81}\label{group__Evas__Event__Feeding__Group_ga8ad304013a868e4b7a0c7dd11ed10d81}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_in@{evas\_event\_feed\_mouse\_in}}
\index{evas\_event\_feed\_mouse\_in@{evas\_event\_feed\_mouse\_in}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_in()}{evas\_event\_feed\_mouse\_in()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+in (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse in event feed. 

This function will set some evas properties that are necessary when the mouse in event happens. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga613418c9a5aeb888dd1029866b177c43}\label{group__Evas__Event__Feeding__Group_ga613418c9a5aeb888dd1029866b177c43}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_out@{evas\_event\_feed\_mouse\_out}}
\index{evas\_event\_feed\_mouse\_out@{evas\_event\_feed\_mouse\_out}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_out()}{evas\_event\_feed\_mouse\_out()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+out (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse out event feed. 

This function will set some evas properties that are necessary when the mouse out event happens. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga030fdeebc4b0c5e0c24382f67206259a}\label{group__Evas__Event__Feeding__Group_ga030fdeebc4b0c5e0c24382f67206259a}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_mouse\_cancel@{evas\_event\_feed\_mouse\_cancel}}
\index{evas\_event\_feed\_mouse\_cancel@{evas\_event\_feed\_mouse\_cancel}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_mouse\_cancel()}{evas\_event\_feed\_mouse\_cancel()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+mouse\+\_\+cancel (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Mouse cancel event feed. 

This function will call generate a mouse up event.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga5da441d70ffb4844fcc73d4345530a45}\label{group__Evas__Event__Feeding__Group_ga5da441d70ffb4844fcc73d4345530a45}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_key\_down@{evas\_event\_feed\_key\_down}}
\index{evas\_event\_feed\_key\_down@{evas\_event\_feed\_key\_down}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_key\_down()}{evas\_event\_feed\_key\_down()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{const char $\ast$}]{keyname,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$}]{string,  }\item[{const char $\ast$}]{compose,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Key down event feed. 

This function will set some evas properties that are necessary when a key is pressed. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em key} & The key pressed. \\
\hline
\mbox{\texttt{ in}}  & {\em string} & A string. \\
\hline
\mbox{\texttt{ in}}  & {\em compose} & The compose string. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & Timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga805432d2134c673968008c76f09f6fbc}\label{group__Evas__Event__Feeding__Group_ga805432d2134c673968008c76f09f6fbc}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_key\_up@{evas\_event\_feed\_key\_up}}
\index{evas\_event\_feed\_key\_up@{evas\_event\_feed\_key\_up}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_key\_up()}{evas\_event\_feed\_key\_up()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{const char $\ast$}]{keyname,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$}]{string,  }\item[{const char $\ast$}]{compose,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Key up event feed. 

This function will set some evas properties that are necessary when a key is released. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em key} & The key released. \\
\hline
\mbox{\texttt{ in}}  & {\em string} & A string. \\
\hline
\mbox{\texttt{ in}}  & {\em compose} & Compose. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & Timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga1d077a25a2435bbe26316260e62fbf87}\label{group__Evas__Event__Feeding__Group_ga1d077a25a2435bbe26316260e62fbf87}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_key\_down\_with\_keycode@{evas\_event\_feed\_key\_down\_with\_keycode}}
\index{evas\_event\_feed\_key\_down\_with\_keycode@{evas\_event\_feed\_key\_down\_with\_keycode}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_key\_down\_with\_keycode()}{evas\_event\_feed\_key\_down\_with\_keycode()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+down\+\_\+with\+\_\+keycode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{const char $\ast$}]{keyname,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$}]{string,  }\item[{const char $\ast$}]{compose,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data,  }\item[{unsigned int}]{keycode }\end{DoxyParamCaption})}



Key down event feed with keycode. 

This function will set some evas properties that are necessary when a key is pressed. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em key} & The key released. \\
\hline
\mbox{\texttt{ in}}  & {\em string} & A string. \\
\hline
\mbox{\texttt{ in}}  & {\em compose} & Compose. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & Timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data for canvas. \\
\hline
\mbox{\texttt{ in}}  & {\em keycode} & Key scan code numeric value for canvas.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gadf053176680e0afaafe4a7a27c9f41bc}\label{group__Evas__Event__Feeding__Group_gadf053176680e0afaafe4a7a27c9f41bc}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_key\_up\_with\_keycode@{evas\_event\_feed\_key\_up\_with\_keycode}}
\index{evas\_event\_feed\_key\_up\_with\_keycode@{evas\_event\_feed\_key\_up\_with\_keycode}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_key\_up\_with\_keycode()}{evas\_event\_feed\_key\_up\_with\_keycode()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+key\+\_\+up\+\_\+with\+\_\+keycode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{const char $\ast$}]{keyname,  }\item[{const char $\ast$}]{key,  }\item[{const char $\ast$}]{string,  }\item[{const char $\ast$}]{compose,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data,  }\item[{unsigned int}]{keycode }\end{DoxyParamCaption})}



Key up event feed with keycode. 

This function will set some evas properties that are necessary when a key is released. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em key} & The key released. \\
\hline
\mbox{\texttt{ in}}  & {\em string} & A string. \\
\hline
\mbox{\texttt{ in}}  & {\em compose} & Compose. \\
\hline
\mbox{\texttt{ in}}  & {\em timestamp} & Timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data for canvas. \\
\hline
\mbox{\texttt{ in}}  & {\em keycode} & Key scan code numeric value for canvas.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gade39df63541d1ef0afb8d1dc828106e7}\label{group__Evas__Event__Feeding__Group_gade39df63541d1ef0afb8d1dc828106e7}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_axis\_update@{evas\_event\_feed\_axis\_update}}
\index{evas\_event\_feed\_axis\_update@{evas\_event\_feed\_axis\_update}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_axis\_update()}{evas\_event\_feed\_axis\_update()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+axis\+\_\+update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{unsigned int}]{timestamp,  }\item[{int}]{device,  }\item[{int}]{toolid,  }\item[{int}]{naxes,  }\item[{const \mbox{\hyperlink{struct__Evas__Axis}{Evas\+\_\+\+Axis}} $\ast$}]{axis,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Input device axis update event feed. 

This function will set some evas properties that are necessary when an e.\+g. stylus axis is updated. It prepares information to be treated by the callback function.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em device} & System-\/provided device identifier. \\
\hline
\mbox{\texttt{ in}}  & {\em toolid} & Type of tool currently being used. \\
\hline
\mbox{\texttt{ in}}  & {\em naxes} & Number of elements in the {\ttfamily axis} array. \\
\hline
\mbox{\texttt{ in}}  & {\em axis} & Array containing the current value of all updated axes. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & Data for canvas.\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+13 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba4299cb35a4b7cd13b240828e5cc00397}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+AZIMUTH}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba633466183e782eca959d9276b724856f}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+DISTANCE}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1babb11e4d40544608be3f73da326e26f3c}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+NORMAL\+\_\+X}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1bac9368a0d68f090fe0609cc2f369d65ab}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+NORMAL\+\_\+Y}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1baa134872579b861d3158d3956c05feb9d}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+PRESSURE}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba4f04963da2a8063fa99bb17fa7359f7c}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TILT}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1baf72612992e69675ba39e11d7ac3fcde4}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TOOL\+\_\+\+WIDTH\+\_\+\+MAJOR}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba4e61bed0f176d6d879e5171795a5ed8e}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TOOL\+\_\+\+WIDTH\+\_\+\+MINOR}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba976b4c82dbb5fcaed346817d35947a83}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TOUCH\+\_\+\+WIDTH\+\_\+\+MAJOR}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1bae6a93050f86e5287dc96f1c9ed13dad8}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TOUCH\+\_\+\+WIDTH\+\_\+\+MINOR}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1bae22893836f262eaeba7a41e1e7b3c836}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+TWIST}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba3b7f9b8c89e808eb0731e66fe1cce4c7}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+UNKNOWN}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba090e68d970dc0fe96943196703488364}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+WINDOW\+\_\+X}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba0987bf439bcbedb7044d9e83c09966ba}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+\+WINDOW\+\_\+Y}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba6a95bd2f5a87d879476211c8e6c613dd}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+X}}, \mbox{\hyperlink{group__Evas__Canvas__Events_gga5b9cb5b15cb929522d6cad85a06a0b1ba276f6be8eb55cbcea0e9f581e50acb82}{EVAS\+\_\+\+AXIS\+\_\+\+LABEL\+\_\+Y}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_gadacc98f3d35e1e1cf1d50d3d8c746e4a}\label{group__Evas__Event__Feeding__Group_gadacc98f3d35e1e1cf1d50d3d8c746e4a}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_feed\_hold@{evas\_event\_feed\_hold}}
\index{evas\_event\_feed\_hold@{evas\_event\_feed\_hold}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_feed\_hold()}{evas\_event\_feed\_hold()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+feed\+\_\+hold (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{int}]{hold,  }\item[{unsigned int}]{timestamp,  }\item[{const void $\ast$}]{data }\end{DoxyParamCaption})}



Hold event feed. 

This function makes the object to stop sending events.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em timestamp} & The timestamp of the mouse up event. \\
\hline
\mbox{\texttt{ in}}  & {\em data} & The data for canvas. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}, \mbox{\hyperlink{group__Eina__List__Group_ga82a1bfa543e21853f9ea3ff88dd1250b}{eina\+\_\+list\+\_\+free()}}, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a585e05307b99c361e54df68a4f341a85}{EVAS\+\_\+\+CALLBACK\+\_\+\+HOLD}}, and \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}.

\mbox{\Hypertarget{group__Evas__Event__Feeding__Group_ga7cae73b9df4cc947206438586a963c93}\label{group__Evas__Event__Feeding__Group_ga7cae73b9df4cc947206438586a963c93}} 
\index{Input Events Feeding Functions@{Input Events Feeding Functions}!evas\_event\_refeed\_event@{evas\_event\_refeed\_event}}
\index{evas\_event\_refeed\_event@{evas\_event\_refeed\_event}!Input Events Feeding Functions@{Input Events Feeding Functions}}
\doxysubsubsection{\texorpdfstring{evas\_event\_refeed\_event()}{evas\_event\_refeed\_event()}}
{\footnotesize\ttfamily EVAS\+\_\+\+API void evas\+\_\+event\+\_\+refeed\+\_\+event (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} $\ast$}]{obj,  }\item[{void $\ast$}]{event\+\_\+copy,  }\item[{\mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968}{Evas\+\_\+\+Callback\+\_\+\+Type}}}]{event\+\_\+type }\end{DoxyParamCaption})}



Re feed event. 

This function re-\/feeds the event pointed by event\+\_\+copy.

This function call evas\+\_\+event\+\_\+feed\+\_\+$\ast$ functions, so it can cause havoc if not used wisely. Please use it responsibly.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em event\+\_\+type} & Event type. \\
\hline
\end{DoxyParams}


References \mbox{\hyperlink{struct__Evas__Event__Mouse__Down_a0ab02808721d6c55fc642ecbb37d5ff9}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Down\+::button}}, \mbox{\hyperlink{struct__Evas__Event__Mouse__Up_aa513164499624ee1e6f1790899efe60f}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Up\+::button}}, \mbox{\hyperlink{struct__Evas__Position_a7e8e1417868ef65b1c2cee1f9f02e4eb}{\+\_\+\+Evas\+\_\+\+Position\+::canvas}}, \mbox{\hyperlink{struct__Evas__Precision__Position_a4ee2ba8991b6657d668397b75f939eb7}{\+\_\+\+Evas\+\_\+\+Precision\+\_\+\+Position\+::canvas}}, \mbox{\hyperlink{struct__Evas__Event__Key__Down_a5ea3ff931ae945c486abd2388c6d653a}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Down\+::compose}}, \mbox{\hyperlink{struct__Evas__Event__Key__Up_ac0d6a67e53331d863d141475b1b905fb}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Up\+::compose}}, \mbox{\hyperlink{struct__Evas__Event__Mouse__Move_a652812079b71cc4c52053a75c4b574e2}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Move\+::cur}}, \mbox{\hyperlink{struct__Evas__Event__Multi__Down_a990b8c081ce4bb5b494ae6632b78cbe4}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Multi\+\_\+\+Down\+::device}}, \mbox{\hyperlink{struct__Evas__Event__Multi__Up_a6569e24edde1a26221efbdf54b62f5c9}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Multi\+\_\+\+Up\+::device}}, \mbox{\hyperlink{struct__Evas__Event__Multi__Move_a664db8b96c8999777c79e9ba165d124a}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Multi\+\_\+\+Move\+::device}}, \mbox{\hyperlink{struct__Evas__Event__Mouse__Wheel_a1b2b656820a32561ed0b28128bee0306}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Wheel\+::direction}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga4c65e34fc0099bb68833d44ad02fb724}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968ac23663dca40b52b534c2688ed266be1e}{EVAS\+\_\+\+CALLBACK\+\_\+\+AXIS\+\_\+\+UPDATE}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a336b86bad4f145f84c155e4922335584}{EVAS\+\_\+\+CALLBACK\+\_\+\+KEY\+\_\+\+DOWN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968ac436b50ad665089f8a24b0fb827cec5f}{EVAS\+\_\+\+CALLBACK\+\_\+\+KEY\+\_\+\+UP}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a9fa52651ccf7e47cd3b7785fc4cf393f}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+DOWN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a598c57bc146639618157159a319f11af}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+IN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a23fb97fb7cbccded54ccf3fc4e1dab8a}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+MOVE}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a91aaa30a57047d0ee8a734e603751c25}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+OUT}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a8c1b22c99dd0231cd9ba1fecbffffac7}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+UP}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a39d739f473db520ec4dfe0776ed43be4}{EVAS\+\_\+\+CALLBACK\+\_\+\+MOUSE\+\_\+\+WHEEL}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968ab5bb0de31eaeed655255e71ffe518b80}{EVAS\+\_\+\+CALLBACK\+\_\+\+MULTI\+\_\+\+DOWN}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a6d0ade7e69dc62f728fa2e29168e923f}{EVAS\+\_\+\+CALLBACK\+\_\+\+MULTI\+\_\+\+MOVE}}, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a4328f52cfb700b5c705edf7173afdd94}{EVAS\+\_\+\+CALLBACK\+\_\+\+MULTI\+\_\+\+UP}}, \mbox{\hyperlink{group__Evas__Canvas_ga7987306d8b2c49352b9d2c41585d0ce9}{EVAS\+\_\+\+CANVAS\+\_\+\+CLASS}}, \mbox{\hyperlink{struct__Evas__Event__Mouse__Down_ae9ca343a14873bcd7d167e483a3f7b08}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Down\+::flags}}, \mbox{\hyperlink{struct__Evas__Event__Mouse__Up_adce74337882b112638fe3806390bf73b}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Mouse\+\_\+\+Up\+::flags}}, \mbox{\hyperlink{struct__Evas__Event__Multi__Down_a1dd041b4eb9cf11c762d038adc4d92a6}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Multi\+\_\+\+Down\+::flags}}, \mbox{\hyperlink{struct__Evas__Event__Multi__Up_a008304897f795ce876c9da789c875122}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Multi\+\_\+\+Up\+::flags}}, \mbox{\hyperlink{struct__Evas__Event__Key__Down_a70473bba88a1afaee180a54150513824}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Down\+::key}}, \mbox{\hyperlink{struct__Evas__Event__Key__Up_a865118cf93e4454ac101d663b8027b41}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Up\+::key}}, \mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Down\+::keyname}}, \mbox{\hyperlink{struct__Evas__Event__Key__Up_a03b32c8ba37a03fbd3ea7cd63e5f47be}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Up\+::keyname}}, \mbox{\hyperlink{struct__Evas__Event__Key__Down_a1b64741ca0b90a5119463f320ebeea00}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Down\+::string}}, \mbox{\hyperlink{struct__Evas__Event__Key__Up_aadff1de218baec7322b0ed0f6cf6d662}{\+\_\+\+Evas\+\_\+\+Event\+\_\+\+Key\+\_\+\+Up\+::string}}, \mbox{\hyperlink{struct__Evas__Coord__Point_ad809771faf3700a1492e4465336e6b1e}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Point\+::x}}, \mbox{\hyperlink{struct__Evas__Coord__Precision__Point_a8cab3483eece4600b298d56f4a46fc60}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Precision\+\_\+\+Point\+::x}}, \mbox{\hyperlink{struct__Evas__Coord__Precision__Point_ad226d71cbf377b70fbf9fdc1c764d609}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Precision\+\_\+\+Point\+::xsub}}, \mbox{\hyperlink{struct__Evas__Coord__Point_ad7450d6ad43e6a7394af6807721144f7}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Point\+::y}}, \mbox{\hyperlink{struct__Evas__Coord__Precision__Point_a76cb7d78f6840bcad39739cbe26227d2}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Precision\+\_\+\+Point\+::y}}, and \mbox{\hyperlink{struct__Evas__Coord__Precision__Point_a7e72eb0529745e3576408d8f85606052}{\+\_\+\+Evas\+\_\+\+Coord\+\_\+\+Precision\+\_\+\+Point\+::ysub}}.

