if (!(rot->available_angles & TIZEN_ROTATION_ANGLE_0) &&
!(rot->available_angles & TIZEN_ROTATION_ANGLE_180))
{
- enum tizen_rotation_angle tz_angle = 0;
+ enum tizen_rotation_angle tz_angle = 0, zone_tz_angle = 0;
uint32_t serial;
Eina_List *l;
struct wl_resource *res;
+ int ang_zone = 0;
- if (rot->available_angles & TIZEN_ROTATION_ANGLE_90)
+ if (ec->zone)
+ {
+ if (ec->zone->rot.unknown_state)
+ ang_zone = ec->zone->rot.act;
+ else
+ ang_zone = ec->zone->rot.curr;
+
+ zone_tz_angle = INT_TO_TIZEN_ROTATION_ANGLE(ang_zone);
+ }
+
+ if (rot->available_angles & zone_tz_angle)
+ tz_angle = zone_tz_angle;
+ else if (rot->available_angles & TIZEN_ROTATION_ANGLE_90)
tz_angle = TIZEN_ROTATION_ANGLE_90;
else if (rot->available_angles & TIZEN_ROTATION_ANGLE_270)
tz_angle = TIZEN_ROTATION_ANGLE_270;