\hypertarget{structivi__surface__listener}{}\doxysection{ivi\+\_\+surface\+\_\+listener Struct Reference}
\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$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void($\ast$ \mbox{\hyperlink{structivi__surface__listener_a47c684ec2a2a080496b2a9dc14e69980}{visibility}} )(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t visibility)
\begin{DoxyCompactList}\small\item\em Visibility of surface in ivi compositor has changed. \end{DoxyCompactList}\item 
void($\ast$ \mbox{\hyperlink{structivi__surface__listener_ae94667a89e40ebf50edb2c70821cc494}{warning}} )(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char $\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}
\mbox{\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($\ast$ ivi\+\_\+surface\+\_\+listener\+::visibility) (void $\ast$data, struct ivi\+\_\+surface $\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. \mbox{\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($\ast$ ivi\+\_\+surface\+\_\+listener\+::warning) (void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char $\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{]}. 