\hypertarget{group__Ecore__Drm2__Output__Group}{}\section{Drm output functions}
\label{group__Ecore__Drm2__Output__Group}\index{Drm output functions@{Drm output functions}}


Functions that deal with setup of outputs.  


\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga8b0dd04e09164ee351cc7f92dcfd82af}{ecore\+\_\+drm2\+\_\+outputs\+\_\+create}} (Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$device)
\begin{DoxyCompactList}\small\item\em Iterate drm resources and create outputs. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga991b45e1e1edc542202f65747319df34}{ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy}} (Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$device)
\begin{DoxyCompactList}\small\item\em Destroy any created outputs. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga2dd734f816bd304198a8c92d62c7b344}{ecore\+\_\+drm2\+\_\+outputs\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$device)
\begin{DoxyCompactList}\small\item\em Get the list of outputs from a drm device. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gaac5a2601ed461e73c3c6926ca7497249}{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the dpms level of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga0740cebf9f1dc676888cf7be1efb1bf5}{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, int level)
\begin{DoxyCompactList}\small\item\em Set the dpms level of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gaaa9593e74f6f13304d1145ceb35f45fd}{ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the edid of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gad3a56e91cd35022a41ae378edf6f5c0c}{ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get if a given output has a backlight. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga09066df48f19956d1cbc048de5f623f7}{ecore\+\_\+drm2\+\_\+output\+\_\+find}} (Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$device, int x, int y)
\begin{DoxyCompactList}\small\item\em Find an output at the given position. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga649c76563c463c8e2b2ff93eb09c714f}{ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, int $\ast$xdpi, int $\ast$ydpi)
\begin{DoxyCompactList}\small\item\em Get the dpi of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga53ee53cc21666a4525ac67767cbdd1bb}{ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the id of the crtc that an output is using. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Fb $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga2d963ad026b58d9aabbe35022ed1cdfe}{ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Return the most recently set Ecore\+\_\+\+Drm2\+\_\+\+Fb for a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga0d70d09812e7a3ed17ccc0f76b8e6a2f}{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get if a given output is marked as the primary output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga3009b70c64484c8ac96358060b75162b}{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} primary)
\begin{DoxyCompactList}\small\item\em Set a given output to be primary. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga765b7e2b2774543c6720b5d3d6f16503}{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get if a given output is enabled. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga204aaabd454598aa9b3aa1e71249aced}{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} enabled)
\begin{DoxyCompactList}\small\item\em Set if a given output is enabled. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga8104692bf372e8b37d3c6d7610248aba}{ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, int $\ast$w, int $\ast$h)
\begin{DoxyCompactList}\small\item\em Get the physical size of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}} $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga52a3303205e18fb9cd3400cde1b9fd38}{ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get a list of the modes supported on a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gab55409e9f8d93901088be1aabdfdcf16}{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output\+\_\+\+Mode $\ast$mode, int $\ast$w, int $\ast$h, unsigned int $\ast$refresh, unsigned int $\ast$flags)
\begin{DoxyCompactList}\small\item\em Get information from an existing output mode. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga7f8537db0c0c17b1d037f86a44793452}{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, Ecore\+\_\+\+Drm2\+\_\+\+Output\+\_\+\+Mode $\ast$mode, int x, int y)
\begin{DoxyCompactList}\small\item\em Set a given mode to be used on a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga31bee51990b6566ff095f74496c28672}{ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the name of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gab043be20d06e1f22f2c6da8bc4796bff}{ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the model of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gab7a11ad4131702cb5de92c5fc9b2e210}{ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get if a given output is connected. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gad163fb2597ae8c5ce65c501d1433e1b1}{ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get if a given output is cloned. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga37777745fc112342dbfdced941e64a0a}{ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the connector type of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga6a3bdb66aece90589927884fc2f631f0}{ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, int $\ast$x, int $\ast$y, int $\ast$w, int $\ast$h, unsigned int $\ast$refresh)
\begin{DoxyCompactList}\small\item\em Get the geometry and refresh rate for a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga5ebbc8d96003809d59aee6ebcd66c6e7}{ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, unsigned int crtc)
\begin{DoxyCompactList}\small\item\em Get if an output can be used on a given crtc. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga57aca4fb8b865c98ad9020151561a2b8}{ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, uint16\+\_\+t size, uint16\+\_\+t $\ast$red, uint16\+\_\+t $\ast$green, uint16\+\_\+t $\ast$blue)
\begin{DoxyCompactList}\small\item\em Set the gamma level of an Ecore\+\_\+\+Drm\+\_\+\+Output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga1190060fd0a3133b0045c09e3c75c91b}{ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the supported rotations of a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga9706492b43f2464e533ebe3a4c364e8e}{ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, int rotation)
\begin{DoxyCompactList}\small\item\em Set a rotation on a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga0b4bb814ee54fc9d3a812a87faa7a769}{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$o, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Set the user data for the output\textquotesingle{}s page flip handler. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga299977a6d2648af4c060c5729edaade7}{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the user data for a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gacef09c433f47427d1bb9c28a063e9966}{ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get}} (const Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the subpixel state of the output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gabce84e967c2fec6af14ac572a20506dd}{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, Ecore\+\_\+\+Drm2\+\_\+\+Relative\+\_\+\+Mode mode)
\begin{DoxyCompactList}\small\item\em Set the relative mode for an output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Relative\+\_\+\+Mode \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gad624529d637df773faa83ec1381b6a14}{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get the relative mode of an output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga1f2750cbd933b2866aa0a655db950800}{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output, const char $\ast$relative)
\begin{DoxyCompactList}\small\item\em Set which output a given output is relative to. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga18711559b747dad98d8a1eae284f41f7}{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$output)
\begin{DoxyCompactList}\small\item\em Get which output is relative to a given output. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void $\ast$ \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_gafce6a260444c086e76622f4757f171a6}{ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get}} (Ecore\+\_\+\+Drm2\+\_\+\+Fb $\ast$fb)
\begin{DoxyCompactList}\small\item\em Get the Framebuffer\textquotesingle{}s gbm buffer object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void \mbox{\hyperlink{group__Ecore__Drm2__Output__Group_ga8a6de8ee7e5c159ba92e4b12179d45ab}{ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set}} (Ecore\+\_\+\+Drm2\+\_\+\+Fb $\ast$fb, Ecore\+\_\+\+Drm2\+\_\+\+Fb\+\_\+\+Status\+\_\+\+Handler handler, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Register a callback for buffer status updates. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions that deal with setup of outputs. 



\subsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga8b0dd04e09164ee351cc7f92dcfd82af}\label{group__Ecore__Drm2__Output__Group_ga8b0dd04e09164ee351cc7f92dcfd82af}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+outputs\+\_\+create@{ecore\+\_\+drm2\+\_\+outputs\+\_\+create}}
\index{ecore\+\_\+drm2\+\_\+outputs\+\_\+create@{ecore\+\_\+drm2\+\_\+outputs\+\_\+create}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+outputs\+\_\+create()}{ecore\_drm2\_outputs\_create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+outputs\+\_\+create (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$}]{device }\end{DoxyParamCaption})}



