+static void _rot_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ SETTING_TRACE_BEGIN;
+ setting_main_appdata *ad = (setting_main_appdata *)data;
+ if (ad == NULL || ad->win_main == NULL )
+ return;
+ int change_ang = elm_win_rotation_get(ad->win_main);
+ SETTING_TRACE("....change_ang:%d",change_ang);
+ SETTING_TRACE("current_rotation:%d",ad->current_rotation);
+ //Send the rotation event to UGs..
+ enum ug_event event = UG_EVENT_ROTATE_PORTRAIT;
+ switch (change_ang) {
+ case APP_DEVICE_ORIENTATION_0:
+ event = UG_EVENT_ROTATE_PORTRAIT;
+ break;
+ case APP_DEVICE_ORIENTATION_180:
+ event = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
+ break;
+ case APP_DEVICE_ORIENTATION_270:
+ event = UG_EVENT_ROTATE_LANDSCAPE;
+ break;
+ case APP_DEVICE_ORIENTATION_90:
+ event = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
+ break;
+ default:
+ return;
+ }
+ SETTING_TRACE("diff:%d",elm_win_rotation_get(ad->win_main) - ad->current_rotation);
+
+ if (change_ang != ad->current_rotation)
+ {
+ ug_send_event(event);
+ ad->current_rotation = change_ang;
+ }
+}