Add 2017 to copyright
[staging/HomeScreen.git] / interfaces / homescreen.xml
index 1cd390a..378ff54 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<!-- Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+<!-- Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
 
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
                        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList&lt;int&gt;"/>
                </method>
                <!--
-               getLayoutRenderAreaForSurfaceId:
-               @surfaceId: The surface that is requested.
-               @renderArea: The layout render area in which the given surface is located.
+               renderAppToAreaAllowed:
+               @appCategory: The application category that is requested. Use enum AppCategory for this!
+               @layoutArea: The layout area where the application shall be rendered. Find the layoutArea ids in the layout definition!
+               @allowed: Returns true, if the application is allowed to be rendered in the area
 
-               Before an application uses renderSurfaceToArea to render a surface into an area inside a layout area,
-               this method should be used to get the dimension of the layout area, in which the surface
-               currently is positioned.
+               This function can be used to request, if it is allowed to render an application of a specific category
+               in a layout area. The idea is to decide from an application point of view to allocate recources or not.
+               Example: an application will decide to render video based on this call. This call will not change anything, it is only a request.
                -->
-               <method name="getLayoutRenderAreaForSurfaceId">
-                       <arg name="surfaceId" type="i" direction="in"/>
-                       <arg name="renderArea" type="(iiii)" direction="out"/>
-                       <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QRect"/>
+               <method name="renderAppToAreaAllowed">
+                       <arg name="appCategory" type="i" direction="in"/>
+                       <arg name="layoutArea" type="i" direction="in"/>
+                       <arg name="allowed" type="b" direction="out"/>
                </method>
                <!--
                renderSurfaceToArea:
                @surfaceId: The surface that is requested.
-               @renderArea: The render area inside the current layout area.
+               @layoutArea: The layout area where the surface shall be rendered. Find the layoutArea ids in the layout definition!
 
                This is a special case. In the normal use case, one layout area is always filled completely
-               with one surface. By using this function, an app can request to position a surface in the
-               layout area.
-               Example:
-               If the layout area is 500x500 pixel in size, the normal use case qould be, that a surface
-               is positioned at x=0, y=0 with a width and a size of 500. With this function, an application can position surfaces
-               free in this area.
-               E.g.: Position surface 101 at x=10, y=30, width=300, height=100 and 
-               surface 104 at x=100, y=130, width=30, height=10
+               with the first surface, that the process creates (more precise: the surface with the lowest id).
+               By using this function, an app can request to position a different surface in the layout area.
                -->
                <method name="renderSurfaceToArea">
                        <arg name="surfaceId" type="i" direction="in"/>
-                       <arg name="renderArea" type="(iiii)" direction="in"/>
-                       <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QRect"/>
+                       <arg name="layoutArea" type="i" direction="in"/>
                </method>
+               <!--
+                 surfaceVisibilityChanged:
+                 @surfaceId: The surface that changed.
+                 @visible: True, if the surface is visible.
+
+                 This is emitted when the visible property of the surfaces changes.
+               -->
+               <signal name="surfaceVisibilityChanged">
+                       <arg name="surfaceId" type="i"/>
+                       <arg name="visible" type="b"/>
+               </signal>
        </interface>
 </node>