Iterate drm resources and create outputs. 


\begin{DoxyParams}{Parameters}
{\em device} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga991b45e1e1edc542202f65747319df34}\label{group__Ecore__Drm2__Output__Group_ga991b45e1e1edc542202f65747319df34}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy@{ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy}}
\index{ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy@{ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy()}{ecore\_drm2\_outputs\_destroy()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+outputs\+\_\+destroy (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$}]{device }\end{DoxyParamCaption})}



Destroy any created outputs. 


\begin{DoxyParams}{Parameters}
{\em device} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga2dd734f816bd304198a8c92d62c7b344}\label{group__Ecore__Drm2__Output__Group_ga2dd734f816bd304198a8c92d62c7b344}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+outputs\+\_\+get@{ecore\+\_\+drm2\+\_\+outputs\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+outputs\+\_\+get@{ecore\+\_\+drm2\+\_\+outputs\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+outputs\+\_\+get()}{ecore\_drm2\_outputs\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}}$\ast$ ecore\+\_\+drm2\+\_\+outputs\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$}]{device }\end{DoxyParamCaption})}



Get the list of outputs from a drm device. 


\begin{DoxyParams}{Parameters}
{\em device} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gaac5a2601ed461e73c3c6926ca7497249}\label{group__Ecore__Drm2__Output__Group_gaac5a2601ed461e73c3c6926ca7497249}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get()}{ecore\_drm2\_output\_dpms\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the dpms level of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Integer value representing the state of D\+P\+MS on a given output or -\/1 on error
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga0740cebf9f1dc676888cf7be1efb1bf5}\label{group__Ecore__Drm2__Output__Group_ga0740cebf9f1dc676888cf7be1efb1bf5}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set()}{ecore\_drm2\_output\_dpms\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+dpms\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{int}]{level }\end{DoxyParamCaption})}



