\hypertarget{group__Ecore__Drm__Device__Group}{}\section{Device manipulation functions}
\label{group__Ecore__Drm__Device__Group}\index{Device manipulation functions@{Device manipulation functions}}


Functions that deal with finding, opening, closing, and otherwise using the D\+R\+M device itself.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$ \hyperlink{group__Ecore__Drm__Device__Group_ga623adb021492ba05d498d4506f9f9086}{ecore\+\_\+drm\+\_\+device\+\_\+find} (const char $\ast$name, const char $\ast$seat)
\begin{DoxyCompactList}\small\item\em Find a drm device in the system. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Drm__Device__Group_gab206267ef3b8706b22c42391f0dee07e}{ecore\+\_\+drm\+\_\+device\+\_\+free} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Free an Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_ga553c3126d3eec540772b9216713ff1c7}{ecore\+\_\+drm\+\_\+device\+\_\+open} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Open an Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_gab36f4196c95f819739506f140ef15284}{ecore\+\_\+drm\+\_\+device\+\_\+close} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Close an Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_gaf312c36da6c7f80104340dbe6d41f8f0}{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get if a given Ecore\+\_\+\+Drm\+\_\+\+Device is master. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_gad49047794bd8dbe2b811045b4ea99dcf}{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Set a given Ecore\+\_\+\+Drm\+\_\+\+Device to master. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_gafae51cdb447f263b3cf63e1e08da721f}{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Tell a given Ecore\+\_\+\+Drm\+\_\+\+Device to stop being master. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} int \hyperlink{group__Ecore__Drm__Device__Group_gaccb9c0bd737c8ca74d0f2a6945e0dce2}{ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the file descriptor of Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Drm__Device__Group_ga02aee2ec66dd27ec45f80bead4670590}{ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev, unsigned int window)
\begin{DoxyCompactList}\small\item\em Set the window of Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const char $\ast$ \hyperlink{group__Ecore__Drm__Device__Group_ga813c08f10f5a43087f9372d5f05fd4cc}{ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Get the name of the Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Ecore__Drm__Device__Group_ga5d75fd1548f475cc1e801c420015bf0e}{ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev)
\begin{DoxyCompactList}\small\item\em Setup an Ecore\+\_\+\+Drm\+\_\+\+Device for software rendering. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} Ecore\+\_\+\+Drm\+\_\+\+Output $\ast$ \hyperlink{group__Ecore__Drm__Device__Group_ga0c9298f0a4c81bfe52d162558e2c59a1}{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev, int x, int y)
\begin{DoxyCompactList}\small\item\em Find an Ecore\+\_\+\+Drm\+\_\+\+Output at the given coordinates. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Drm__Device__Group_gaad65cb795e09bcaff38d76c8147999b6}{ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev, int $\ast$x, int $\ast$y)
\begin{DoxyCompactList}\small\item\em Get the pointer position of Ecore\+\_\+\+Drm\+\_\+\+Device. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} const \hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List} $\ast$ \hyperlink{group__Ecore__Drm__Device__Group_ga602b6a3c87089eaac3a0cb2ca107909e}{ecore\+\_\+drm\+\_\+devices\+\_\+get} (void)
\begin{DoxyCompactList}\small\item\em Get the list of drm devices which are allocated. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} void \hyperlink{group__Ecore__Drm__Device__Group_ga3528a06232da773d9e179f377475e7e2}{ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev, int $\ast$minw, int $\ast$minh, int $\ast$maxw, int $\ast$maxh)
\begin{DoxyCompactList}\small\item\em Get the minimum and maximum screen size range. \end{DoxyCompactList}\item 
\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+P\+I} Ecore\+\_\+\+Drm\+\_\+\+Output $\ast$ \hyperlink{group__Ecore__Drm__Device__Group_gace86c36a5d48518c02bf468a5de61d79}{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find} (\hyperlink{struct__Ecore__Drm__Device}{Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$dev, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Find an Ecore\+\_\+\+Drm\+\_\+\+Output which has the given name. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that deal with finding, opening, closing, and otherwise using the D\+R\+M device itself. 



\subsection{Function Documentation}
\hypertarget{group__Ecore__Drm__Device__Group_ga623adb021492ba05d498d4506f9f9086}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+find}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+find}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+find(const char $\ast$name, const char $\ast$seat)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Ecore\+\_\+\+Drm\+\_\+\+Device}$\ast$ ecore\+\_\+drm\+\_\+device\+\_\+find (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{seat}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga623adb021492ba05d498d4506f9f9086}


