\hypertarget{structivi__surface__listener}{\section{ivi\+\_\+surface\+\_\+listener Struct Reference}
\label{structivi__surface__listener}\index{ivi\+\_\+surface\+\_\+listener@{ivi\+\_\+surface\+\_\+listener}}
}


ivi\+\_\+surface -\/ application interface to surface in ivi compositor \+: visibility of surface in ivi compositor has changed  


\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
void($\ast$ \hyperlink{structivi__surface__listener_a004884cdfda3d8a1bdcf26970c7ab6af}{visibility} )(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t visibility)
\begin{DoxyCompactList}\small\item\em visibility -\/ visibility of surface in ivi compositor has changed \+: (none) \end{DoxyCompactList}\item 
void($\ast$ \hyperlink{structivi__surface__listener_ab5140fefe11e36b89235b85ea238560c}{warning} )(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char $\ast$warning\+\_\+text)
\begin{DoxyCompactList}\small\item\em warning -\/ server-\/side warning detected \+: (none) \+: (none) \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
ivi\+\_\+surface -\/ application interface to surface in ivi compositor \+: visibility of surface in ivi compositor has changed 

\begin{DoxyWarning}{Warning}
\+: server-\/side warning detected 
\end{DoxyWarning}


\subsection{Field Documentation}
\hypertarget{structivi__surface__listener_a004884cdfda3d8a1bdcf26970c7ab6af}{\index{ivi\+\_\+surface\+\_\+listener@{ivi\+\_\+surface\+\_\+listener}!visibility@{visibility}}
\index{visibility@{visibility}!ivi\+\_\+surface\+\_\+listener@{ivi\+\_\+surface\+\_\+listener}}
\subsubsection[{visibility}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ ivi\+\_\+surface\+\_\+listener\+::visibility)(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t visibility)}}\label{structivi__surface__listener_a004884cdfda3d8a1bdcf26970c7ab6af}


visibility -\/ visibility of surface in ivi compositor has changed \+: (none) 

The new visibility state is provided in argument visibility. If visibility is 0, the surface has become invisible. If visibility is not 0, the surface has become visible. \hypertarget{structivi__surface__listener_ab5140fefe11e36b89235b85ea238560c}{\index{ivi\+\_\+surface\+\_\+listener@{ivi\+\_\+surface\+\_\+listener}!warning@{warning}}
\index{warning@{warning}!ivi\+\_\+surface\+\_\+listener@{ivi\+\_\+surface\+\_\+listener}}
\subsubsection[{warning}]{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ ivi\+\_\+surface\+\_\+listener\+::warning)(void $\ast$data, struct ivi\+\_\+surface $\ast$ivi\+\_\+surface, int32\+\_\+t warning\+\_\+code, const char $\ast$warning\+\_\+text)}}\label{structivi__surface__listener_ab5140fefe11e36b89235b85ea238560c}


warning -\/ server-\/side warning detected \+: (none) \+: (none) 

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

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