Set the dpms level of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em level} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gaaa9593e74f6f13304d1145ceb35f45fd}\label{group__Ecore__Drm2__Output__Group_gaaa9593e74f6f13304d1145ceb35f45fd}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get()}{ecore\_drm2\_output\_edid\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+edid\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the edid of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string representing the edid
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gad3a56e91cd35022a41ae378edf6f5c0c}\label{group__Ecore__Drm2__Output__Group_gad3a56e91cd35022a41ae378edf6f5c0c}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get()}{ecore\_drm2\_output\_backlight\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+backlight\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get if a given output has a backlight. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if this output has a backlight, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga09066df48f19956d1cbc048de5f623f7}\label{group__Ecore__Drm2__Output__Group_ga09066df48f19956d1cbc048de5f623f7}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+find@{ecore\+\_\+drm2\+\_\+output\+\_\+find}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+find@{ecore\+\_\+drm2\+\_\+output\+\_\+find}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+find()}{ecore\_drm2\_output\_find()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Output$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+find (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Device $\ast$}]{device,  }\item[{int}]{x,  }\item[{int}]{y }\end{DoxyParamCaption})}



Find an output at the given position. 


\begin{DoxyParams}{Parameters}
{\em device} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Ecore\+\_\+\+Drm2\+\_\+\+Output which exists at the given coordinates, or N\+U\+LL on failure
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga649c76563c463c8e2b2ff93eb09c714f}\label{group__Ecore__Drm2__Output__Group_ga649c76563c463c8e2b2ff93eb09c714f}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get()}{ecore\_drm2\_output\_dpi\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+dpi\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{int $\ast$}]{xdpi,  }\item[{int $\ast$}]{ydpi }\end{DoxyParamCaption})}



Get the dpi of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em xdpi} & \\
\hline
{\em ydpi} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga53ee53cc21666a4525ac67767cbdd1bb}\label{group__Ecore__Drm2__Output__Group_ga53ee53cc21666a4525ac67767cbdd1bb}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get()}{ecore\_drm2\_output\_crtc\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int ecore\+\_\+drm2\+\_\+output\+\_\+crtc\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the id of the crtc that an output is using. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A valid crtc id or 0 on failure
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga2d963ad026b58d9aabbe35022ed1cdfe}\label{group__Ecore__Drm2__Output__Group_ga2d963ad026b58d9aabbe35022ed1cdfe}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get()}{ecore\_drm2\_output\_latest\_fb\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Fb$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+latest\+\_\+fb\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Return the most recently set Ecore\+\_\+\+Drm2\+\_\+\+Fb for a given output. 

This may be the currently scanned out buffer, a buffer currently being flipped to scanout, or a buffer that has been submit but may not actually ever hit scanout at all.


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The latest Ecore\+\_\+\+Drm2\+\_\+\+Fb submit for this output, or N\+U\+LL otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga0d70d09812e7a3ed17ccc0f76b8e6a2f}\label{group__Ecore__Drm2__Output__Group_ga0d70d09812e7a3ed17ccc0f76b8e6a2f}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get()}{ecore\_drm2\_output\_primary\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get if a given output is marked as the primary output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if output is primary, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga3009b70c64484c8ac96358060b75162b}\label{group__Ecore__Drm2__Output__Group_ga3009b70c64484c8ac96358060b75162b}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set()}{ecore\_drm2\_output\_primary\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+primary\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{primary }\end{DoxyParamCaption})}



Set a given output to be primary. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em primary} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga765b7e2b2774543c6720b5d3d6f16503}\label{group__Ecore__Drm2__Output__Group_ga765b7e2b2774543c6720b5d3d6f16503}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get()}{ecore\_drm2\_output\_enabled\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get if a given output is enabled. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if enabled, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga204aaabd454598aa9b3aa1e71249aced}\label{group__Ecore__Drm2__Output__Group_ga204aaabd454598aa9b3aa1e71249aced}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set()}{ecore\_drm2\_output\_enabled\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+enabled\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{\mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}}}]{enabled }\end{DoxyParamCaption})}



