\doxysection{ivi\+\_\+surface\+\_\+listener Struct Reference}
\hypertarget{structivi__surface__listener}{}\label{structivi__surface__listener}\index{ivi\_surface\_listener@{ivi\_surface\_listener}}


Application interface to surface in ivi compositor.  




{\ttfamily \#include $<$ivi-\/application-\/client-\/protocol.\+h$>$}

\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structivi__surface__listener_a47c684ec2a2a080496b2a9dc14e69980}{visibility}} )(void \texorpdfstring{$\ast$}{*}data, struct ivi\+\_\+surface \texorpdfstring{$\ast$}{*}ivi\+\_\+surface, int32\+\_\+t visibility)
\begin{DoxyCompactList}\small\item\em Visibility of surface in ivi compositor has changed. \end{DoxyCompactList}\item 
void(\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structivi__surface__listener_ae94667a89e40ebf50edb2c70821cc494}{warning}} )(void \texorpdfstring{$\ast$}{*}data, struct ivi\+\_\+surface \texorpdfstring{$\ast$}{*}ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char \texorpdfstring{$\ast$}{*}warning\+\_\+text)
\begin{DoxyCompactList}\small\item\em Server-\/side warning detected. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Application interface to surface in ivi compositor. 

\doxysubsection{Field Documentation}
\Hypertarget{structivi__surface__listener_a47c684ec2a2a080496b2a9dc14e69980}\label{structivi__surface__listener_a47c684ec2a2a080496b2a9dc14e69980} 
\index{ivi\_surface\_listener@{ivi\_surface\_listener}!visibility@{visibility}}
\index{visibility@{visibility}!ivi\_surface\_listener@{ivi\_surface\_listener}}
\doxysubsubsection{\texorpdfstring{visibility}{visibility}}
{\footnotesize\ttfamily void(\texorpdfstring{$\ast$}{*} ivi\+\_\+surface\+\_\+listener\+::visibility) (void \texorpdfstring{$\ast$}{*}data, struct ivi\+\_\+surface \texorpdfstring{$\ast$}{*}ivi\+\_\+surface, int32\+\_\+t visibility)}



Visibility of surface in ivi compositor has changed. 

The new visibility state is provided in argument {\ttfamily visibility}. If {\ttfamily visibility} is 0, the surface has become invisible. If {\ttfamily visibility} is not 0, the surface has become visible. \Hypertarget{structivi__surface__listener_ae94667a89e40ebf50edb2c70821cc494}\label{structivi__surface__listener_ae94667a89e40ebf50edb2c70821cc494} 
\index{ivi\_surface\_listener@{ivi\_surface\_listener}!warning@{warning}}
\index{warning@{warning}!ivi\_surface\_listener@{ivi\_surface\_listener}}
\doxysubsubsection{\texorpdfstring{warning}{warning}}
{\footnotesize\ttfamily void(\texorpdfstring{$\ast$}{*} ivi\+\_\+surface\+\_\+listener\+::warning) (void \texorpdfstring{$\ast$}{*}data, struct ivi\+\_\+surface \texorpdfstring{$\ast$}{*}ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char \texorpdfstring{$\ast$}{*}warning\+\_\+text)}



Server-\/side warning detected. 

The ivi compositor encountered warning while processing a request by this application. The warning is defined by argument {\ttfamily warning\+\_\+code} and optional {\ttfamily warning\+\_\+text}. If the warning is detected, client shall destroy the {\ttfamily ivi\+\_\+surface} object.

When a warning event is sent, the compositor turns the {\ttfamily ivi\+\_\+surface} object inert. The {\ttfamily ivi\+\_\+surface} will not deliver further events, all requests on it are ignored except \textquotesingle{}destroy\textquotesingle{}, and the association to the ivi\+\_\+id is removed. The client should destroy the {\ttfamily ivi\+\_\+surface} object. If an inert {\ttfamily ivi\+\_\+surface} object is used as an argument to any other object\textquotesingle{}s request, that request will \mbox{[}produce a fatal error / produce a warning / be ignored\mbox{]}. 