}
CSCLCoreUI* ui = impl->get_core_ui();
if (ui) {
+ ui->set_screen_rotation_degree(ise_context.angle);
ui->process_keyboard_ui_state_change(KEYBOARD_UI_STATE_WILL_SHOW);
}
- callback->on_ise_show(ic, impl->get_screen_rotation_degree(), ise_context);
+ callback->on_ise_show(ic, ise_context.angle, ise_context);
if (ui) {
SclSize portrait;
SclSize landscape;
*/
ui->update_keyboard_geometry(portrait, landscape);
ui->process_keyboard_ui_state_change(KEYBOARD_UI_STATE_DID_SHOW);
- } else
+ } else {
LOGW("Failed to get core UI");
+ }
#ifdef WEBSOCKET
g_websocket.on_set_layout(ise_context.layout);
Evas_Object *main_window = NATIVE_WINDOW_CAST(m_main_window);
Evas_Coord win_w = 0, win_h = 0;
elm_win_screen_size_get(main_window, NULL, NULL, &win_w, &win_h);
- int degree = elm_win_rotation_get(main_window);
+ int degree = m_rotation_degree;
+ LOGD("rotation : %d", degree);
char geometry[128];
snprintf(geometry, sizeof(geometry), "%d,%d,%d,%d", (win_w - portrait.width) / 2, win_h - portrait.height, portrait.width, portrait.height);
static void win_rotation_changed_cb(void *data, Evas_Object *obj, void *event)
{
int degree = elm_win_rotation_get(obj);
- LOGD("rotation angle : %d\n", degree);
-
- ISCLCoreEventCallback *callback = NULL;
- CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
- if (impl) {
- callback = impl->get_core_event_callback();
- }
+ LOGD("elm_win_rotation_get angle : %d\n", degree);
CSCLCoreUIEFL *coreui = static_cast<CSCLCoreUIEFL*>(data);
if (coreui) {
coreui->set_screen_rotation_degree(degree);
}
- if (callback) {
- callback->on_set_rotation_degree(degree);
- }
}
#else
static Eina_Bool _client_message_cb(void *data, int type, void *event)
int angle = 0;
#ifdef WAYLAND
- angle = elm_win_rotation_get(NATIVE_WINDOW_CAST(m_main_window));
+ if (m_rotation_degree == -1) {
+ m_rotation_degree = elm_win_rotation_get(NATIVE_WINDOW_CAST(m_main_window));
+ }
+ LOGD("m_rotation_degree : %d", m_rotation_degree);
+ angle = m_rotation_degree;
#else
if (m_rotation_degree == -1) {
int ret = 0;
vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, accessibility_changed_cb, NULL);
- evas_object_smart_callback_add(main_window, "wm,rotation,changed", win_rotation_changed_cb, NULL);
+ evas_object_smart_callback_add(main_window, "wm,rotation,changed", win_rotation_changed_cb, this);
evas_object_show(main_window);
#else
Ecore_Event_Handler *XClientMsgHandler =
void CSCLCoreUIEFL::set_screen_rotation_degree(int degree)
{
m_rotation_degree = degree;
+
+ ISCLCoreEventCallback *callback = NULL;
+ CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+ if (impl) {
+ callback = impl->get_core_event_callback();
+ }
+ if (callback) {
+ callback->on_set_rotation_degree(degree);
+ }
+
+ LOGD("rotation value set : %d", degree);
}
#ifdef WAYLAND