Find a drm device in the system. 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the device to find. If N\+U\+L\+L, this function will search for the default drm device. \\
\hline
{\em seat} & The name of the seat where this device may be found. If N\+U\+L\+L, this function will use a default seat name \textquotesingle{}seat0\textquotesingle{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An opaque Ecore\+\_\+\+Drm\+\_\+\+Device structure representing the card. 
\end{DoxyReturn}


References D\+B\+G, eeze\+\_\+udev\+\_\+find\+\_\+by\+\_\+type(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+devpath(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+parent\+\_\+filtered(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+property(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+sysattr(), eeze\+\_\+udev\+\_\+syspath\+\_\+get\+\_\+sysnum(), E\+E\+Z\+E\+\_\+\+U\+D\+E\+V\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+R\+M, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, eina\+\_\+list\+\_\+append(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H, E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+E\+E, eina\+\_\+stringshare\+\_\+add(), eina\+\_\+stringshare\+\_\+del(), and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__Drm__Device__Group_gab206267ef3b8706b22c42391f0dee07e}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+free@{ecore\+\_\+drm\+\_\+device\+\_\+free}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+free@{ecore\+\_\+drm\+\_\+device\+\_\+free}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+free(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+drm\+\_\+device\+\_\+free (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gab206267ef3b8706b22c42391f0dee07e}


Free an Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will cleanup and free any previously allocated Ecore\+\_\+\+Drm\+\_\+\+Device.


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to free \\
\hline
\end{DoxyParams}


References ecore\+\_\+drm\+\_\+output\+\_\+free(), E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+R\+E\+E, eina\+\_\+list\+\_\+remove(), and eina\+\_\+stringshare\+\_\+del().

\hypertarget{group__Ecore__Drm__Device__Group_ga553c3126d3eec540772b9216713ff1c7}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+open@{ecore\+\_\+drm\+\_\+device\+\_\+open}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+open@{ecore\+\_\+drm\+\_\+device\+\_\+open}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+open(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+open (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga553c3126d3eec540772b9216713ff1c7}


Open an Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will open an existing Ecore\+\_\+\+Drm\+\_\+\+Device for use.


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to try and open\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E on failure 
\end{DoxyReturn}


References D\+B\+G, E\+E\+Z\+E\+\_\+\+U\+D\+E\+V\+\_\+\+E\+V\+E\+N\+T\+\_\+\+A\+D\+D, E\+E\+Z\+E\+\_\+\+U\+D\+E\+V\+\_\+\+E\+V\+E\+N\+T\+\_\+\+C\+H\+A\+N\+G\+E, E\+E\+Z\+E\+\_\+\+U\+D\+E\+V\+\_\+\+E\+V\+E\+N\+T\+\_\+\+R\+E\+M\+O\+V\+E, E\+E\+Z\+E\+\_\+\+U\+D\+E\+V\+\_\+\+T\+Y\+P\+E\+\_\+\+D\+R\+M, eeze\+\_\+udev\+\_\+watch\+\_\+add(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, and E\+R\+R.

\hypertarget{group__Ecore__Drm__Device__Group_gab36f4196c95f819739506f140ef15284}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+close@{ecore\+\_\+drm\+\_\+device\+\_\+close}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+close@{ecore\+\_\+drm\+\_\+device\+\_\+close}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+close(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+close (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gab36f4196c95f819739506f140ef15284}


Close an Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will close a previously opened Ecore\+\_\+\+Drm\+\_\+\+Device


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to free\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E on failure 
\end{DoxyReturn}


References eeze\+\_\+udev\+\_\+watch\+\_\+del(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__Drm__Device__Group_gaf312c36da6c7f80104340dbe6d41f8f0}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gaf312c36da6c7f80104340dbe6d41f8f0}


Get if a given Ecore\+\_\+\+Drm\+\_\+\+Device is master. 

This function will check if the given drm device is set to master


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to check\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E if device is master, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E otherwise 
\end{DoxyReturn}


References E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__Drm__Device__Group_gad49047794bd8dbe2b811045b4ea99dcf}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gad49047794bd8dbe2b811045b4ea99dcf}


Set a given Ecore\+\_\+\+Drm\+\_\+\+Device to master. 

This function will attempt to set a given drm device to be master


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to set\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E on failure 
\end{DoxyReturn}


References D\+B\+G, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__Drm__Device__Group_gafae51cdb447f263b3cf63e1e08da721f}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop@{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+master\+\_\+drop (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gafae51cdb447f263b3cf63e1e08da721f}


Tell a given Ecore\+\_\+\+Drm\+\_\+\+Device to stop being master. 

This function will attempt to ask a drm device to stop being master


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to set\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E on failure 
\end{DoxyReturn}


References D\+B\+G, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, and E\+I\+N\+A\+\_\+\+T\+R\+U\+E.

\hypertarget{group__Ecore__Drm__Device__Group_gaccb9c0bd737c8ca74d0f2a6945e0dce2}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} int ecore\+\_\+drm\+\_\+device\+\_\+fd\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gaccb9c0bd737c8ca74d0f2a6945e0dce2}


Get the file descriptor of Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will get the file descriptor of drm device


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to get\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
fd value on success, -\/1 on failure 
\end{DoxyReturn}
\hypertarget{group__Ecore__Drm__Device__Group_ga02aee2ec66dd27ec45f80bead4670590}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set@{ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set@{ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev, unsigned int window)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+drm\+\_\+device\+\_\+window\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev, }
\item[{unsigned int}]{window}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga02aee2ec66dd27ec45f80bead4670590}


Set the window of Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will set the window for given drm device


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device for which window is set \\
\hline
{\em window} & The window to set\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}
\hypertarget{group__Ecore__Drm__Device__Group_ga813c08f10f5a43087f9372d5f05fd4cc}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const char$\ast$ ecore\+\_\+drm\+\_\+device\+\_\+name\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga813c08f10f5a43087f9372d5f05fd4cc}


Get the name of the Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will return the name of Ecore\+\_\+\+Drm\+\_\+\+Device


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to get name\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
device name on success, N\+U\+L\+L on failure
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}
\hypertarget{group__Ecore__Drm__Device__Group_ga5d75fd1548f475cc1e801c420015bf0e}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup@{ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup@{ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} {\bf Eina\+\_\+\+Bool} ecore\+\_\+drm\+\_\+device\+\_\+software\+\_\+setup (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga5d75fd1548f475cc1e801c420015bf0e}


Setup an Ecore\+\_\+\+Drm\+\_\+\+Device for software rendering. 

This function will setup an Ecore\+\_\+\+Drm\+\_\+\+Device for software rendering which includes creating dumb buffers to render into


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to setup for software rendering\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+U\+E on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E on failure
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References D\+B\+G, ecore\+\_\+drm\+\_\+outputs\+\_\+geometry\+\_\+get(), E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E, E\+I\+N\+A\+\_\+\+T\+R\+U\+E, and E\+R\+R.

\hypertarget{group__Ecore__Drm__Device__Group_ga0c9298f0a4c81bfe52d162558e2c59a1}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev, int x, int y)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} Ecore\+\_\+\+Drm\+\_\+\+Output$\ast$ ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+find (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev, }
\item[{int}]{x, }
\item[{int}]{y}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga0c9298f0a4c81bfe52d162558e2c59a1}


