Introduce meta-agl-profile-core and meta-agl-profile-graphics
[AGL/meta-agl.git] / meta-agl / recipes-graphics / wayland / weston / 0012-hmi-controller-register-for-desktop_surface_configured.patch
diff --git a/meta-agl/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch b/meta-agl/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch
deleted file mode 100644 (file)
index c5d85bb..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-index d5403e06..7b2f2707 100644
---- a/ivi-shell/hmi-controller.c
-+++ b/ivi-shell/hmi-controller.c
-@@ -129,9 +129,9 @@ struct hmi_controller {
-       struct weston_compositor           *compositor;
-       struct wl_listener                  destroy_listener;
--      struct wl_listener                  surface_created;
-       struct wl_listener                  surface_removed;
-       struct wl_listener                  surface_configured;
-+      struct wl_listener                  desktop_surface_configured;
-       struct wl_client                   *user_interface;
-       struct ui_setting                   ui_setting;
-@@ -581,28 +581,6 @@ create_layer(struct weston_output *output,
- /**
-  * Internal set notification
-  */
--static void
--set_notification_create_surface(struct wl_listener *listener, void *data)
--{
--      struct hmi_controller *hmi_ctrl =
--                      wl_container_of(listener, hmi_ctrl,
--                                      surface_created);
--      struct ivi_layout_surface *ivisurf = data;
--      struct hmi_controller_layer *layer_link =
--                                      wl_container_of(hmi_ctrl->application_layer_list.prev,
--                                                      layer_link,
--                                                      link);
--      struct ivi_layout_layer *application_layer = layer_link->ivilayer;
--      int32_t ret = 0;
--
--      /* skip ui widgets */
--      if (is_surf_in_ui_widget(hmi_ctrl, ivisurf))
--              return;
--
--      ret = ivi_layout_interface->layer_add_surface(application_layer, ivisurf);
--      assert(!ret);
--}
--
- static void
- set_notification_remove_surface(struct wl_listener *listener, void *data)
- {
-@@ -670,6 +648,42 @@ set_notification_configure_surface(struct wl_listener *listener, void *data)
-       switch_mode(hmi_ctrl, hmi_ctrl->layout_mode);
- }
-+static void
-+set_notification_configure_desktop_surface(struct wl_listener *listener, void *data)
-+{
-+      struct hmi_controller *hmi_ctrl =
-+                      wl_container_of(listener, hmi_ctrl,
-+                                      desktop_surface_configured);
-+      struct ivi_layout_surface *ivisurf = data;
-+      struct hmi_controller_layer *layer_link =
-+                                      wl_container_of(hmi_ctrl->application_layer_list.prev,
-+                                                      layer_link,
-+                                                      link);
-+      struct ivi_layout_layer *application_layer = layer_link->ivilayer;
-+      struct weston_surface *surface;
-+      int32_t ret = 0;
-+
-+      /* skip ui widgets */
-+      if (is_surf_in_ui_widget(hmi_ctrl, ivisurf))
-+              return;
-+
-+      ret = ivi_layout_interface->layer_add_surface(application_layer, ivisurf);
-+      assert(!ret);
-+
-+      /*
-+       * if application changes size of wl_buffer. The source rectangle shall be
-+       * fit to the size.
-+       */
-+      surface = ivi_layout_interface->surface_get_weston_surface(ivisurf);
-+      if (surface) {
-+              ivi_layout_interface->surface_set_source_rectangle(ivisurf, 0,
-+                              0, surface->width, surface->height);
-+      }
-+
-+      ivi_layout_interface->commit_changes();
-+      switch_mode(hmi_ctrl, hmi_ctrl->layout_mode);
-+}
-+
- /**
-  * A hmi_controller used 4 ivi_layers to manage ivi_surfaces. The IDs of
-  * corresponding ivi_layer are defined in weston.ini. Default scene graph
-@@ -852,6 +866,9 @@ hmi_controller_create(struct weston_compositor *ec)
-       hmi_ctrl->surface_configured.notify = set_notification_configure_surface;
-       ivi_layout_interface->add_listener_configure_surface(&hmi_ctrl->surface_configured);
-+      hmi_ctrl->desktop_surface_configured.notify = set_notification_configure_desktop_surface;
-+      ivi_layout_interface->add_listener_configure_desktop_surface(&hmi_ctrl->desktop_surface_configured);
-+
-       hmi_ctrl->destroy_listener.notify = hmi_controller_destroy;
-       wl_signal_add(&hmi_ctrl->compositor->destroy_signal,
-                     &hmi_ctrl->destroy_listener);
-@@ -1275,13 +1292,6 @@ ivi_hmi_controller_UI_ready(struct wl_client *client,
-       ivi_layout_interface->commit_changes();
-       ivi_hmi_controller_add_launchers(hmi_ctrl, 256);
--
--      /* Add surface_created listener after the initialization of launchers.
--       * Otherwise, surfaces of the launchers will be added to application
--       * layer too.*/
--      hmi_ctrl->surface_created.notify = set_notification_create_surface;
--      ivi_layout_interface->add_listener_create_surface(&hmi_ctrl->surface_created);
--
-       hmi_ctrl->is_initialized = 1;
- }
-diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
-index 6b854503..22d63708 100644
---- a/ivi-shell/ivi-layout.c
-+++ b/ivi-shell/ivi-layout.c
-@@ -787,9 +787,15 @@ commit_surface_list(struct ivi_layout *layout)
-                       ivisurf->pending.prop.transition_type = IVI_LAYOUT_TRANSITION_NONE;
-                       if (configured && !is_surface_transition(ivisurf)) {
--                              shell_surface_send_configure(ivisurf->surface,
--                                                           ivisurf->prop.dest_width,
--                                                           ivisurf->prop.dest_height);
-+                              if (ivisurf->weston_desktop_surface) {
-+                                      weston_desktop_surface_set_size(ivisurf->weston_desktop_surface,
-+                                                                      ivisurf->prop.dest_width,
-+                                                                      ivisurf->prop.dest_height);
-+                              } else {
-+                                      shell_surface_send_configure(ivisurf->surface,
-+                                                                   ivisurf->prop.dest_width,
-+                                                                   ivisurf->prop.dest_height);
-+                              }
-                       }
-               } else {
-                       configured = 0;