return EINA_FALSE;
}
+static Eina_Bool
+_e_client_rotation_swap_check(E_Client *ec)
+{
+ // Check whether the width and height of ec are swapped or not.
+ // If you want to make your swap policy, then you can modify this function.
+
+ int x, y, w, h;
+
+ if (e_policy_client_is_keyboard(ec) ||
+ e_policy_client_is_keyboard_sub(ec))
+ return EINA_FALSE;
+
+ e_client_geometry_get(ec, &x, &y, &w, &h);
+ if ((x != ec->zone->x) ||
+ (y != ec->zone->y) ||
+ (w != ec->zone->w) ||
+ (h != ec->zone->h))
+ return EINA_TRUE;
+
+ return EINA_FALSE;
+}
+
static void
_e_tizen_rotation_send_angle_change(E_Client *ec, int angle)
{
{
ver = wl_resource_get_version(resource); // resource is type of tizen_rotation_interface
- if ((ver >= 2) && (ec->floating))
+ Eina_Bool need_swap = EINA_FALSE;
+ need_swap = _e_client_rotation_swap_check(ec);
+
+ if ((ver >= 2) && (need_swap))
{
if (rot_diff == 180)
{