- Change according to:
- https://gerrit.automotivelinux.org/gerrit/#/c/11523/
- https://gerrit.automotivelinux.org/gerrit/#/c/11747/
- Update to the latest information.
- Fix typo.
Change-Id: I6ca0afa91de330219c6fba1c70d20a39282701a2
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
--------------
A client library implementation that internally uses the *libafbwsc*, is
--------------
A client library implementation that internally uses the *libafbwsc*, is
-provided in the subdirectory `libwindowmanager/` with its own documentation
-directory.
-
-The client library is built together with the window manager itself.
+provided in the `libwindowmanager`.
<div id="Concepts"></div>
<div id="Concepts"></div>
=============
The window manager is configured with the *layers.json* configuration
=============
The window manager is configured with the *layers.json* configuration
-file, by default it is searched in `/etc/layers.json` but through the
-use of the environment variable `LAYERS_JSON` the WM can be instructed
-to use different file. Note, that the WM will not run unless this
-configuration is found and valid.
+file, by default it is searched in `${AFM_APP_INSTALL_DIR}/etc/layers.json`.
+Note, that the WM will not run unless this configuration is found and valid.
A sample configuration is provided with the window manager
A sample configuration is provided with the window manager
-implementation, this sample is installed to /etc/layers.json.
+implementation, this sample is installed to ${AFM_APP_INSTALL_DIR}/etc/layers.json.
<div id="Configuration\ Items"></div>
<div id="Configuration\ Items"></div>
to a layer.
- `role` defines a regular expression that application drawing names
to a layer.
- `role` defines a regular expression that application drawing names
- are matched against. If applications match tis regular expression,
+ are matched against. If applications match this regular expression,
the surface will be visible on this layer.
- `name` is just a name definition for this layer, it has no
the surface will be visible on this layer.
- `name` is just a name definition for this layer, it has no
surface of this layout.
In the above example only the surface with drawing name
surface of this layout.
In the above example only the surface with drawing name
-`App MPlayer Main` will be used as the *main* surface, but all surfaces
-that begin with `App MPlayer Sub` can be used as a *sub* surface for
+`Navigation` will be used as the *main* surface, and the surfaces
+with drawing name `HVAC` or `MediaPlayer` can be used as a *sub* surface for
this layout.
The names must still match the layer's role match!
this layout.
The names must still match the layer's role match!
+<div id="Supported environment"></div>
+
+Supported environment
+-------------------
+
+| Item | Description |
+|:------------|:----------------------------------|
+| AGL version | Electric Eel |
+| Hardware | Renesas R-Car Starter Kit Pro(M3) |
+
+
<div id="Build\ Configuration"></div>
Build Configuration
<div id="Build\ Configuration"></div>
Build Configuration
**Download recipe**
If repo is already done, please start with git clone
**Download recipe**
If repo is already done, please start with git clone
```
$ mkdir WORK
$ cd WORK
```
$ mkdir WORK
$ cd WORK
-$ repo init -b dab -m dab_4.0.0_xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
+$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
-$ git clone https://gerrit.automotivelinux.org/gerrit/staging/meta-hmi-framework
```
Then you can get the following recipe.
```
Then you can get the following recipe.
-* `meta-hmi-framework/windowmanager`
+* `meta-agl-devel/meta-hmi-framework/recipes-graphics/agl-service-windowmanager-2017`
+
+* `meta-agl-devel/meta-hmi-framework/recipes-graphics/libwindowmanager`
```
$ source meta-agl/scripts/aglsetup.sh -m m3ulcb agl-demo agl-devel agl-appfw-smack agl-hmi-framework
```
$ source meta-agl/scripts/aglsetup.sh -m m3ulcb agl-demo agl-devel agl-appfw-smack agl-hmi-framework
-$ bitbake agl-service-windowmanager-2017
+$ bitbake agl-demo-platform
-
-A couple of build options to configure the build are available:
-
-- `ENABLE_DEBUG_OUTPUT:BOOL` Compiles including very verbose debug
- output from the window manager, use --verbose three times on an
- afb-daemon instance to see the debug messages.
-
-- `ENABLE_SCOPE_TRACING:BOOL` Enables a simple scope tracing mechanism
- used for a rather small portion of the window manager code. However,
- it is used quite extensively in the libwindowmanager implementation.
-
-By default these options will be disabled.
-
-
<div id="Implementation\ Notes"></div>
Implementation Notes
<div id="Implementation\ Notes"></div>
Implementation Notes
### requestSurface(json_object *object)
**args: `{ 'kKeyDrawingName': 'application name' }`**
### requestSurface(json_object *object)
**args: `{ 'kKeyDrawingName': 'application name' }`**
-This method requests a surface with the label given from the *Window
-Manager*. It will return `0` for a successful surface request, and
+This method requests a surface with the label given from the *Window Manager*.
+It will return `surface id` a client application can use, and
`-errno` on failure. Additionally, on the standard error, messages are
logged to help debgging the issue.
`-errno` on failure. Additionally, on the standard error, messages are
logged to help debgging the issue.
This is also true for *QML* applications, where only after the
`requestSurface()` should the load of the resource be done. The method
This is also true for *QML* applications, where only after the
`requestSurface()` should the load of the resource be done. The method
-returns `0` after the surface was requested successfully.
+returns `surface id` a client application can use
+after the surface was requested successfully.
#### Workings of requestSurface()
#### Workings of requestSurface()
- `SyncDraw(json_object *object)`
args: { 'kKeyDrawingName': 'application name', 'kKeyDrawingArea': 'layout' }
Signal applications, that the
- `SyncDraw(json_object *object)`
args: { 'kKeyDrawingName': 'application name', 'kKeyDrawingArea': 'layout' }
Signal applications, that the
- surface with name `kKeyDrawingArea` needs to redraw its content - this
+ surface with name `kKeyDrawingArea` needs to redraw its content
+ in the layout with name `kKeyDrawingArea` - this
usually is sent when the surface geometry changed.
- `FlushDraw(json_object *object)`
usually is sent when the surface geometry changed.
- `FlushDraw(json_object *object)`