Set if a given output is enabled. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em enabled} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga8104692bf372e8b37d3c6d7610248aba}\label{group__Ecore__Drm2__Output__Group_ga8104692bf372e8b37d3c6d7610248aba}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get()}{ecore\_drm2\_output\_physical\_size\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+physical\+\_\+size\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{int $\ast$}]{w,  }\item[{int $\ast$}]{h }\end{DoxyParamCaption})}



Get the physical size of a given output. 

This function will give the physical size (in mm) of an output


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em $\ast$w} & \\
\hline
{\em $\ast$h} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga52a3303205e18fb9cd3400cde1b9fd38}\label{group__Ecore__Drm2__Output__Group_ga52a3303205e18fb9cd3400cde1b9fd38}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get()}{ecore\_drm2\_output\_modes\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const \mbox{\hyperlink{group__Eina__List__Group_ga3295e1210efea1fb0fd6acbf3cbc1f29}{Eina\+\_\+\+List}}$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+modes\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get a list of the modes supported on a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An Eina\+\_\+\+List of the modes supported for this output
\end{DoxyReturn}
\begin{DoxyNote}{Note}
The returned list should not be freed
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gab55409e9f8d93901088be1aabdfdcf16}\label{group__Ecore__Drm2__Output__Group_gab55409e9f8d93901088be1aabdfdcf16}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get()}{ecore\_drm2\_output\_mode\_info\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+info\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output\+\_\+\+Mode $\ast$}]{mode,  }\item[{int $\ast$}]{w,  }\item[{int $\ast$}]{h,  }\item[{unsigned int $\ast$}]{refresh,  }\item[{unsigned int $\ast$}]{flags }\end{DoxyParamCaption})}



Get information from an existing output mode. 


\begin{DoxyParams}{Parameters}
{\em mode} & \\
\hline
{\em w} & \\
\hline
{\em h} & \\
\hline
{\em refresh} & \\
\hline
{\em flags} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga7f8537db0c0c17b1d037f86a44793452}\label{group__Ecore__Drm2__Output__Group_ga7f8537db0c0c17b1d037f86a44793452}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set()}{ecore\_drm2\_output\_mode\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+mode\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output\+\_\+\+Mode $\ast$}]{mode,  }\item[{int}]{x,  }\item[{int}]{y }\end{DoxyParamCaption})}



Set a given mode to be used on a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em mode} & \\
\hline
{\em x} & \\
\hline
{\em y} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga31bee51990b6566ff095f74496c28672}\label{group__Ecore__Drm2__Output__Group_ga31bee51990b6566ff095f74496c28672}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get()}{ecore\_drm2\_output\_name\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+name\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the name of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string representing the output\textquotesingle{}s name. Caller should free this return.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gab043be20d06e1f22f2c6da8bc4796bff}\label{group__Ecore__Drm2__Output__Group_gab043be20d06e1f22f2c6da8bc4796bff}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get()}{ecore\_drm2\_output\_model\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} char$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+model\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the model of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string representing the output\textquotesingle{}s model. Caller should free this return.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gab7a11ad4131702cb5de92c5fc9b2e210}\label{group__Ecore__Drm2__Output__Group_gab7a11ad4131702cb5de92c5fc9b2e210}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get()}{ecore\_drm2\_output\_connected\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+connected\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get if a given output is connected. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if connected, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gad163fb2597ae8c5ce65c501d1433e1b1}\label{group__Ecore__Drm2__Output__Group_gad163fb2597ae8c5ce65c501d1433e1b1}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get()}{ecore\_drm2\_output\_cloned\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+cloned\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get if a given output is cloned. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if cloned, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise.
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga37777745fc112342dbfdced941e64a0a}\label{group__Ecore__Drm2__Output__Group_ga37777745fc112342dbfdced941e64a0a}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get()}{ecore\_drm2\_output\_connector\_type\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int ecore\+\_\+drm2\+\_\+output\+\_\+connector\+\_\+type\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the connector type of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An unsigned integer representing the type of connector for this output
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga6a3bdb66aece90589927884fc2f631f0}\label{group__Ecore__Drm2__Output__Group_ga6a3bdb66aece90589927884fc2f631f0}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get()}{ecore\_drm2\_output\_info\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+info\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{int $\ast$}]{x,  }\item[{int $\ast$}]{y,  }\item[{int $\ast$}]{w,  }\item[{int $\ast$}]{h,  }\item[{unsigned int $\ast$}]{refresh }\end{DoxyParamCaption})}



