ivi_surface_listener Struct Reference

Data Fields
ivi_surface_listener Struct Reference

Application interface to surface in ivi compositor. More...

## Data Fields
void(* | visibility )(void *data, struct ivi_surface *ivi_surface, int32_t visibility)
| Visibility of surface in ivi compositor has changed. More...
void(* | warning )(void *data, struct ivi_surface *ivi_surface, int32_t warning_code, const char *warning_text)
| Server-side warning detected. More...

## Detailed Description

Application interface to surface in ivi compositor.

## Field Documentation

## ◆ visibility

void(* ivi_surface_listener::visibility) (void *data, struct ivi_surface *ivi_surface, int32_t visibility)

Visibility of surface in ivi compositor has changed.

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.

## ◆ warning

void(* ivi_surface_listener::warning) (void *data, struct ivi_surface *ivi_surface, int32_t warning_code, const char *warning_text)

Server-side warning detected.

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 [produce a fatal error / produce a warning / be ignored].