Copyright (C) 2017 Advanced Driver Information Technology Joint Venture GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Request to destroy the ivi_wm_screen.
A screen has no content assigned to itself, it is a container for layers.
This request removes all layers from the screen render order.
Note: the layers are not destroyed, they are just no longer contained by
the screen.
A screen has no content assigned to itself, it is a container for layers.
This request adds a layers to the topmost position of the screen render order.
The added layer will cover all other layers of the screen.
A screen has no content assigned to itself, it is a container for layers.
This request removes a layer.
An ivi_screenshot object is created which will receive the screenshot
data of the specified output.
After this request, compositor sends the requested parameter.
Sent immediately after creating the ivi_wm_screen object.
A layer is added to the render order lisf of the screen
Sent immediately after creating the ivi_wm_screen object.
The error event is sent out when an error has occurred.
An ivi_screenshot object receives a single "done" or "error" event.
The server will destroy this resource after the event has been send,
so the client shall then destroy its proxy too.
This event contains a filedescriptor for a file with raw image data.
Furthermore size, stride, format and timestamp of screenshot are
provided.
The error event is sent when the screenshot could not be created.
All requests are not applied directly to scene object, so a controller
can set different properties and apply the changes all at once.
Note: there's an exception to this. Creation and destruction of
scene objects is executed immediately.
Ask the ivi-wm to create a ivi-screen for given wl_output.
If visibility argument is 0, the surface in the ivi compositor is set to invisible.
If visibility argument is not 0, the surface in the ivi compositor is set to visible.
If visibility argument is 0, the layer in the ivi compositor is set to invisible.
If visibility argument is not 0, the layer in the ivi compositor is set to visible.
The valid range for opacity is 0.0 (fully transparent) to 1.0 (fully opaque).
The valid range for opacity is 0.0 (fully transparent) to 1.0 (fully opaque).
The source rectangle defines the part of the surface content, that is used for
compositing the surface. It can be used, if valid content of the surface is smaller
than the surface. Effectively it can be used to zoom the content of the surface.
If a parameter is less than 0, that value is not changed.
x: horizontal start position of scanout area within the surface
y: vertical start position of scanout area within the surface
width: width of scanout area within the surface
height: height of scanout area within the surface
The source rectangle defines the part of the layer content, that is used for
compositing the screen. It can be used, if valid content of the layer is smaller
than the layer. Effectively it can be used to zoom the content of the layer.
If a parameter is less than 0, that value is not changed.
x: horizontal start position of scanout area within the layer
y: vertical start position of scanout area within the layer
width: width of scanout area within the layer
height: height of scanout area within the layer
The destination rectangle defines the position and size of a surface on a layer.
The surface will be scaled to this rectangle for rendering.
If a parameter is less than 0, that value is not changed.
x: horizontal start position of surface within the layer
y: vertical start position of surface within the layer
width : width of surface within the layer
height: height of surface within the layer
The destination rectangle defines the position and size of a layer on a screen.
The layer will be scaled to this rectangle for rendering.
If a parameter is less than 0, that value is not changed.
x: horizontal start position of layer within the screen
y: vertical start position of layer within the screen
width : width of surface within the screen
height: height of surface within the screen
After this request, compositor sends the properties of the surface.
If sync_state argument is 0, compositor sends the properties continously.
If sync_state argument is not 0, compositor stops sending the properties
continously.
After this request, compositor sends the properties of the layer.
If sync_state argument is 0, compositor sends the properties continously.
If sync_state argument is not 0, compositor stops sending the properties
continously.
The HMI controller can request different types of parameters of an
ivi-object.
After this request, compositor sends the requested parameter.
After this request, compositor sends the requested parameter.
An ivi_screenshot object is created which will receive an image of the
buffer currently attached to the surface with the given id. If there
is no surface with such name the server will respond with an
ivi_screenshot.error event.
If a surface is restricted type, visible contents of the surface is strictly
controlled by the compositor. Its content is not allowed to be go out of
its destination region. If the application resizes its buffers or uses
wp_viewporter protocol to scale its contents, the old destination region
would causes visible glitches.
To avoid these issues, the controller process mark a surface as desktop
compatible. Source and destination regions of a desktop compatible
surface will be modified accordingly,when application sends a request
for resizing or scaling its contents. Therefore, applications contents
will be drawn according to application's wishes.
On the other hand, source and destination regions will be strictly
enforced, when the surface's type is restricted. The default type for
a surface is ivi.
After this request, compositor changes the type of the surface.
A layer has no content assigned to itself, it is a container for surfaces.
This request removes all surfaces from the layer render order.
A layer has no content assigned to itself, it is a container for surfaces.
This request adds a surface to the topmost position of the layer render order.
The added surface will cover all other surfaces of the layer.
A layer has no content assigned to itself, it is a container for surfaces.
This request removes one surfaces from the layer render order.
Note: the surface is not destroyed, it is just no longer contained by
the layer.
After this request, compositor creates an ivi_layout_layer
After this request, compositor destroyes an existing ivi_layout_layer.
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.
The new visibility state is provided in argument visibility.
If visibility is 0, the layer has become invisible.
If visibility is not 0, the layer has become visible.
The new opacity state is provided in argument opacity.
The valid range for opactiy is 0.0 (fully transparent) to 1.0 (fully opaque).
The new opacity state is provided in argument opacity.
The valid range for opactiy is 0.0 (fully transparent) to 1.0 (fully opaque).
The scanout region of the surface content has changed.
The new values for source rectangle are provided by
x: new horizontal start position of scanout area within the surface
y: new vertical start position of scanout area within the surface
width: new width of scanout area within the surface
height: new height of scanout area within the surface
The scanout region of the layer content has changed.
The new values for source rectangle are provided by
x: new horizontal start position of scanout area within the layer
y: new vertical start position of scanout area within the layer
width: new width of scanout area within the layer
height: new height of scanout area within the layer
The new values for source rectangle are provided by
x: new horizontal start position of surface within the layer
y: new vertical start position of surface within the layer
width : new width of surface within the layer
height: new height of surface within the layer
The new values for source rectangle are provided by
x: new horizontal start position of layer within the screen
y: new vertical start position of layer within the screen
width : new width of layer within the screen
height: new height of layer within the screen
The error event is sent out when an error has occurred.
The error event is sent out when an error has occurred.
The client providing content for this surface modified size of the surface.
The modified surface size is provided by arguments width and height.
The information contained in this event is essential for monitoring, debugging,
logging and tracing support in IVI systems.
A surface is added to the render order of the layer