Get the geometry and refresh rate for a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em $\ast$x} & \\
\hline
{\em $\ast$y} & \\
\hline
{\em $\ast$w} & \\
\hline
{\em $\ast$h} & \\
\hline
{\em $\ast$refresh} & \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga5ebbc8d96003809d59aee6ebcd66c6e7}\label{group__Ecore__Drm2__Output__Group_ga5ebbc8d96003809d59aee6ebcd66c6e7}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get()}{ecore\_drm2\_output\_possible\_crtc\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+possible\+\_\+crtc\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{unsigned int}]{crtc }\end{DoxyParamCaption})}



Get if an output can be used on a given crtc. 

This function will loop the possible crtcs of an encoder to determine if a given output can be assigned to a given crtc


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em crtc} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE if the output can be assigned to given crtc, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+18 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga57aca4fb8b865c98ad9020151561a2b8}\label{group__Ecore__Drm2__Output__Group_ga57aca4fb8b865c98ad9020151561a2b8}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set()}{ecore\_drm2\_output\_gamma\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+gamma\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{uint16\+\_\+t}]{size,  }\item[{uint16\+\_\+t $\ast$}]{red,  }\item[{uint16\+\_\+t $\ast$}]{green,  }\item[{uint16\+\_\+t $\ast$}]{blue }\end{DoxyParamCaption})}



Set the gamma level of an Ecore\+\_\+\+Drm\+\_\+\+Output. 

This function will set the gamma of an Ecore\+\_\+\+Drm2\+\_\+\+Output


\begin{DoxyParams}{Parameters}
{\em output} & The Ecore\+\_\+\+Drm2\+\_\+\+Output to set the gamma level on \\
\hline
{\em size} & The gamma table size to set \\
\hline
{\em red} & The amount to scale the red channel \\
\hline
{\em green} & The amount to scale the green channel \\
\hline
{\em blue} & The amount to scale the blue channel\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga1190060fd0a3133b0045c09e3c75c91b}\label{group__Ecore__Drm2__Output__Group_ga1190060fd0a3133b0045c09e3c75c91b}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get()}{ecore\_drm2\_output\_supported\_rotations\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} int ecore\+\_\+drm2\+\_\+output\+\_\+supported\+\_\+rotations\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the supported rotations of a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An integer representing possible rotations, or -\/1 on failure
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function will only return valid values if Atomic support is enabled as it requires hardware plane support.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga9706492b43f2464e533ebe3a4c364e8e}\label{group__Ecore__Drm2__Output__Group_ga9706492b43f2464e533ebe3a4c364e8e}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set()}{ecore\_drm2\_output\_rotation\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+drm2\+\_\+output\+\_\+rotation\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{int}]{rotation }\end{DoxyParamCaption})}



Set a rotation on a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & \\
\hline
{\em rotation} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
E\+I\+N\+A\+\_\+\+T\+R\+UE on success, E\+I\+N\+A\+\_\+\+F\+A\+L\+SE otherwise
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function will only work if Atomic support is enabled as it requires hardware plane support.
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}


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

\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga0b4bb814ee54fc9d3a812a87faa7a769}\label{group__Ecore__Drm2__Output__Group_ga0b4bb814ee54fc9d3a812a87faa7a769}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set()}{ecore\_drm2\_output\_user\_data\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{o,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Set the user data for the output\textquotesingle{}s page flip handler. 


\begin{DoxyParams}{Parameters}
{\em output} & The output to update user data for \\
\hline
{\em data} & The new user data pointer\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga299977a6d2648af4c060c5729edaade7}\label{group__Ecore__Drm2__Output__Group_ga299977a6d2648af4c060c5729edaade7}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get()}{ecore\_drm2\_output\_user\_data\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+user\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the user data for a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & The output to get user data for\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The user data associated with given output
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gacef09c433f47427d1bb9c28a063e9966}\label{group__Ecore__Drm2__Output__Group_gacef09c433f47427d1bb9c28a063e9966}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get()}{ecore\_drm2\_output\_subpixel\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} unsigned int ecore\+\_\+drm2\+\_\+output\+\_\+subpixel\+\_\+get (\begin{DoxyParamCaption}\item[{const Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the subpixel state of the output. 


\begin{DoxyParams}{Parameters}
{\em output} & the output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The state value
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gabce84e967c2fec6af14ac572a20506dd}\label{group__Ecore__Drm2__Output__Group_gabce84e967c2fec6af14ac572a20506dd}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set()}{ecore\_drm2\_output\_relative\_mode\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{Ecore\+\_\+\+Drm2\+\_\+\+Relative\+\_\+\+Mode}]{mode }\end{DoxyParamCaption})}



