X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=protocol%2Fivi-wm.xml;fp=protocol%2Fivi-wm.xml;h=da45c7ed81206fecd3abca2325a1709caf09005b;hb=a94f6c67c67a68df8a894699686f2eaa8e870208;hp=0000000000000000000000000000000000000000;hpb=7614135f5b9e129bb9af431e80f377cc128196c5;p=apps%2Fagl-service-windowmanager-2017.git diff --git a/protocol/ivi-wm.xml b/protocol/ivi-wm.xml new file mode 100644 index 0000000..da45c7e --- /dev/null +++ b/protocol/ivi-wm.xml @@ -0,0 +1,608 @@ + + + + + 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 + + + + + + + +