From: Jimmy Huang Date: Wed, 27 Feb 2013 18:28:15 +0000 (-0800) Subject: Use ecore_evas_screen_geometry_get() to retrieve desktop size X-Git-Tag: accepted/2.0alpha-wayland/20130502.213106~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=246580852563a64e06fccb7866cb8c48fcc7cf44;p=profile%2Fivi%2Fmenu-screen.git Use ecore_evas_screen_geometry_get() to retrieve desktop size Replaced all ecore_x calls to get desktop size to use ecore_evas_screen_geometry_get() instead. Defer _set_scale() to be called after window has been instantiated, since it guarantees the ecore_evas_screen_geometry_get() call is returning valid sizes after the wayland connection has been established. Signed-off-by: Jimmy Huang --- diff --git a/src/menu_screen.c b/src/menu_screen.c index 6a08e04..2893ee1 100644 --- a/src/menu_screen.c +++ b/src/menu_screen.c @@ -141,9 +141,6 @@ static menu_screen_error_e _create_canvas(char *name, char *title) } #endif - /* have to call this after elm_win_add() in wayland */ - _set_scale(); - menu_screen_info.evas = evas_object_evas_get(menu_screen_info.win); if (!menu_screen_info.evas) { _E("[%s] Failed to get the evas object", __func__); @@ -154,6 +151,9 @@ static menu_screen_error_e _create_canvas(char *name, char *title) _E("[%s] Failed to get ecore_evas object", __func__); } + /* have to call this after elm_win_add() in wayland */ + _set_scale(); + evas_object_move(menu_screen_info.win, 0, 0); evas_object_resize(menu_screen_info.win, menu_screen_info.root_width, menu_screen_info.root_height); evas_object_show(menu_screen_info.win); @@ -188,12 +188,8 @@ static int _dead_cb(int pid, void *data) static void _set_scale(void) { double scale; - Ecore_X_Window focus_win; - Ecore_X_Window root_win; - focus_win = ecore_x_window_focus_get(); - root_win = ecore_x_window_root_get(focus_win); - ecore_x_window_size_get(root_win, &menu_screen_info.root_width, &menu_screen_info.root_height); + ecore_evas_screen_geometry_get(menu_screen_info.ee, 0, 0, &menu_screen_info.root_width, &menu_screen_info.root_height); menu_screen_info.xscale = (double) menu_screen_info.root_width / (double) BASE_WIDTH; menu_screen_info.yscale = (double) menu_screen_info.root_height / (double) BASE_HEIGHT;