aux: added an aux_hint type to support dependent rotation 16/101216/2
authorDoyoun Kang <doyoun.kang@samsung.com>
Wed, 30 Nov 2016 11:54:08 +0000 (20:54 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Wed, 30 Nov 2016 13:41:45 +0000 (05:41 -0800)
Change-Id: I5a44701a17399bc812787ed8ac4f9c34e01b8337

src/bin/e_policy_wl.c

index 80c80d145a79fbbc69e8ce8b8947e2efdc877928..32163f80f592cfd79c8c90679c256f24d10c692a 100644 (file)
@@ -209,7 +209,8 @@ enum _E_Policy_Hint_Type
    E_POLICY_HINT_GESTURE_DISABLE = 5,
    E_POLICY_HINT_EFFECT_DISABLE = 6,
    E_POLICY_HINT_MSG_USE = 7,
-   E_COMP_HINT_ALWAYS_SELECTIVE,
+   E_COMP_HINT_ALWAYS_SELECTIVE = 8,
+   E_POLICY_HINT_DEPENDENT_ROTATION = 9,
 };
 
 static const char *hint_names[] =
@@ -223,6 +224,7 @@ static const char *hint_names[] =
    "wm.policy.win.effect.disable",
    "wm.policy.win.msg.use",
    "wm.comp.win.always.selective.mode",
+   "wm.policy.win.rot.dependent",
 };
 
 static void                _e_policy_wl_surf_del(E_Policy_Wl_Surface *psurf);
@@ -2315,6 +2317,13 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
 
              e_comp_render_queue();
           }
+        else if (!strcmp(hint->hint, hint_names[E_POLICY_HINT_DEPENDENT_ROTATION]))
+          {
+             if ((hint->deleted) || (!strcmp(hint->val, "0")))
+               ec->e.state.rot.type = E_CLIENT_ROTATION_TYPE_NORMAL;
+             else if (!strcmp(hint->val, "1"))
+               ec->e.state.rot.type = E_CLIENT_ROTATION_TYPE_DEPENDENT;
+          }
 
         if (send)
           _e_policy_wl_allowed_aux_hint_send(ec, hint->id);