rotation: set up orientation callbacks for E_Zone 48/81148/2
authorMinJeong Kim <minjjj.kim@samsung.com>
Thu, 21 Jul 2016 13:27:11 +0000 (22:27 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Wed, 3 Aug 2016 11:41:12 +0000 (20:41 +0900)
Change-Id: I1daf58a348f1ce796df22b2795fee86e11b436ae
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/rotation/e_mod_rotation.c
src/rotation/e_mod_rotation.h
src/rotation/e_mod_rotation_wl.c
src/services/e_mod_quickpanel.c

index 526c06f..f0cd84a 100644 (file)
@@ -114,6 +114,9 @@ _e_mod_pol_rotation_cb_idle_exiter(void *data EINA_UNUSED)
 EINTERN void
 e_mod_pol_rotation_init(void)
 {
+   E_Zone *zone;
+   Eina_List *l;
+
    if (!eina_init())
      return;
 
@@ -129,6 +132,14 @@ e_mod_pol_rotation_init(void)
    e_mod_rot_wl_init();
 #endif
 
+   EINA_LIST_FOREACH(e_comp->zones, l, zone)
+     {
+        e_zone_orientation_callback_set(zone,
+                                        e_zone_rotation_block_set,
+                                        e_mod_pol_rotation_force_update_add,
+                                        e_mod_pol_rotation_force_update_del);
+     }
+
    if (E_EVENT_INFO_ROTATION_MESSAGE != -1)
      {
         E_LIST_HANDLER_APPEND(_event_handlers, E_EVENT_INFO_ROTATION_MESSAGE,
index b869f42..5834827 100644 (file)
@@ -31,8 +31,8 @@ EINTERN Eina_Bool e_zone_rotation_block_set(E_Zone *zone, const char *name_hint,
 EINTERN int e_client_rotation_curr_angle_get(const E_Client *ec);
 EINTERN void e_mod_pol_rotation_init(void);
 EINTERN void e_mod_pol_rotation_shutdown(void);
-EINTERN void e_mod_pol_rotation_force_update_add(E_Client *ec);
-EINTERN void e_mod_pol_rotation_force_update_del(E_Client *ec);
+EINTERN void e_mod_pol_rotation_force_update_add(E_Zone *zone, E_Client *ec);
+EINTERN void e_mod_pol_rotation_force_update_del(E_Zone *zone, E_Client *ec);
 
 #include "e_mod_rotation.x"
 #endif
index 879286b..26223d0 100644 (file)
@@ -1740,13 +1740,13 @@ e_mod_rot_wl_shutdown(void)
 }
 
 EINTERN void
-e_mod_pol_rotation_force_update_add(E_Client *ec)
+e_mod_pol_rotation_force_update_add(E_Zone *zone EINA_UNUSED, E_Client *ec)
 {
    rot.force_update_list = eina_list_append(rot.force_update_list, ec);
 }
 
 EINTERN void
-e_mod_pol_rotation_force_update_del(E_Client *ec)
+e_mod_pol_rotation_force_update_del(E_Zone *zone EINA_UNUSED, E_Client *ec)
 {
    rot.force_update_list = eina_list_remove(rot.force_update_list, ec);
 }
index a06edd0..8b62d83 100644 (file)
@@ -771,7 +771,7 @@ _quickpanel_hook_client_del(void *d, E_Client *ec)
 
    _quickpanel_free(qp);
 
-   e_mod_pol_rotation_force_update_del(ec);
+   e_mod_pol_rotation_force_update_del(ec->zone, ec);
 }
 
 static void
@@ -1318,7 +1318,7 @@ e_mod_quickpanel_client_set(E_Client *ec)
    ec->e.state.rot.type = E_CLIENT_ROTATION_TYPE_DEPENDENT;
 
    /* force update rotation for quickpanel */
-   e_mod_pol_rotation_force_update_add(ec);
+   e_mod_pol_rotation_force_update_add(ec->zone, ec);
 
    QP_HIDE(ec);