Set the relative mode for an output. 


\begin{DoxyParams}{Parameters}
{\em output} & The output to set relative mode \\
\hline
{\em relative} & The relative mode to set\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gad624529d637df773faa83ec1381b6a14}\label{group__Ecore__Drm2__Output__Group_gad624529d637df773faa83ec1381b6a14}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get()}{ecore\_drm2\_output\_relative\_mode\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} Ecore\+\_\+\+Drm2\+\_\+\+Relative\+\_\+\+Mode ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+mode\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get the relative mode of an output. 


\begin{DoxyParams}{Parameters}
{\em output} & The output to retrieve relative mode for\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The relative mode of a given output
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga1f2750cbd933b2866aa0a655db950800}\label{group__Ecore__Drm2__Output__Group_ga1f2750cbd933b2866aa0a655db950800}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set()}{ecore\_drm2\_output\_relative\_to\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output,  }\item[{const char $\ast$}]{relative }\end{DoxyParamCaption})}



Set which output a given output is relative to. 


\begin{DoxyParams}{Parameters}
{\em output} & The output for which to set relative \\
\hline
{\em relative} & The output for which the first output is relative to\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga18711559b747dad98d8a1eae284f41f7}\label{group__Ecore__Drm2__Output__Group_ga18711559b747dad98d8a1eae284f41f7}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get@{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get()}{ecore\_drm2\_output\_relative\_to\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} const char$\ast$ ecore\+\_\+drm2\+\_\+output\+\_\+relative\+\_\+to\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Output $\ast$}]{output }\end{DoxyParamCaption})}



Get which output is relative to a given output. 


\begin{DoxyParams}{Parameters}
{\em output} & The output for which to retrieve relative\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The name of the output which is relative to the given output or N\+U\+LL
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+21 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_gafce6a260444c086e76622f4757f171a6}\label{group__Ecore__Drm2__Output__Group_gafce6a260444c086e76622f4757f171a6}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get@{ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get}}
\index{ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get@{ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get()}{ecore\_drm2\_fb\_bo\_get()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void$\ast$ ecore\+\_\+drm2\+\_\+fb\+\_\+bo\+\_\+get (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Fb $\ast$}]{fb }\end{DoxyParamCaption})}



Get the Framebuffer\textquotesingle{}s gbm buffer object. 


\begin{DoxyParams}{Parameters}
{\em fb} & The framebuffer to query\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The gbm bo for the framebuffer
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+19 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Drm2__Output__Group_ga8a6de8ee7e5c159ba92e4b12179d45ab}\label{group__Ecore__Drm2__Output__Group_ga8a6de8ee7e5c159ba92e4b12179d45ab}} 
\index{Drm output functions@{Drm output functions}!ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set@{ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set}}
\index{ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set@{ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set}!Drm output functions@{Drm output functions}}
\subsubsection{\texorpdfstring{ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set()}{ecore\_drm2\_fb\_status\_handler\_set()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Elua_ga3db3556eec8ef18cb8ddb43816974ac8}{E\+A\+PI}} void ecore\+\_\+drm2\+\_\+fb\+\_\+status\+\_\+handler\+\_\+set (\begin{DoxyParamCaption}\item[{Ecore\+\_\+\+Drm2\+\_\+\+Fb $\ast$}]{fb,  }\item[{Ecore\+\_\+\+Drm2\+\_\+\+Fb\+\_\+\+Status\+\_\+\+Handler}]{handler,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Register a callback for buffer status updates. 

When a flip completes ecore\+\_\+drm2 may release a buffer. Use this callback if you need to do bookkeeping or locking on buffer release.

Additionally, an fb may be placed on scanout or removed from scanout by evas. When this happens a compositor needs to ensure the buffers aren\textquotesingle{}t released back to a client while they\textquotesingle{}re on scanout.


\begin{DoxyParams}{Parameters}
{\em fb} & The fb to register the callback on \\
\hline
{\em handler} & The function to handle the callback \\
\hline
{\em data} & The user data to pass to the callback\\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+20 
\end{DoxySince}