Find an Ecore\+\_\+\+Drm\+\_\+\+Output at the given coordinates. 

This function will loop all the existing outputs in Ecore\+\_\+\+Drm\+\_\+\+Device and return an output if one exists that encapsulates the given coordinates.


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to search \\
\hline
{\em x} & The x coordinate \\
\hline
{\em y} & The y coordinate\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Ecore\+\_\+\+Drm\+\_\+\+Output if one exists at these coordinates or N\+U\+L\+L
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.

\hypertarget{group__Ecore__Drm__Device__Group_gaad65cb795e09bcaff38d76c8147999b6}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get@{ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev, int $\ast$x, int $\ast$y)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+drm\+\_\+device\+\_\+pointer\+\_\+xy\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev, }
\item[{int $\ast$}]{x, }
\item[{int $\ast$}]{y}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gaad65cb795e09bcaff38d76c8147999b6}


Get the pointer position of Ecore\+\_\+\+Drm\+\_\+\+Device. 

This function will give the pointer position of Ecore\+\_\+\+Drm\+\_\+\+Device


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to get pointer position for \\
\hline
{\em $\ast$x} & The parameter in which output x co-\/ordinate is stored \\
\hline
{\em $\ast$y} & The parameter in which output y co-\/ordinate is stored\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.

