summaryrefslogtreecommitdiff
path: root/src/manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/manager.c')
-rw-r--r--src/manager.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/manager.c b/src/manager.c
index 301f384..0a1a336 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -231,6 +231,34 @@ func_out:
}
#endif
+static enum ug_event __ug_evas_rotation_get(Evas_Object *win)
+{
+
+ int angle = elm_win_rotation_get(win);
+ enum ug_event func_ret;
+
+ _DBG("win angle : %d", angle);
+
+ switch (angle) {
+ case 0:
+ func_ret = UG_EVENT_ROTATE_PORTRAIT;
+ break;
+ case 90:
+ func_ret = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
+ break;
+ case 180:
+ func_ret = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
+ break;
+ case 270:
+ func_ret = UG_EVENT_ROTATE_LANDSCAPE;
+ break;
+ default:
+ func_ret = UG_EVENT_ROTATE_PORTRAIT;
+ break;
+ }
+ return func_ret;
+}
+
static void ugman_tree_dump(ui_gadget_h ug)
{
static int i;
@@ -583,6 +611,8 @@ static int ugman_ug_create(void *data)
if (ug_man.last_rotate_evt == UG_EVENT_NONE) {
#ifndef UG_WAYLAND
ug_man.last_rotate_evt = __ug_x_rotation_get(ug_man.disp, ug_man.win_id);
+#else
+ ug_man.last_rotate_evt = __ug_evas_rotation_get((Evas_Object *)ug_man.win);
#endif
}
ugman_ug_event(ug, ug_man.last_rotate_evt);