aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ivi/recipes-graphics/wayland
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ivi/recipes-graphics/wayland')
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland-ivi-extension/apply_weston-1.6.x.patch2135
-rw-r--r--meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.3.0.bb8
2 files changed, 2141 insertions, 2 deletions
diff --git a/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension/apply_weston-1.6.x.patch b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension/apply_weston-1.6.x.patch
new file mode 100644
index 0000000..7f8ef4e
--- /dev/null
+++ b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension/apply_weston-1.6.x.patch
@@ -0,0 +1,2135 @@
+diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c
+index f341454..049859e 100755
+--- a/weston-ivi-shell/src/ivi-controller.c
++++ b/weston-ivi-shell/src/ivi-controller.c
+@@ -202,7 +202,7 @@ destroy_ivicontroller_layer(struct wl_resource *resource)
+ struct ivicontroller_layer *next = NULL;
+ uint32_t id_layer = 0;
+
+- id_layer = ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ id_layer = ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+
+ wl_list_for_each_safe(ctrllayer, next,
+ &shell->list_controller_layer, link) {
+@@ -222,7 +222,7 @@ destroy_ivicontroller_layer(struct wl_resource *resource)
+ if ((ivilayer->layout_layer != NULL) &&
+ (ivilayer->controller_layer_count == 0) &&
+ (ivilayer->layer_canbe_removed == 1)) {
+- ivi_layout_layerRemove(ivilayer->layout_layer);
++ ivi_layout_layer_remove(ivilayer->layout_layer);
+ }
+ }
+
+@@ -271,7 +271,7 @@ get_surface(struct wl_list *list_surf, uint32_t id_surface)
+ uint32_t ivisurf_id = 0;
+
+ wl_list_for_each(ivisurf, list_surf, link) {
+- ivisurf_id = ivi_layout_getIdOfSurface(ivisurf->layout_surface);
++ ivisurf_id = ivi_layout_get_id_of_surface(ivisurf->layout_surface);
+ if (ivisurf_id == id_surface) {
+ return ivisurf;
+ }
+@@ -287,7 +287,7 @@ get_layer(struct wl_list *list_layer, uint32_t id_layer)
+ uint32_t ivilayer_id = 0;
+
+ wl_list_for_each(ivilayer, list_layer, link) {
+- ivilayer_id = ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ ivilayer_id = ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+ if (ivilayer_id == id_layer) {
+ return ivilayer;
+ }
+@@ -361,7 +361,7 @@ send_surface_add_event(struct ivisurface *ivisurf,
+ struct wl_client *surface_client = wl_resource_get_client(resource);
+ int found = 0;
+
+- ans = ivi_layout_getLayersUnderSurface(ivisurf->layout_surface,
++ ans = ivi_layout_get_layers_under_surface(ivisurf->layout_surface,
+ &length, &pArray);
+ if (0 != ans) {
+ weston_log("failed to get layers at send_surface_add_event\n");
+@@ -389,7 +389,7 @@ send_surface_add_event(struct ivisurface *ivisurf,
+ }
+
+ id_layout_layer =
+- ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+ wl_list_for_each(ctrllayer, &shell->list_controller_layer, link) {
+ if (id_layout_layer != ctrllayer->id_layer) {
+ continue;
+@@ -412,7 +412,7 @@ send_surface_add_event(struct ivisurface *ivisurf,
+ static void
+ send_surface_event(struct wl_resource *resource,
+ struct ivisurface *ivisurf,
+- struct ivi_layout_SurfaceProperties *prop,
++ struct ivi_layout_surface_properties *prop,
+ uint32_t mask)
+ {
+ if (mask & IVI_NOTIFICATION_OPACITY) {
+@@ -421,13 +421,13 @@ send_surface_event(struct wl_resource *resource,
+ }
+ if (mask & IVI_NOTIFICATION_SOURCE_RECT) {
+ ivi_controller_surface_send_source_rectangle(resource,
+- prop->sourceX, prop->sourceY,
+- prop->sourceWidth, prop->sourceHeight);
++ prop->source_x, prop->source_y,
++ prop->source_width, prop->source_height);
+ }
+ if (mask & IVI_NOTIFICATION_DEST_RECT) {
+ ivi_controller_surface_send_destination_rectangle(resource,
+- prop->destX, prop->destY,
+- prop->destWidth, prop->destHeight);
++ prop->dest_x, prop->dest_y,
++ prop->dest_width, prop->dest_height);
+ }
+ if (mask & IVI_NOTIFICATION_ORIENTATION) {
+ ivi_controller_surface_send_orientation(resource,
+@@ -437,15 +437,6 @@ send_surface_event(struct wl_resource *resource,
+ ivi_controller_surface_send_visibility(resource,
+ prop->visibility);
+ }
+- if (mask & IVI_NOTIFICATION_PIXELFORMAT) {
+- ivi_controller_surface_send_pixelformat(resource,
+- prop->pixelformat);
+- }
+- if (mask & IVI_NOTIFICATION_KEYBOARD_FOCUS) {
+- ivi_controller_surface_send_input_focus(resource,
+- IVI_CONTROLLER_SURFACE_INPUT_DEVICE_KEYBOARD,
+- prop->hasKeyboardFocus);
+- }
+ if (mask & IVI_NOTIFICATION_REMOVE) {
+ send_surface_add_event(ivisurf, resource, IVI_NOTIFICATION_REMOVE);
+ }
+@@ -464,7 +455,7 @@ update_surface_prop(struct ivisurface *ivisurf,
+ int i = 0;
+ struct ivishell *shell = ivisurf->shell;
+
+- ans = ivi_layout_getLayersUnderSurface(ivisurf->layout_surface,
++ ans = ivi_layout_get_layers_under_surface(ivisurf->layout_surface,
+ &length, &pArray);
+ if (0 != ans) {
+ weston_log("failed to get layers at send_surface_add_event\n");
+@@ -511,7 +502,7 @@ update_surface_prop(struct ivisurface *ivisurf,
+
+ static void
+ send_surface_prop(struct ivi_layout_surface *layout_surface,
+- struct ivi_layout_SurfaceProperties *prop,
++ struct ivi_layout_surface_properties *prop,
+ enum ivi_layout_notification_mask mask,
+ void *userdata)
+ {
+@@ -520,7 +511,7 @@ send_surface_prop(struct ivi_layout_surface *layout_surface,
+ struct ivicontroller_surface *ctrlsurf = NULL;
+ uint32_t id_surface = 0;
+
+- id_surface = ivi_layout_getIdOfSurface(layout_surface);
++ id_surface = ivi_layout_get_id_of_surface(layout_surface);
+
+ wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) {
+ if (id_surface != ctrlsurf->id_surface) {
+@@ -548,7 +539,7 @@ send_layer_add_event(struct ivilayer *ivilayer,
+ struct wl_client *client = wl_resource_get_client(resource);
+ struct wl_resource *resource_output = NULL;
+
+- ans = ivi_layout_getScreensUnderLayer(ivilayer->layout_layer,
++ ans = ivi_layout_get_screens_under_layer(ivilayer->layout_layer,
+ &length, &pArray);
+ if (0 != ans) {
+ weston_log("failed to get screens at send_layer_add_event\n");
+@@ -591,7 +582,7 @@ send_layer_add_event(struct ivilayer *ivilayer,
+ static void
+ send_layer_event(struct wl_resource *resource,
+ struct ivilayer *ivilayer,
+- struct ivi_layout_LayerProperties *prop,
++ struct ivi_layout_layer_properties *prop,
+ uint32_t mask)
+ {
+ if (mask & IVI_NOTIFICATION_OPACITY) {
+@@ -600,17 +591,17 @@ send_layer_event(struct wl_resource *resource,
+ }
+ if (mask & IVI_NOTIFICATION_SOURCE_RECT) {
+ ivi_controller_layer_send_source_rectangle(resource,
+- prop->sourceX,
+- prop->sourceY,
+- prop->sourceWidth,
+- prop->sourceHeight);
++ prop->source_x,
++ prop->source_y,
++ prop->source_width,
++ prop->source_height);
+ }
+ if (mask & IVI_NOTIFICATION_DEST_RECT) {
+ ivi_controller_layer_send_destination_rectangle(resource,
+- prop->destX,
+- prop->destY,
+- prop->destWidth,
+- prop->destHeight);
++ prop->dest_x,
++ prop->dest_y,
++ prop->dest_width,
++ prop->dest_height);
+ }
+ if (mask & IVI_NOTIFICATION_ORIENTATION) {
+ ivi_controller_layer_send_orientation(resource,
+@@ -638,7 +629,7 @@ update_layer_prop(struct ivilayer *ivilayer,
+ struct link_screen *link_scrn = NULL;
+ struct link_screen *next = NULL;
+
+- ans = ivi_layout_getScreensUnderLayer(ivilayer->layout_layer,
++ ans = ivi_layout_get_screens_under_layer(ivilayer->layout_layer,
+ &length, &pArray);
+ if (0 != ans) {
+ weston_log("failed to get screens at send_layer_add_event\n");
+@@ -687,7 +678,7 @@ update_layer_prop(struct ivilayer *ivilayer,
+
+ static void
+ send_layer_prop(struct ivi_layout_layer *layer,
+- struct ivi_layout_LayerProperties *prop,
++ struct ivi_layout_layer_properties *prop,
+ enum ivi_layout_notification_mask mask,
+ void *userdata)
+ {
+@@ -696,7 +687,7 @@ send_layer_prop(struct ivi_layout_layer *layer,
+ struct ivishell *shell = ivilayer->shell;
+ uint32_t id_layout_layer = 0;
+
+- id_layout_layer = ivi_layout_getIdOfLayer(layer);
++ id_layout_layer = ivi_layout_get_id_of_layer(layer);
+ wl_list_for_each(ctrllayer, &shell->list_controller_layer, link) {
+ if (id_layout_layer != ctrllayer->id_layer) {
+ continue;
+@@ -714,7 +705,7 @@ controller_surface_set_opacity(struct wl_client *client,
+ {
+ struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_surfaceSetOpacity(ivisurf->layout_surface, (float)opacity);
++ ivi_layout_surface_set_opacity(ivisurf->layout_surface, (float)opacity);
+ }
+
+ static void
+@@ -727,7 +718,7 @@ controller_surface_set_source_rectangle(struct wl_client *client,
+ {
+ struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_surfaceSetSourceRectangle(ivisurf->layout_surface,
++ ivi_layout_surface_set_source_rectangle(ivisurf->layout_surface,
+ (uint32_t)x, (uint32_t)y, (uint32_t)width, (uint32_t)height);
+ }
+
+@@ -743,11 +734,11 @@ controller_surface_set_destination_rectangle(struct wl_client *client,
+ (void)client;
+
+ // TODO: create set transition type protocol
+- ivi_layout_surfaceSetTransition( ivisurf->layout_surface,
++ ivi_layout_surface_set_transition(ivisurf->layout_surface,
+ IVI_LAYOUT_TRANSITION_NONE,
+ 300); // ms
+
+- ivi_layout_surfaceSetDestinationRectangle(ivisurf->layout_surface,
++ ivi_layout_surface_set_destination_rectangle(ivisurf->layout_surface,
+ (uint32_t)x, (uint32_t)y, (uint32_t)width, (uint32_t)height);
+ }
+
+@@ -758,7 +749,7 @@ controller_surface_set_visibility(struct wl_client *client,
+ {
+ struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_surfaceSetVisibility(ivisurf->layout_surface, visibility);
++ ivi_layout_surface_set_visibility(ivisurf->layout_surface, visibility);
+ }
+
+ static void
+@@ -780,7 +771,7 @@ controller_surface_set_orientation(struct wl_client *client,
+ {
+ struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_surfaceSetOrientation(ivisurf->layout_surface, (uint32_t)orientation);
++ ivi_layout_surface_set_orientation(ivisurf->layout_surface, (uint32_t)orientation);
+ }
+
+ static int
+@@ -941,7 +932,7 @@ clear_viewlist_but_specified_surface(struct weston_compositor *compositor,
+ }
+
+ static void
+-get_gl_surface_rectangle(struct ivi_layout_SurfaceProperties *prop,
++get_gl_surface_rectangle(struct ivi_layout_surface_properties *prop,
+ int32_t *x,
+ int32_t *y,
+ int32_t *width,
+@@ -951,10 +942,10 @@ get_gl_surface_rectangle(struct ivi_layout_SurfaceProperties *prop,
+ return;
+ }
+
+- *x = prop->sourceX;
+- *y = prop->sourceY;
+- *width = prop->sourceWidth;
+- *height = prop->sourceHeight;
++ *x = prop->source_x;
++ *y = prop->source_y;
++ *width = prop->source_width;
++ *height = prop->source_height;
+ }
+
+ static int
+@@ -967,7 +958,7 @@ gl_surface_screenshot(struct ivisurface *ivisurf,
+ struct weston_view *view = NULL;
+ struct weston_output *output = NULL;
+ struct iviscreen *link_scrn = NULL;
+- struct ivi_layout_SurfaceProperties prop = {};
++ struct ivi_layout_surface_properties *prop;
+ int32_t x = 0;
+ int32_t y = 0;
+ int32_t width = 0;
+@@ -984,7 +975,9 @@ gl_surface_screenshot(struct ivisurface *ivisurf,
+ return -1;
+ }
+
+- if (ivi_layout_getPropertiesOfSurface(ivisurf->layout_surface, &prop) != 0) {
++ prop = (struct ivi_layout_surface_properties *)
++ ivi_layout_get_properties_of_surface(ivisurf->layout_surface);
++ if (prop == NULL) {
+ fprintf(stderr, "Failed to get surface properties.");
+ return -1;
+ }
+@@ -997,7 +990,7 @@ gl_surface_screenshot(struct ivisurface *ivisurf,
+ view->plane = &compositor->primary_plane;
+ }
+
+- get_gl_surface_rectangle(&prop, &x, &y, &width, &height);
++ get_gl_surface_rectangle(prop, &x, &y, &width, &height);
+ dump_surface(link_scrn->output,
+ compositor,
+ filename,
+@@ -1026,13 +1019,13 @@ controller_surface_screenshot(struct wl_client *client,
+ int32_t height = 0;
+ int32_t stride = 0;
+
+- weston_surface = ivi_layout_surfaceGetWestonSurface(ivisurf->layout_surface);
++ weston_surface = ivi_layout_surface_get_weston_surface(ivisurf->layout_surface);
+ if (weston_surface == NULL) {
+ fprintf(stderr, "Failed to get weston surface.\n");
+ return;
+ }
+
+- if (ivi_layout_surfaceGetSize(ivisurf->layout_surface, &width, &height, &stride) != 0) {
++ if (ivi_layout_surface_get_size(ivisurf->layout_surface, &width, &height, &stride) != 0) {
+ fprintf(stderr, "Failed to get surface size.\n");
+ return;
+ }
+@@ -1069,43 +1062,24 @@ controller_surface_destroy(struct wl_client *client,
+ wl_resource_destroy(resource);
+ }
+
+-static void send_all_keyboard_focus(struct ivishell *shell)
+-{
+- struct ivi_layout_SurfaceProperties props;
+- struct ivicontroller_surface *ctrlsurf;
+- struct ivisurface *current_surf;
+- uint32_t id_surface;
+-
+- wl_list_for_each(current_surf, &shell->list_surface, link) {
+- ivi_layout_getPropertiesOfSurface(current_surf->layout_surface,
+- &props);
+- id_surface = ivi_layout_getIdOfSurface(current_surf->layout_surface);
+- wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) {
+- if (id_surface != ctrlsurf->id_surface) {
+- continue;
+- }
+- ivi_controller_surface_send_input_focus(ctrlsurf->resource,
+- IVI_CONTROLLER_SURFACE_INPUT_DEVICE_KEYBOARD,
+- props.hasKeyboardFocus);
+- }
+- }
+-}
+-
+ static void
+ controller_surface_set_input_focus(struct wl_client *client,
+ struct wl_resource *resource,
+ uint32_t device,
+ int32_t enabled)
+ {
++ weston_log("%s: %p, %p, %x, %d\n", __FUNCTION__, client, resource, device, enabled);
++#if 0
+ (void)client;
+ struct ivisurface *ivisurf = wl_resource_get_user_data(resource);
+
+ if (device & IVI_CONTROLLER_SURFACE_INPUT_DEVICE_KEYBOARD) {
+ if (enabled) {
+- ivi_layout_SetKeyboardFocusOn(ivisurf->layout_surface);
++ ivi_layout_SetKeyboardFocusOn(ivisurf->layout_surface); // tolkien
+ send_all_keyboard_focus(ivisurf->shell);
+ }
+ }
++#endif
+ }
+
+ static const
+@@ -1132,7 +1106,7 @@ controller_layer_set_source_rectangle(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetSourceRectangle(ivilayer->layout_layer,
++ ivi_layout_layer_set_source_rectangle(ivilayer->layout_layer,
+ (uint32_t)x, (uint32_t)y, (uint32_t)width, (uint32_t)height);
+ }
+
+@@ -1146,7 +1120,7 @@ controller_layer_set_destination_rectangle(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetDestinationRectangle(ivilayer->layout_layer,
++ ivi_layout_layer_set_destination_rectangle(ivilayer->layout_layer,
+ (uint32_t)x, (uint32_t)y, (uint32_t)width, (uint32_t)height);
+ }
+
+@@ -1157,7 +1131,7 @@ controller_layer_set_visibility(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetVisibility(ivilayer->layout_layer, visibility);
++ ivi_layout_layer_set_visibility(ivilayer->layout_layer, visibility);
+ }
+
+ static void
+@@ -1167,7 +1141,7 @@ controller_layer_set_opacity(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetOpacity(ivilayer->layout_layer, (float)opacity);
++ ivi_layout_layer_set_opacity(ivilayer->layout_layer, (float)opacity);
+ }
+
+ static void
+@@ -1190,7 +1164,7 @@ controller_layer_set_orientation(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetOrientation(ivilayer->layout_layer, (uint32_t)orientation);
++ ivi_layout_layer_set_orientation(ivilayer->layout_layer, (uint32_t)orientation);
+ }
+
+ static void
+@@ -1199,7 +1173,7 @@ controller_layer_clear_surfaces(struct wl_client *client,
+ {
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_layerSetRenderOrder(ivilayer->layout_layer, NULL, 0);
++ ivi_layout_layer_set_render_order(ivilayer->layout_layer, NULL, 0);
+ }
+
+ static void
+@@ -1210,7 +1184,7 @@ controller_layer_add_surface(struct wl_client *client,
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ struct ivisurface *ivisurf = wl_resource_get_user_data(surface);
+ (void)client;
+- ivi_layout_layerAddSurface(ivilayer->layout_layer, ivisurf->layout_surface);
++ ivi_layout_layer_add_surface(ivilayer->layout_layer, ivisurf->layout_surface);
+ }
+
+ static void
+@@ -1221,7 +1195,7 @@ controller_layer_remove_surface(struct wl_client *client,
+ struct ivilayer *ivilayer = wl_resource_get_user_data(resource);
+ struct ivisurface *ivisurf = wl_resource_get_user_data(surface);
+ (void)client;
+- ivi_layout_layerRemoveSurface(ivilayer->layout_layer, ivisurf->layout_surface);
++ ivi_layout_layer_remove_surface(ivilayer->layout_layer, ivisurf->layout_surface);
+ }
+
+ static void
+@@ -1252,7 +1226,7 @@ controller_layer_set_render_order(struct wl_client *client,
+
+ wl_array_for_each(id_surface, id_surfaces) {
+ wl_list_for_each(ivisurf, &ivilayer->shell->list_surface, link) {
+- id_layout_surface = ivi_layout_getIdOfSurface(ivisurf->layout_surface);
++ id_layout_surface = ivi_layout_get_id_of_surface(ivisurf->layout_surface);
+ if (*id_surface == id_layout_surface) {
+ layoutsurf_array[i] = ivisurf->layout_surface;
+ i++;
+@@ -1261,7 +1235,7 @@ controller_layer_set_render_order(struct wl_client *client,
+ }
+ }
+
+- ivi_layout_layerSetRenderOrder(ivilayer->layout_layer,
++ ivi_layout_layer_set_render_order(ivilayer->layout_layer,
+ layoutsurf_array, i);
+ free(layoutsurf_array);
+ }
+@@ -1275,7 +1249,7 @@ controller_layer_destroy(struct wl_client *client,
+ struct ivishell *shell = ivilayer->shell;
+ struct ivicontroller_layer *ctrllayer = NULL;
+ struct ivicontroller_layer *next = NULL;
+- uint32_t id_layer = ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ uint32_t id_layer = ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+ (void)client;
+ (void)destroy_scene_object;
+
+@@ -1335,7 +1309,7 @@ controller_screen_clear(struct wl_client *client,
+ {
+ struct iviscreen *iviscrn = wl_resource_get_user_data(resource);
+ (void)client;
+- ivi_layout_screenSetRenderOrder(iviscrn->layout_screen, NULL, 0);
++ ivi_layout_screen_set_render_order(iviscrn->layout_screen, NULL, 0);
+ }
+
+ static void
+@@ -1346,7 +1320,7 @@ controller_screen_add_layer(struct wl_client *client,
+ struct iviscreen *iviscrn = wl_resource_get_user_data(resource);
+ struct ivilayer *ivilayer = wl_resource_get_user_data(layer);
+ (void)client;
+- ivi_layout_screenAddLayer(iviscrn->layout_screen, ivilayer->layout_layer);
++ ivi_layout_screen_add_layer(iviscrn->layout_screen, ivilayer->layout_layer);
+ }
+
+ static void
+@@ -1365,7 +1339,7 @@ controller_screen_screenshot(struct wl_client *client,
+ int32_t stride = 0;
+ uint8_t *readpixs = NULL;
+
+- output = ivi_layout_screenGetOutput(iviscrn->layout_screen);
++ output = ivi_layout_screen_get_output(iviscrn->layout_screen);
+ --output->disable_planes;
+
+ width = output->current_mode->width;
+@@ -1409,7 +1383,7 @@ controller_screen_set_render_order(struct wl_client *client,
+
+ wl_array_for_each(id_layer, id_layers) {
+ wl_list_for_each(ivilayer, &iviscrn->shell->list_layer, link) {
+- id_layout_layer = ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ id_layout_layer = ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+ if (*id_layer == id_layout_layer) {
+ layoutlayer_array[i] = ivilayer->layout_layer;
+ i++;
+@@ -1418,7 +1392,7 @@ controller_screen_set_render_order(struct wl_client *client,
+ }
+ }
+
+- ivi_layout_screenSetRenderOrder(iviscrn->layout_screen,
++ ivi_layout_screen_set_render_order(iviscrn->layout_screen,
+ layoutlayer_array, i);
+ free(layoutlayer_array);
+ }
+@@ -1440,7 +1414,7 @@ controller_commit_changes(struct wl_client *client,
+ (void)client;
+ (void)resource;
+
+- ans = ivi_layout_commitChanges();
++ ans = ivi_layout_commit_changes();
+ if (ans < 0) {
+ weston_log("Failed to commit changes at controller_commit_changes\n");
+ }
+@@ -1459,11 +1433,11 @@ controller_layer_create(struct wl_client *client,
+ struct ivi_layout_layer *layout_layer = NULL;
+ struct ivicontroller_layer *ctrllayer = NULL;
+ struct ivilayer *ivilayer = NULL;
+- struct ivi_layout_LayerProperties prop;
++ struct ivi_layout_layer_properties *prop = NULL;
+
+ ivilayer = get_layer(&shell->list_layer, id_layer);
+ if (ivilayer == NULL) {
+- layout_layer = ivi_layout_layerCreateWithDimension(id_layer,
++ layout_layer = ivi_layout_layer_create_with_dimension(id_layer,
+ (uint32_t)width, (uint32_t)height);
+ if (layout_layer == NULL) {
+ weston_log("id_layer is already created\n");
+@@ -1505,11 +1479,9 @@ controller_layer_create(struct wl_client *client,
+ &controller_layer_implementation,
+ ivilayer, destroy_ivicontroller_layer);
+
+- memset(&prop, 0, sizeof prop);
+-
+- ivi_layout_getPropertiesOfLayer(ivilayer->layout_layer, &prop);
++ prop = ivi_layout_get_properties_of_surface(ivilayer->layout_layer);
+ send_layer_event(ctrllayer->resource, ivilayer,
+- &prop, IVI_NOTIFICATION_ALL);
++ prop, IVI_NOTIFICATION_ALL);
+ }
+
+ static void
+@@ -1533,7 +1505,7 @@ controller_surface_create(struct wl_client *client,
+ struct ivicontroller *ctrl = wl_resource_get_user_data(resource);
+ struct ivishell *shell = ctrl->shell;
+ struct ivicontroller_surface *ctrlsurf = NULL;
+- struct ivi_layout_SurfaceProperties prop;
++ struct ivi_layout_surface_properties *prop = NULL;
+ struct ivisurface *ivisurf = NULL;
+ struct ivicontroller_surface *ctrl_link = NULL;
+
+@@ -1583,13 +1555,11 @@ controller_surface_create(struct wl_client *client,
+
+ ctrlsurf->implementation_set = 1;
+
+- memset(&prop, 0, sizeof prop);
+-
+- ivi_layout_getPropertiesOfSurface(ivisurf->layout_surface, &prop);
+- ivi_layout_surfaceSetContentObserver(ivisurf->layout_surface, surface_event_content, shell);
++ prop = ivi_layout_get_properties_of_surface(ivisurf->layout_surface);
++ ivi_layout_surface_set_content_observer(ivisurf->layout_surface, surface_event_content, shell);
+
+ send_surface_event(ctrlsurf->resource, ivisurf,
+- &prop, IVI_NOTIFICATION_ALL);
++ prop, IVI_NOTIFICATION_ALL);
+ }
+
+ static const struct ivi_controller_interface controller_implementation = {
+@@ -1629,14 +1599,14 @@ add_client_to_resources(struct ivishell *shell,
+ }
+ wl_list_for_each_reverse(ivilayer, &shell->list_layer, link) {
+ id_layout_layer =
+- ivi_layout_getIdOfLayer(ivilayer->layout_layer);
++ ivi_layout_get_id_of_layer(ivilayer->layout_layer);
+
+ ivi_controller_send_layer(controller->resource,
+ id_layout_layer);
+ }
+ wl_list_for_each_reverse(ivisurf, &shell->list_surface, link) {
+ id_layout_surface =
+- ivi_layout_getIdOfSurface(ivisurf->layout_surface);
++ ivi_layout_get_id_of_surface(ivisurf->layout_surface);
+
+ ivi_controller_send_surface(controller->resource,
+ id_layout_surface);
+@@ -1687,7 +1657,7 @@ create_screen(struct ivishell *shell, struct weston_output *output)
+ iviscrn->output = output;
+
+ // TODO : Only Single display
+- iviscrn->layout_screen = ivi_layout_getScreenFromId(0);
++ iviscrn->layout_screen = ivi_layout_get_screen_from_id(0);
+
+ wl_list_init(&iviscrn->link);
+
+@@ -1720,7 +1690,7 @@ create_layer(struct ivishell *shell,
+ wl_list_insert(&shell->list_layer, &ivilayer->link);
+ ivilayer->layout_layer = layout_layer;
+
+- ivi_layout_layerAddNotification(layout_layer, send_layer_prop, ivilayer);
++ ivi_layout_layer_add_notification(layout_layer, send_layer_prop, ivilayer);
+
+ wl_list_for_each(controller, &shell->list_controller, link) {
+ ivi_controller_send_layer(controller->resource, id_layer);
+@@ -1760,7 +1730,7 @@ create_surface(struct ivishell *shell,
+ id_surface);
+ }
+
+- ivi_layout_surfaceAddNotification(layout_surface,
++ ivi_layout_layer_add_notification(layout_surface,
+ send_surface_prop, ivisurf);
+
+ return ivisurf;
+@@ -1774,7 +1744,7 @@ layer_event_create(struct ivi_layout_layer *layout_layer,
+ struct ivilayer *ivilayer = NULL;
+ uint32_t id_layer = 0;
+
+- id_layer = ivi_layout_getIdOfLayer(layout_layer);
++ id_layer = ivi_layout_get_id_of_layer(layout_layer);
+
+ ivilayer = create_layer(shell, layout_layer, id_layer);
+ if (ivilayer == NULL) {
+@@ -1808,7 +1778,7 @@ layer_event_remove(struct ivi_layout_layer *layout_layer,
+ }
+
+ if (is_removed) {
+- id_layer = ivi_layout_getIdOfLayer(layout_layer);
++ id_layer = ivi_layout_get_id_of_layer(layout_layer);
+
+ wl_list_for_each(ctrllayer, &shell->list_controller_layer, link) {
+ if (id_layer != ctrllayer->id_layer) {
+@@ -1829,7 +1799,7 @@ surface_event_create(struct ivi_layout_surface *layout_surface,
+ uint32_t id_surface = 0;
+ struct ivicontroller_surface *ctrlsurf = NULL;
+
+- id_surface = ivi_layout_getIdOfSurface(layout_surface);
++ id_surface = ivi_layout_get_id_of_surface(layout_surface);
+
+ ivisurf = create_surface(shell, layout_surface, id_surface);
+ if (ivisurf == NULL) {
+@@ -1875,7 +1845,7 @@ surface_event_remove(struct ivi_layout_surface *layout_surface,
+ }
+
+ if (is_removed) {
+- id_surface = ivi_layout_getIdOfSurface(layout_surface);
++ id_surface = ivi_layout_get_id_of_surface(layout_surface);
+
+ wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) {
+ if (id_surface != ctrlsurf->id_surface) {
+@@ -1894,10 +1864,10 @@ surface_event_configure(struct ivi_layout_surface *layout_surface,
+ struct ivishell *shell = userdata;
+ struct ivisurface *ivisurf = NULL;
+ struct ivicontroller_surface *ctrlsurf = NULL;
+- struct ivi_layout_SurfaceProperties prop;
++ struct ivi_layout_surface_properties *prop = NULL;
+ uint32_t id_surface = 0;
+
+- id_surface = ivi_layout_getIdOfSurface(layout_surface);
++ id_surface = ivi_layout_get_id_of_surface(layout_surface);
+
+ ivisurf = get_surface(&shell->list_surface, id_surface);
+ if (ivisurf == NULL) {
+@@ -1905,8 +1875,7 @@ surface_event_configure(struct ivi_layout_surface *layout_surface,
+ return;
+ }
+
+- memset(&prop, 0, sizeof prop);
+- ivi_layout_getPropertiesOfSurface(layout_surface, &prop);
++ prop = ivi_layout_get_properties_of_surface(layout_surface);
+
+ wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) {
+ if (id_surface != ctrlsurf->id_surface) {
+@@ -1927,7 +1896,7 @@ check_layout_layers(struct ivishell *shell)
+ uint32_t i = 0;
+ int32_t ret = 0;
+
+- ret = ivi_layout_getLayers(&length, &pArray);
++ ret = ivi_layout_get_layers(&length, &pArray);
+ if(ret != 0) {
+ weston_log("failed to get layers at check_layout_layers\n");
+ return -1;
+@@ -1939,7 +1908,7 @@ check_layout_layers(struct ivishell *shell)
+ }
+
+ for (i = 0; i < length; i++) {
+- id_layer = ivi_layout_getIdOfLayer(pArray[i]);
++ id_layer = ivi_layout_get_id_of_layer(pArray[i]);
+ ivilayer = create_layer(shell, pArray[i], id_layer);
+ if (ivilayer == NULL) {
+ weston_log("failed to create layer");
+@@ -1962,7 +1931,7 @@ check_layout_surfaces(struct ivishell *shell)
+ uint32_t i = 0;
+ int32_t ret = 0;
+
+- ret = ivi_layout_getSurfaces(&length, &pArray);
++ ret = ivi_layout_get_surfaces(&length, &pArray);
+ if(ret != 0) {
+ weston_log("failed to get surfaces at check_layout_surfaces\n");
+ return -1;
+@@ -1974,7 +1943,7 @@ check_layout_surfaces(struct ivishell *shell)
+ }
+
+ for (i = 0; i < length; i++) {
+- id_surface = ivi_layout_getIdOfSurface(pArray[i]);
++ id_surface = ivi_layout_get_id_of_surface(pArray[i]);
+ ivisurf = create_surface(shell, pArray[i], id_surface);
+ if (ivisurf == NULL) {
+ weston_log("failed to create surface");
+@@ -2023,12 +1992,12 @@ init_ivi_shell(struct weston_compositor *ec, struct ivishell *shell)
+ weston_log("failed to check_layout_surfaces");
+ }
+
+- ivi_layout_addNotificationCreateLayer(layer_event_create, shell);
+- ivi_layout_addNotificationRemoveLayer(layer_event_remove, shell);
++ ivi_layout_add_notification_create_layer(layer_event_create, shell);
++ ivi_layout_add_notification_remove_layer(layer_event_remove, shell);
+
+- ivi_layout_addNotificationCreateSurface(surface_event_create, shell);
+- ivi_layout_addNotificationRemoveSurface(surface_event_remove, shell);
+- ivi_layout_addNotificationConfigureSurface(surface_event_configure, shell);
++ ivi_layout_add_notification_create_surface(surface_event_create, shell);
++ ivi_layout_add_notification_remove_surface(surface_event_remove, shell);
++ ivi_layout_add_notification_configure_surface(surface_event_configure, shell);
+ }
+
+ WL_EXPORT int
+diff --git a/weston-ivi-shell/src/ivi-layout-export.h b/weston-ivi-shell/src/ivi-layout-export.h
+index 3d1afc9..eb3752c 100644
+--- a/weston-ivi-shell/src/ivi-layout-export.h
++++ b/weston-ivi-shell/src/ivi-layout-export.h
+@@ -36,10 +36,13 @@
+ * - commit to apply property changes.
+ * - notifications of property change.
+ *
+- * Management of surfaces and layers grouping these surfaces are common way in
+- * In-Vehicle Infotainment system, which integrate several domains in one system.
+- * A layer is allocated to a domain in order to control application surfaces
+- * grouped to the layer all together.
++ * Management of surfaces and layers grouping these surfaces are common
++ * way in In-Vehicle Infotainment system, which integrate several domains
++ * in one system. A layer is allocated to a domain in order to control
++ * application surfaces grouped to the layer all together.
++ *
++ * This API and ABI follow following specifications.
++ * http://projects.genivi.org/wayland-ivi-extension/layer-manager-apis
+ */
+
+ #ifndef _IVI_LAYOUT_EXPORT_H_
+@@ -49,181 +52,205 @@
+ extern "C" {
+ #endif /* __cplusplus */
+
+-#include "compositor.h"
+-#include "ivi-layout.h"
++#include "stdbool.h"
++#include <weston/compositor.h>
++
++#define IVI_SUCCEEDED (0)
++#define IVI_FAILED (-1)
+
+ struct ivi_layout_layer;
+ struct ivi_layout_screen;
++struct ivi_layout_surface;
++
++struct ivi_layout_surface_properties
++{
++ wl_fixed_t opacity;
++ int32_t source_x;
++ int32_t source_y;
++ int32_t source_width;
++ int32_t source_height;
++ int32_t start_x;
++ int32_t start_y;
++ int32_t start_width;
++ int32_t start_height;
++ int32_t dest_x;
++ int32_t dest_y;
++ int32_t dest_width;
++ int32_t dest_height;
++ enum wl_output_transform orientation;
++ bool visibility;
++ int32_t transition_type;
++ uint32_t transition_duration;
++};
++
++struct ivi_layout_layer_properties
++{
++ wl_fixed_t opacity;
++ int32_t source_x;
++ int32_t source_y;
++ int32_t source_width;
++ int32_t source_height;
++ int32_t dest_x;
++ int32_t dest_y;
++ int32_t dest_width;
++ int32_t dest_height;
++ enum wl_output_transform orientation;
++ uint32_t visibility;
++ int32_t transition_type;
++ uint32_t transition_duration;
++ double start_alpha;
++ double end_alpha;
++ uint32_t is_fade_in;
++};
+
+ enum ivi_layout_notification_mask {
+- IVI_NOTIFICATION_NONE = 0,
+- IVI_NOTIFICATION_OPACITY = (1 << 1),
+- IVI_NOTIFICATION_SOURCE_RECT = (1 << 2),
+- IVI_NOTIFICATION_DEST_RECT = (1 << 3),
+- IVI_NOTIFICATION_DIMENSION = (1 << 4),
+- IVI_NOTIFICATION_POSITION = (1 << 5),
+- IVI_NOTIFICATION_ORIENTATION = (1 << 6),
+- IVI_NOTIFICATION_VISIBILITY = (1 << 7),
+- IVI_NOTIFICATION_PIXELFORMAT = (1 << 8),
+- IVI_NOTIFICATION_ADD = (1 << 9),
+- IVI_NOTIFICATION_REMOVE = (1 << 10),
+- IVI_NOTIFICATION_CONFIGURE = (1 << 11),
+- IVI_NOTIFICATION_KEYBOARD_FOCUS = (1 << 12),
+- IVI_NOTIFICATION_ALL = 0xFFFF
++ IVI_NOTIFICATION_NONE = 0,
++ IVI_NOTIFICATION_OPACITY = (1 << 1),
++ IVI_NOTIFICATION_SOURCE_RECT = (1 << 2),
++ IVI_NOTIFICATION_DEST_RECT = (1 << 3),
++ IVI_NOTIFICATION_DIMENSION = (1 << 4),
++ IVI_NOTIFICATION_POSITION = (1 << 5),
++ IVI_NOTIFICATION_ORIENTATION = (1 << 6),
++ IVI_NOTIFICATION_VISIBILITY = (1 << 7),
++ IVI_NOTIFICATION_PIXELFORMAT = (1 << 8),
++ IVI_NOTIFICATION_ADD = (1 << 9),
++ IVI_NOTIFICATION_REMOVE = (1 << 10),
++ IVI_NOTIFICATION_CONFIGURE = (1 << 11),
++ IVI_NOTIFICATION_ALL = 0xFFFF
+ };
+
+ enum ivi_layout_transition_type{
+- IVI_LAYOUT_TRANSITION_NONE,
+- IVI_LAYOUT_TRANSITION_VIEW_DEFAULT,
+- IVI_LAYOUT_TRANSITION_VIEW_DEST_RECT_ONLY,
+- IVI_LAYOUT_TRANSITION_VIEW_FADE_ONLY,
+- IVI_LAYOUT_TRANSITION_LAYER_FADE,
+- IVI_LAYOUT_TRANSITION_LAYER_MOVE,
+- IVI_LAYOUT_TRANSITION_LAYER_VIEW_ORDER,
+- IVI_LAYOUT_TRANSITION_MAX,
++ IVI_LAYOUT_TRANSITION_NONE,
++ IVI_LAYOUT_TRANSITION_VIEW_DEFAULT,
++ IVI_LAYOUT_TRANSITION_VIEW_DEST_RECT_ONLY,
++ IVI_LAYOUT_TRANSITION_VIEW_FADE_ONLY,
++ IVI_LAYOUT_TRANSITION_LAYER_FADE,
++ IVI_LAYOUT_TRANSITION_LAYER_MOVE,
++ IVI_LAYOUT_TRANSITION_LAYER_VIEW_ORDER,
++ IVI_LAYOUT_TRANSITION_VIEW_MOVE_RESIZE,
++ IVI_LAYOUT_TRANSITION_VIEW_RESIZE,
++ IVI_LAYOUT_TRANSITION_VIEW_FADE,
++ IVI_LAYOUT_TRANSITION_MAX,
+ };
+
+-typedef void(*shellWarningNotificationFunc)(uint32_t id_surface,
+- enum ivi_layout_warning_flag warn,
+- void *userdata);
+-
+-typedef void(*layerPropertyNotificationFunc)(struct ivi_layout_layer *ivilayer,
+- struct ivi_layout_LayerProperties*,
+- enum ivi_layout_notification_mask mask,
+- void *userdata);
+-
+-typedef void(*surfacePropertyNotificationFunc)(struct ivi_layout_surface *ivisurf,
+- struct ivi_layout_SurfaceProperties*,
+- enum ivi_layout_notification_mask mask,
+- void *userdata);
++typedef void (*layer_property_notification_func)(
++ struct ivi_layout_layer *ivilayer,
++ const struct ivi_layout_layer_properties *,
++ enum ivi_layout_notification_mask mask,
++ void *userdata);
+
+-typedef void(*layerCreateNotificationFunc)(struct ivi_layout_layer *ivilayer,
+- void *userdata);
++typedef void (*surface_property_notification_func)(
++ struct ivi_layout_surface *ivisurf,
++ const struct ivi_layout_surface_properties *,
++ enum ivi_layout_notification_mask mask,
++ void *userdata);
+
+-typedef void(*layerRemoveNotificationFunc)(struct ivi_layout_layer *ivilayer,
+- void *userdata);
++typedef void (*layer_create_notification_func)(
++ struct ivi_layout_layer *ivilayer,
++ void *userdata);
+
+-typedef void(*surfaceCreateNotificationFunc)(struct ivi_layout_surface *ivisurf,
+- void *userdata);
++typedef void (*layer_remove_notification_func)(
++ struct ivi_layout_layer *ivilayer,
++ void *userdata);
+
+-typedef void(*surfaceRemoveNotificationFunc)(struct ivi_layout_surface *ivisurf,
+- void *userdata);
++typedef void (*surface_create_notification_func)(
++ struct ivi_layout_surface *ivisurf,
++ void *userdata);
+
+-typedef void(*surfaceConfigureNotificationFunc)(struct ivi_layout_surface *ivisurf,
+- void *userdata);
++typedef void (*surface_remove_notification_func)(
++ struct ivi_layout_surface *ivisurf,
++ void *userdata);
+
+-typedef void(*ivi_controller_surface_content_callback)(struct ivi_layout_surface *ivisurf,
+- int32_t content,
+- void *userdata);
+-
+-int32_t
+-ivi_layout_addNotificationShellWarning(shellWarningNotificationFunc callback,
+- void *userdata);
+-
+-void
+-ivi_layout_removeNotificationShellWarning(shellWarningNotificationFunc callback,
+- void *userdata);
+-
+-/**
+- * \brief to be called by ivi-shell in order to set initail view of
+- * weston_surface.
+- */
+-/*
+-struct weston_view *
+-ivi_layout_get_weston_view(struct ivi_layout_surface *surface);
+-*/
++typedef void (*surface_configure_notification_func)(
++ struct ivi_layout_surface *ivisurf,
++ void *userdata);
+
+-/**
+- * \brief initialize ivi-layout
+- */
+-/*
+-void
+-ivi_layout_initWithCompositor(struct weston_compositor *ec);
+-*/
++typedef void (*ivi_controller_surface_content_callback)(
++ struct ivi_layout_surface *ivisurf,
++ int32_t content,
++ void *userdata);
+
+ /**
+ * \brief register for notification when layer is created
+ */
+ int32_t
+-ivi_layout_addNotificationCreateLayer(layerCreateNotificationFunc callback,
+- void *userdata);
++ivi_layout_add_notification_create_layer(
++ layer_create_notification_func callback,
++ void *userdata);
+
+ void
+-ivi_layout_removeNotificationCreateLayer(layerCreateNotificationFunc callback,
+- void *userdata);
++ivi_layout_remove_notification_create_layer(
++ layer_create_notification_func callback,
++ void *userdata);
+
+ /**
+ * \brief register for notification when layer is removed
+ */
+ int32_t
+-ivi_layout_addNotificationRemoveLayer(layerRemoveNotificationFunc callback,
+- void *userdata);
++ivi_layout_add_notification_remove_layer(
++ layer_remove_notification_func callback,
++ void *userdata);
+
+ void
+-ivi_layout_removeNotificationRemoveLayer(layerRemoveNotificationFunc callback,
+- void *userdata);
++ivi_layout_remove_notification_remove_layer(
++ layer_remove_notification_func callback,
++ void *userdata);
+
+ /**
+ * \brief register for notification when surface is created
+ */
+ int32_t
+-ivi_layout_addNotificationCreateSurface(surfaceCreateNotificationFunc callback,
+- void *userdata);
++ivi_layout_add_notification_create_surface(
++ surface_create_notification_func callback,
++ void *userdata);
+
+ void
+-ivi_layout_removeNotificationCreateSurface(surfaceCreateNotificationFunc callback,
+- void *userdata);
++ivi_layout_remove_notification_create_surface(
++ surface_create_notification_func callback,
++ void *userdata);
+
+ /**
+ * \brief register for notification when surface is removed
+ */
+ int32_t
+-ivi_layout_addNotificationRemoveSurface(surfaceRemoveNotificationFunc callback,
+- void *userdata);
++ivi_layout_add_notification_remove_surface(
++ surface_remove_notification_func callback,
++ void *userdata);
+
+ void
+-ivi_layout_removeNotificationRemoveSurface(surfaceRemoveNotificationFunc callback,
+- void *userdata);
++ivi_layout_remove_notification_remove_surface(
++ surface_remove_notification_func callback,
++ void *userdata);
+
+ /**
+ * \brief register for notification when surface is configured
+ */
+ int32_t
+-ivi_layout_addNotificationConfigureSurface(surfaceConfigureNotificationFunc callback,
+- void *userdata);
++ivi_layout_add_notification_configure_surface(
++ surface_configure_notification_func callback,
++ void *userdata);
+
+ void
+-ivi_layout_removeNotificationConfigureSurface(surfaceConfigureNotificationFunc callback,
+- void *userdata);
++ivi_layout_remove_notification_configure_surface(
++ surface_configure_notification_func callback,
++ void *userdata);
+
+ /**
+ * \brief get id of surface from ivi_layout_surface
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return id of surface
+ */
+ uint32_t
+-ivi_layout_getIdOfSurface(struct ivi_layout_surface *ivisurf);
++ivi_layout_get_id_of_surface(struct ivi_layout_surface *ivisurf);
+
+ /**
+ * \brief get id of layer from ivi_layout_layer
+ *
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return id of layer
+ */
+ uint32_t
+-ivi_layout_getIdOfLayer(struct ivi_layout_layer *ivilayer);
+-
+-/**
+- * \brief get ivi_layout_layer from id of layer
+- *
+- * \return (struct ivi_layout_layer *)
+- * if the method call was successful
+- * \return NULL if the method call was failed
+- */
+-struct ivi_layout_layer *
+-ivi_layout_getLayerFromId(uint32_t id_layer);
++ivi_layout_get_id_of_layer(struct ivi_layout_layer *ivilayer);
+
+ /**
+ * \brief get ivi_layout_surface from id of surface
+@@ -233,7 +260,7 @@ ivi_layout_getLayerFromId(uint32_t id_layer);
+ * \return NULL if the method call was failed
+ */
+ struct ivi_layout_surface *
+-ivi_layout_getSurfaceFromId(uint32_t id_surface);
++ivi_layout_get_surface_from_id(uint32_t id_surface);
+
+ /**
+ * \brief get ivi_layout_screen from id of screen
+@@ -243,708 +270,420 @@ ivi_layout_getSurfaceFromId(uint32_t id_surface);
+ * \return NULL if the method call was failed
+ */
+ struct ivi_layout_screen *
+-ivi_layout_getScreenFromId(uint32_t id_screen);
++ivi_layout_get_screen_from_id(uint32_t id_screen);
+
+ /**
+ * \brief Get the screen resolution of a specific screen
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_getScreenResolution(struct ivi_layout_screen *iviscrn,
+- int32_t *pWidth,
+- int32_t *pHeight);
+-
+-/**
+- * \brief register for notification on property changes of surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceAddNotification(struct ivi_layout_surface *ivisurf,
+- surfacePropertyNotificationFunc callback,
+- void *userdata);
+-
+-/**
+- * \brief remove notification on property changes of surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceRemoveNotification(struct ivi_layout_surface *ivisurf);
+-
+-/**
+- * \brief Create a surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-/*
+-struct ivi_layout_surface *
+-ivi_layout_surfaceCreate(struct weston_surface *wl_surface,
+- uint32_t id_surface);
+-*/
+-
+-/**
+- * \brief Set the native content of an application to be used as surface content.
+- * If wl_surface is NULL, remove the native content of a surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-/*
+-int32_t
+-ivi_layout_surfaceSetNativeContent(struct weston_surface *wl_surface,
+- uint32_t width,
+- uint32_t height,
+- uint32_t id_surface);
+-*/
++ivi_layout_get_screen_resolution(struct ivi_layout_screen *iviscrn,
++ int32_t *pWidth,
++ int32_t *pHeight);
+
+ /**
+ * \brief Set an observer callback for surface content status change.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceSetContentObserver(struct ivi_layout_surface *ivisurf,
+- ivi_controller_surface_content_callback callback,
+- void* userdata);
+-
+-/**
+- * \brief initialize ivi_layout_surface dest/source width and height
+- */
+-/*
+-void
+-ivi_layout_surfaceConfigure(struct ivi_layout_surface *ivisurf,
+- uint32_t width, uint32_t height);
+-*/
+-
+-/**
+- * \brief Remove a surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceRemove(struct ivi_layout_surface *ivisurf);
+-
+-/**
+- * \brief Set from which kind of devices the surface can accept input events.
+- * By default, a surface accept input events from all kind of devices (keyboards, pointer, ...)
+- * By calling this function, you can adjust surface preferences. Note that this function only
+- * adjust the acceptance for the specified devices. Non specified are keept untouched.
+- *
+- * Typicall use case for this function is when dealing with pointer or touch events.
+- * Those are normally dispatched to the first visible surface below the coordinate.
+- * If you want a different behavior (i.e. forward events to an other surface below the coordinate,
+- * you can set all above surfaces to refuse input events)
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_UpdateInputEventAcceptanceOn(struct ivi_layout_surface *ivisurf,
+- int32_t devices,
+- int32_t acceptance);
++ivi_layout_surface_set_content_observer(
++ struct ivi_layout_surface *ivisurf,
++ ivi_controller_surface_content_callback callback,
++ void* userdata);
+
+ /**
+ * \brief Get the layer properties
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_getPropertiesOfLayer(struct ivi_layout_layer *ivilayer,
+- struct ivi_layout_LayerProperties *pLayerProperties);
+-
+-/**
+- * \brief Get the number of hardware layers of a screen
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return (const struct ivi_layout_layer_properties *)
++ * if the method call was successful
++ * \return NULL if the method call was failed
+ */
+-int32_t
+-ivi_layout_getNumberOfHardwareLayers(uint32_t id_screen,
+- int32_t *pNumberOfHardwareLayers);
++const struct ivi_layout_layer_properties *
++ivi_layout_get_properties_of_layer(struct ivi_layout_layer *ivilayer);
+
+ /**
+ * \brief Get the screens
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_getScreens(int32_t *pLength, struct ivi_layout_screen ***ppArray);
++ivi_layout_get_screens(int32_t *pLength, struct ivi_layout_screen ***ppArray);
+
+ /**
+ * \brief Get the screens under the given layer
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_getScreensUnderLayer(struct ivi_layout_layer *ivilayer,
+- int32_t *pLength,
+- struct ivi_layout_screen ***ppArray);
+-
+-/**
+- * \brief Get all Layers which are currently registered and managed by the services
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_getLayers(int32_t *pLength, struct ivi_layout_layer ***ppArray);
++ivi_layout_get_screens_under_layer(struct ivi_layout_layer *ivilayer,
++ int32_t *pLength,
++ struct ivi_layout_screen ***ppArray);
+
+ /**
+- * \brief Get all Layers of the given screen
++ * \brief Get all Layers which are currently registered and managed
++ * by the services
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_getLayersOnScreen(struct ivi_layout_screen *iviscrn,
+- int32_t *pLength,
+- struct ivi_layout_layer ***ppArray);
++ivi_layout_get_layers(int32_t *pLength, struct ivi_layout_layer ***ppArray);
+
+ /**
+ * \brief Get all Layers under the given surface
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_getLayersUnderSurface(struct ivi_layout_surface *ivisurf,
+- int32_t *pLength,
+- struct ivi_layout_layer ***ppArray);
+-
+-/**
+- * \brief Get all Surfaces which are currently registered and managed by the services
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_getSurfaces(int32_t *pLength, struct ivi_layout_surface ***ppArray);
++ivi_layout_get_layers_under_surface(struct ivi_layout_surface *ivisurf,
++ int32_t *pLength,
++ struct ivi_layout_layer ***ppArray);
+
+ /**
+- * \brief Get all Surfaces which are currently registered to a given layer and are managed by the services
++ * \brief Get all Surfaces which are currently registered and managed
++ * by the services
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_getSurfacesOnLayer(struct ivi_layout_layer *ivilayer,
+- int32_t *pLength,
+- struct ivi_layout_surface ***ppArray);
++ivi_layout_get_surfaces(int32_t *pLength, struct ivi_layout_surface ***ppArray);
+
+ /**
+ * \brief Create a layer which should be managed by the service
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return (struct ivi_layout_layer *)
++ * if the method call was successful
++ * \return NULL if the method call was failed
+ */
+ struct ivi_layout_layer *
+-ivi_layout_layerCreateWithDimension(uint32_t id_layer,
+- int32_t width, int32_t height);
++ivi_layout_layer_create_with_dimension(uint32_t id_layer,
++ int32_t width, int32_t height);
+
+ /**
+ * \brief Removes a layer which is currently managed by the service
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerRemove(struct ivi_layout_layer *ivilayer);
+-
+-/**
+- * \brief Get the current type of the layer.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+ */
+-int32_t
+-ivi_layout_layerGetType(struct ivi_layout_layer *ivilayer,
+- int32_t *pLayerType);
+-
+-/**
+- * \brief Set the visibility of a layer. If a layer is not visible, the layer and its
+- * surfaces will not be rendered.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerSetVisibility(struct ivi_layout_layer *ivilayer,
+- int32_t newVisibility);
++void
++ivi_layout_layer_remove(struct ivi_layout_layer *ivilayer);
+
+ /**
+- * \brief Get the visibility of a layer. If a layer is not visible, the layer and its
+- * surfaces will not be rendered.
++ * \brief Set the visibility of a layer. If a layer is not visible, the
++ * layer and its surfaces will not be rendered.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerGetVisibility(struct ivi_layout_layer *ivilayer,
+- int32_t *pVisibility);
++ivi_layout_layer_set_visibility(struct ivi_layout_layer *ivilayer,
++ bool newVisibility);
+
+ /**
+ * \brief Set the opacity of a layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerSetOpacity(struct ivi_layout_layer *ivilayer, float opacity);
++ivi_layout_layer_set_opacity(struct ivi_layout_layer *ivilayer,
++ wl_fixed_t opacity);
+
+ /**
+ * \brief Get the opacity of a layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return opacity if the method call was successful
++ * \return wl_fixed_from_double(0.0) if the method call was failed
+ */
+-int32_t
+-ivi_layout_layerGetOpacity(struct ivi_layout_layer *ivilayer, float *pOpacity);
++wl_fixed_t
++ivi_layout_layer_get_opacity(struct ivi_layout_layer *ivilayer);
+
+ /**
+ * \brief Set the area of a layer which should be used for the rendering.
+- * Only this part will be visible.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerSetSourceRectangle(struct ivi_layout_layer *ivilayer,
+- int32_t x, int32_t y,
+- int32_t width, int32_t height);
+-
+-/**
+- * \brief Set the destination area on the display for a layer.
+- * The layer will be scaled and positioned to this rectangle for rendering
++ * Only this part will be visible.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerSetDestinationRectangle(struct ivi_layout_layer *ivilayer,
+- int32_t x, int32_t y,
+- int32_t width, int32_t height);
++ivi_layout_layer_set_source_rectangle(struct ivi_layout_layer *ivilayer,
++ int32_t x, int32_t y,
++ int32_t width, int32_t height);
+
+ /**
+- * \brief Get the horizontal and vertical dimension of the layer.
++ * \brief Set the destination area on the display for a layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerGetDimension(struct ivi_layout_layer *ivilayer,
+- int32_t *pDimension);
+-
+-/**
+- * \brief Set the horizontal and vertical dimension of the layer.
++ * The layer will be scaled and positioned to this rectangle
++ * for rendering
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerSetDimension(struct ivi_layout_layer *ivilayer,
+- int32_t *pDimension);
++ivi_layout_layer_set_destination_rectangle(struct ivi_layout_layer *ivilayer,
++ int32_t x, int32_t y,
++ int32_t width, int32_t height);
+
+ /**
+ * \brief Get the horizontal and vertical position of the layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerGetPosition(struct ivi_layout_layer *ivilayer,
+- int32_t *pPosition);
++ivi_layout_layer_get_position(struct ivi_layout_layer *ivilayer,
++ int32_t *dest_x, int32_t *dest_y);
+
+ /**
+ * \brief Sets the horizontal and vertical position of the layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerSetPosition(struct ivi_layout_layer *ivilayer,
+- int32_t *pPosition);
++ivi_layout_layer_set_position(struct ivi_layout_layer *ivilayer,
++ int32_t dest_x, int32_t dest_y);
+
+ /**
+ * \brief Sets the orientation of a layer.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerSetOrientation(struct ivi_layout_layer *ivilayer,
+- int32_t orientation);
+-
+-/**
+- * \brief Gets the orientation of a layer.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerGetOrientation(struct ivi_layout_layer *ivilayer,
+- int32_t *pOrientation);
+-
+-/**
+- * \brief Sets the color value which defines the transparency value.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerSetChromaKey(struct ivi_layout_layer *ivilayer,
+- int32_t* pColor);
++ivi_layout_layer_set_orientation(struct ivi_layout_layer *ivilayer,
++ enum wl_output_transform orientation);
+
+ /**
+ * \brief Sets render order of surfaces within one layer
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerSetRenderOrder(struct ivi_layout_layer *ivilayer,
+- struct ivi_layout_surface **pSurface,
+- int32_t number);
+-
+-/**
+- * \brief Get the capabilities of a layer
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerGetCapabilities(struct ivi_layout_layer *ivilayer,
+- int32_t *pCapabilities);
+-
+-/**
+- * \brief Get the possible capabilities of a layertype
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_layerTypeGetCapabilities(int32_t layerType,
+- int32_t *pCapabilities);
+-
+-/**
+- * \brief Create the logical surface, which has no native buffer associated
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceInitialize(struct ivi_layout_surface **pSurface);
++ivi_layout_layer_set_render_order(struct ivi_layout_layer *ivilayer,
++ struct ivi_layout_surface **pSurface,
++ int32_t number);
+
+ /**
+ * \brief Set the visibility of a surface.
+- * If a surface is not visible it will not be rendered.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * If a surface is not visible it will not be rendered.
++ *
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceSetVisibility(struct ivi_layout_surface *ivisurf,
+- int32_t newVisibility);
++ivi_layout_surface_set_visibility(struct ivi_layout_surface *ivisurf,
++ bool newVisibility);
+
+ /**
+ * \brief Get the visibility of a surface.
+- * If a surface is not visible it will not be rendered.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * If a surface is not visible it will not be rendered.
++ *
++ * \return true if surface is visible
++ * \return false if surface is invisible or the method call was failed
+ */
+-int32_t
+-ivi_layout_surfaceGetVisibility(struct ivi_layout_surface *ivisurf,
+- int32_t *pVisibility);
++bool
++ivi_layout_surface_get_visibility(struct ivi_layout_surface *ivisurf);
+
+ /**
+ * \brief Set the opacity of a surface.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceSetOpacity(struct ivi_layout_surface *ivisurf,
+- float opacity);
++ivi_layout_surface_set_opacity(struct ivi_layout_surface *ivisurf,
++ wl_fixed_t opacity);
+
+ /**
+ * \brief Get the opacity of a surface.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceGetOpacity(struct ivi_layout_surface *ivisurf,
+- float *pOpacity);
+-
+-/**
+- * \brief Set the keyboard focus on a certain surface
+- * To receive keyboard events, 2 conditions must be fulfilled:
+- * 1- The surface must accept events from keyboard. See ilm_UpdateInputEventAcceptanceOn
+- * 2- The keyboard focus must be set on that surface
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return opacity if the method call was successful
++ * \return wl_fixed_from_double(0.0) if the method call was failed
+ */
+-int32_t
+-ivi_layout_SetKeyboardFocusOn(struct ivi_layout_surface *ivisurf);
+-
+-/**
+- * \brief Get the indentifier of the surface which hold the keyboard focus
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_GetKeyboardFocusSurfaceId(struct ivi_layout_surface **pSurfaceId);
++wl_fixed_t
++ivi_layout_surface_get_opacity(struct ivi_layout_surface *ivisurf);
+
+ /**
+ * \brief Set the destination area of a surface within a layer for rendering.
+- * The surface will be scaled to this rectangle for rendering.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceSetDestinationRectangle(struct ivi_layout_surface *ivisurf,
+- int32_t x, int32_t y,
+- int32_t width, int32_t height);
+-
+-/**
+- * \brief Set the horizontal and vertical dimension of the surface.
++ * The surface will be scaled to this rectangle for rendering.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceSetDimension(struct ivi_layout_surface *ivisurf,
+- int32_t *pDimension);
+-
+-/**
+- * \brief Get the horizontal and vertical dimension of the surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceGetDimension(struct ivi_layout_surface *ivisurf,
+- int32_t *pDimension);
+-
+-/**
+- * \brief Sets the horizontal and vertical position of the surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceSetPosition(struct ivi_layout_surface *ivisurf,
+- int32_t *pPosition);
+-
+-/**
+- * \brief Get the horizontal and vertical position of the surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceGetPosition(struct ivi_layout_surface *ivisurf,
+- int32_t *pPosition);
++ivi_layout_surface_set_destination_rectangle(struct ivi_layout_surface *ivisurf,
++ int32_t x, int32_t y,
++ int32_t width, int32_t height);
+
+ /**
+ * \brief Sets the orientation of a surface.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceSetOrientation(struct ivi_layout_surface *ivisurf,
+- int32_t orientation);
+-
+-/**
+- * \brief Gets the orientation of a surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceGetOrientation(struct ivi_layout_surface *ivisurf,
+- int32_t *pOrientation);
+-
+-/**
+- * \brief Gets the pixelformat of a surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceGetPixelformat(struct ivi_layout_layer *ivisurf,
+- int32_t *pPixelformat);
+-
+-/**
+- * \brief Sets the color value which defines the transparency value of a surface.
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+- */
+-int32_t
+-ivi_layout_surfaceSetChromaKey(struct ivi_layout_surface *ivisurf,
+- int32_t* pColor);
++ivi_layout_surface_set_orientation(struct ivi_layout_surface *ivisurf,
++ enum wl_output_transform orientation);
+
+ /**
+ * \brief Add a layer to a screen which is currently managed by the service
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_screenAddLayer(struct ivi_layout_screen *iviscrn,
+- struct ivi_layout_layer *addlayer);
++ivi_layout_screen_add_layer(struct ivi_layout_screen *iviscrn,
++ struct ivi_layout_layer *addlayer);
+
+ /**
+ * \brief Sets render order of layers on a display
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_screenSetRenderOrder(struct ivi_layout_screen *iviscrn,
+- struct ivi_layout_layer **pLayer,
+- const int32_t number);
++ivi_layout_screen_set_render_order(struct ivi_layout_screen *iviscrn,
++ struct ivi_layout_layer **pLayer,
++ const int32_t number);
+
+ /**
+- * \brief Enable or disable a rendering optimization
++ * \brief register for notification on property changes of layer
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_SetOptimizationMode(uint32_t id, int32_t mode);
++ivi_layout_layer_add_notification(struct ivi_layout_layer *ivilayer,
++ layer_property_notification_func callback,
++ void *userdata);
+
+ /**
+- * \brief Get the current enablement for an optimization
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \brief remove notification on property changes of layer
+ */
+-int32_t
+-ivi_layout_GetOptimizationMode(uint32_t id, int32_t *pMode);
++void
++ivi_layout_layer_remove_notification(struct ivi_layout_layer *ivilayer);
+
+ /**
+- * \brief register for notification on property changes of layer
++ * \brief register for notification on property changes of surface
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerAddNotification(struct ivi_layout_layer *ivilayer,
+- layerPropertyNotificationFunc callback,
+- void *userdata);
++ivi_layout_surface_add_notification(struct ivi_layout_surface *ivisurf,
++ surface_property_notification_func callback,
++ void *userdata);
+
+ /**
+- * \brief remove notification on property changes of layer
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \brief remove notification on property changes of surface
+ */
+-int32_t
+-ivi_layout_layerRemoveNotification(struct ivi_layout_layer *ivilayer);
++void
++ivi_layout_surface_remove_notification(struct ivi_layout_surface *ivisurf);
+
+ /**
+ * \brief Get the surface properties
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return (const struct ivi_surface_layer_properties *)
++ * if the method call was successful
++ * \return NULL if the method call was failed
+ */
+-int32_t
+-ivi_layout_getPropertiesOfSurface(struct ivi_layout_surface *ivisurf,
+- struct ivi_layout_SurfaceProperties *pSurfaceProperties);
++const struct ivi_layout_surface_properties *
++ivi_layout_get_properties_of_surface(struct ivi_layout_surface *ivisurf);
+
+ /**
+ * \brief Add a surface to a layer which is currently managed by the service
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_layerAddSurface(struct ivi_layout_layer *ivilayer,
+- struct ivi_layout_surface *addsurf);
++ivi_layout_layer_add_surface(struct ivi_layout_layer *ivilayer,
++ struct ivi_layout_surface *addsurf);
+
+ /**
+ * \brief Removes a surface from a layer which is currently managed by the service
+- *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
+ */
+-int32_t
+-ivi_layout_layerRemoveSurface(struct ivi_layout_layer *ivilayer,
+- struct ivi_layout_surface *remsurf);
++void
++ivi_layout_layer_remove_surface(struct ivi_layout_layer *ivilayer,
++ struct ivi_layout_surface *remsurf);
+
+ /**
+ * \brief Set the area of a surface which should be used for the rendering.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_surfaceSetSourceRectangle(struct ivi_layout_surface *ivisurf,
+- int32_t x, int32_t y,
+- int32_t width, int32_t height);
++ivi_layout_surface_set_source_rectangle(struct ivi_layout_surface *ivisurf,
++ int32_t x, int32_t y,
++ int32_t width, int32_t height);
+
+ /**
+ * \brief get weston_output from ivi_layout_screen.
+ *
+- * \return (struct weston_screen *)
++ * \return (struct weston_output *)
+ * if the method call was successful
+ * \return NULL if the method call was failed
+ */
+ struct weston_output *
+-ivi_layout_screenGetOutput(struct ivi_layout_screen *);
++ivi_layout_screen_get_output(struct ivi_layout_screen *);
+
+ struct weston_surface *
+-ivi_layout_surfaceGetWestonSurface(struct ivi_layout_surface *ivisurf);
++ivi_layout_surface_get_weston_surface(struct ivi_layout_surface *ivisurf);
+
+ int32_t
+-ivi_layout_surfaceGetSize(struct ivi_layout_surface *ivisurf, int32_t *width, int32_t *height, int32_t *stride);
++ivi_layout_surface_get_size(struct ivi_layout_surface *ivisurf,
++ int32_t *width,
++ int32_t *height,
++ int32_t *stride);
+
+ int32_t
+-ivi_layout_layerSetTransition(struct ivi_layout_layer *ivilayer,
+- enum ivi_layout_transition_type type,
+- uint32_t duration);
++ivi_layout_layer_set_transition(struct ivi_layout_layer *ivilayer,
++ enum ivi_layout_transition_type type,
++ uint32_t duration);
+
+ int32_t
+-ivi_layout_layerSetFadeInfo(struct ivi_layout_layer* layer,
+- uint32_t is_fade_in,
+- double start_alpha, double end_alpha);
++ivi_layout_layer_set_fade_info(struct ivi_layout_layer* layer,
++ uint32_t is_fade_in,
++ double start_alpha, double end_alpha);
+
+ int32_t
+-ivi_layout_surfaceSetTransition(struct ivi_layout_surface *ivisurf,
+- enum ivi_layout_transition_type type,
+- uint32_t duration);
++ivi_layout_surface_set_transition(struct ivi_layout_surface *ivisurf,
++ enum ivi_layout_transition_type type,
++ uint32_t duration);
+
+-int32_t
+-ivi_layout_surfaceSetTransitionDuration(struct ivi_layout_surface *ivisurf,uint32_t duration);
++void
++ivi_layout_transition_layer_render_order(struct ivi_layout_layer* layer,
++ struct ivi_layout_surface** new_order,
++ uint32_t surface_num,
++ uint32_t duration);
++
++void
++ivi_layout_transition_move_layer_cancel(struct ivi_layout_layer* layer);
+
+ /**
+- * \brief Commit all changes and execute all enqueued commands since last commit.
++ * \brief Commit all changes and execute all enqueued commands since
++ * last commit.
+ *
+- * \return 0 if the method call was successful
+- * \return -1 if the method call was failed
++ * \return IVI_SUCCEEDED if the method call was successful
++ * \return IVI_FAILED if the method call was failed
+ */
+ int32_t
+-ivi_layout_commitChanges(void);
++ivi_layout_commit_changes(void);
+
+ #ifdef __cplusplus
+-} /**/
++}
+ #endif /* __cplusplus */
+
+ #endif /* _IVI_LAYOUT_EXPORT_H_ */
+diff --git a/weston-ivi-shell/src/ivi-layout.h b/weston-ivi-shell/src/ivi-layout.h
+deleted file mode 100644
+index 7a53733..0000000
+--- a/weston-ivi-shell/src/ivi-layout.h
++++ /dev/null
+@@ -1,147 +0,0 @@
+-/*
+- * Copyright (C) 2013 DENSO CORPORATION
+- *
+- * Permission to use, copy, modify, distribute, and sell this software and
+- * its documentation for any purpose is hereby granted without fee, provided
+- * that the above copyright notice appear in all copies and that both that
+- * copyright notice and this permission notice appear in supporting
+- * documentation, and that the name of the copyright holders not be used in
+- * advertising or publicity pertaining to distribution of the software
+- * without specific, written prior permission. The copyright holders make
+- * no representations about the suitability of this software for any
+- * purpose. It is provided "as is" without express or implied warranty.
+- *
+- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+- * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+- */
+-
+-/**
+- * The ivi-layout library supports API set of controlling properties of
+- * surface and layer which groups surfaces. An unique ID whose type is integer
+- * is required to create surface and layer. With the unique ID, surface and
+- * layer are identified to control them. The API set consists of APIs to control
+- * properties of surface and layers about followings,
+- * - visibility.
+- * - opacity.
+- * - clipping (x,y,width,height).
+- * - position and size of it to be displayed.
+- * - orientation per 90 degree.
+- * - add or remove surfaces to a layer.
+- * - order of surfaces/layers in layer/screen to be displayed.
+- * - commit to apply property changes.
+- * - notifications of property change.
+- *
+- * Management of surfaces and layers grouping these surfaces are common way in
+- * In-Vehicle Infotainment system, which integrate several domains in one system.
+- * A layer is allocated to a domain in order to control application surfaces
+- * grouped to the layer all together.
+- */
+-
+-#ifndef _IVI_LAYOUT_H_
+-#define _IVI_LAYOUT_H_
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif /* __cplusplus */
+-
+-#include "compositor.h"
+-
+-struct ivi_layout_surface;
+-struct ivi_layout_layer;
+-struct ivi_layout_screen;
+-
+-struct ivi_layout_SurfaceProperties
+-{
+- float opacity;
+- uint32_t sourceX;
+- uint32_t sourceY;
+- uint32_t sourceWidth;
+- uint32_t sourceHeight;
+- uint32_t origSourceWidth;
+- uint32_t origSourceHeight;
+- int32_t startX;
+- int32_t startY;
+- uint32_t startWidth;
+- uint32_t startHeight;
+- int32_t destX;
+- int32_t destY;
+- uint32_t destWidth;
+- uint32_t destHeight;
+- uint32_t orientation;
+- uint32_t visibility;
+- uint32_t frameCounter;
+- uint32_t drawCounter;
+- uint32_t updateCounter;
+- uint32_t pixelformat;
+- uint32_t nativeSurface;
+- uint32_t inputDevicesAcceptance;
+- uint32_t chromaKeyEnabled;
+- uint32_t chromaKeyRed;
+- uint32_t chromaKeyGreen;
+- uint32_t chromaKeyBlue;
+- int32_t creatorPid;
+- int32_t transitionType;
+- uint32_t transitionDuration;
+- uint32_t hasKeyboardFocus;
+-};
+-
+-struct ivi_layout_LayerProperties
+-{
+- float opacity;
+- uint32_t sourceX;
+- uint32_t sourceY;
+- uint32_t sourceWidth;
+- uint32_t sourceHeight;
+- uint32_t origSourceWidth;
+- uint32_t origSourceHeight;
+- int32_t destX;
+- int32_t destY;
+- uint32_t destWidth;
+- uint32_t destHeight;
+- uint32_t orientation;
+- uint32_t visibility;
+- uint32_t type;
+- uint32_t chromaKeyEnabled;
+- uint32_t chromaKeyRed;
+- uint32_t chromaKeyGreen;
+- uint32_t chromaKeyBlue;
+- int32_t creatorPid;
+- int32_t transitionType;
+- uint32_t transitionDuration;
+- double startAlpha;
+- double endAlpha;
+- uint32_t isFadeIn;
+-};
+-
+-enum ivi_layout_warning_flag {
+- IVI_WARNING_INVALID_WL_SURFACE,
+- IVI_WARNING_IVI_ID_IN_USE
+-};
+-
+-struct ivi_layout_interface {
+- struct weston_view* (*get_weston_view)(struct ivi_layout_surface *surface);
+- void (*surfaceConfigure)(struct ivi_layout_surface *ivisurf,
+- int32_t width, int32_t height);
+- int32_t (*surfaceSetNativeContent)(struct weston_surface *wl_surface,
+- int32_t width,
+- int32_t height,
+- uint32_t id_surface);
+- struct ivi_layout_surface* (*surfaceCreate)(struct weston_surface *wl_surface,
+- uint32_t id_surface);
+- void (*initWithCompositor)(struct weston_compositor *ec);
+- void (*emitWarningSignal)(uint32_t id_surface,
+- enum ivi_layout_warning_flag flag);
+-};
+-
+-WL_EXPORT struct ivi_layout_interface ivi_layout_interface;
+-
+-#ifdef __cplusplus
+-} /**/
+-#endif /* __cplusplus */
+-
+-#endif /* _IVI_LAYOUT_H_ */
diff --git a/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.3.0.bb b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.3.0.bb
index c8f9ca8..f7d8d0a 100644
--- a/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.3.0.bb
+++ b/meta-ivi/recipes-graphics/wayland/wayland-ivi-extension_1.3.0.bb
@@ -10,11 +10,15 @@ DEPENDS = "weston"
# FIX ME
# This should be TAG = "${PV}" but yocto doesn't support lightweight tags for now
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=6881
-TAG = "a4bde3e5a4c21ff7cf28cc027d45d7c63cac2f66"
+#TAG = "a4bde3e5a4c21ff7cf28cc027d45d7c63cac2f66"
+TAG = "1.3.91"
SRC_URI = "git://git.projects.genivi.org/${PN}.git;tag=${TAG} \
file://use_sysroot_dir.patch \
- file://fix_compositor_include.patch \
+ file://apply_weston-1.6.x.patch \
"
+#"
+# file://fix_compositor_include.patch \
+#"
S = "${WORKDIR}/git"
inherit cmake autotools