\hypertarget{group__Ecore__Drm__Device__Group_ga602b6a3c87089eaac3a0cb2ca107909e}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+devices\+\_\+get@{ecore\+\_\+drm\+\_\+devices\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+devices\+\_\+get@{ecore\+\_\+drm\+\_\+devices\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+devices\+\_\+get(void)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} const {\bf Eina\+\_\+\+List}$\ast$ ecore\+\_\+drm\+\_\+devices\+\_\+get (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga602b6a3c87089eaac3a0cb2ca107909e}


Get the list of drm devices which are allocated. 

\begin{DoxyReturn}{Returns}
Eina\+\_\+\+List of drm devices, N\+U\+L\+L otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+14 
\end{DoxySince}
\hypertarget{group__Ecore__Drm__Device__Group_ga3528a06232da773d9e179f377475e7e2}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get@{ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get}}
\index{ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get@{ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev, int $\ast$minw, int $\ast$minh, int $\ast$maxw, int $\ast$maxh)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} void ecore\+\_\+drm\+\_\+screen\+\_\+size\+\_\+range\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev, }
\item[{int $\ast$}]{minw, }
\item[{int $\ast$}]{minh, }
\item[{int $\ast$}]{maxw, }
\item[{int $\ast$}]{maxh}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_ga3528a06232da773d9e179f377475e7e2}


Get the minimum and maximum screen size range. 


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to get screen size range from \\
\hline
{\em $\ast$minw} & The parameter in which smallest width is stored \\
\hline
{\em $\ast$minh} & The parameter in which smallest height is stored \\
\hline
{\em $\ast$maxw} & The parameter in which largest width is stored \\
\hline
{\em $\ast$maxh} & The parameter in which largest height is stored\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
\hypertarget{group__Ecore__Drm__Device__Group_gace86c36a5d48518c02bf468a5de61d79}{}\index{Device manipulation functions@{Device manipulation functions}!ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find}}
\index{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find@{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find}!Device manipulation functions@{Device manipulation functions}}
\subsubsection[{ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find(\+Ecore\+\_\+\+Drm\+\_\+\+Device $\ast$dev, const char $\ast$name)}]{\setlength{\rightskip}{0pt plus 5cm}{\bf E\+A\+P\+I} Ecore\+\_\+\+Drm\+\_\+\+Output$\ast$ ecore\+\_\+drm\+\_\+device\+\_\+output\+\_\+name\+\_\+find (
\begin{DoxyParamCaption}
\item[{{\bf Ecore\+\_\+\+Drm\+\_\+\+Device} $\ast$}]{dev, }
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)}\label{group__Ecore__Drm__Device__Group_gace86c36a5d48518c02bf468a5de61d79}


Find an Ecore\+\_\+\+Drm\+\_\+\+Output which has the given name. 

This function will loop all the existing outputs in Ecore\+\_\+\+Drm\+\_\+\+Device and return an output if one exists that matches the given name.


\begin{DoxyParams}{Parameters}
{\em dev} & The Ecore\+\_\+\+Drm\+\_\+\+Device to search \\
\hline
{\em name} & The Ecore\+\_\+\+Drm\+\_\+\+Output matching this name\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Ecore\+\_\+\+Drm\+\_\+\+Output if one exists at these coordinates or N\+U\+L\+L
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}


References E\+I\+N\+A\+\_\+\+L\+I\+S\+T\+\_\+\+F\+O\+R\+E\+A\+C\+H.

