summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-03-04 15:20:54 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-03-04 15:20:54 -0500
commit2b03507366ead5a47165610149c865877b8e7b9c (patch)
tree8b2227a781ae39b47e4930003e5318abdc5021db
parentb2e48a1a1e892fb7ef0de385c507fd068d9918fe (diff)
elm_win now accurately reapplies framespace in all cases for fullscreen wins
also related opaque region fix
-rw-r--r--src/lib/elm_win.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 1bfdd9370..27eb1168e 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1159,6 +1159,16 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd)
1159 int ox, oy, ow, oh; 1159 int ox, oy, ow, oh;
1160 int sx, sy, sw, sh; 1160 int sx, sy, sw, sh;
1161 int x, y, w, h; 1161 int x, y, w, h;
1162
1163 if (sd->fullscreen)
1164 {
1165 evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
1166#ifdef HAVE_ELEMENTARY_WAYLAND
1167 ecore_evas_geometry_get(sd->ee, NULL, NULL, &ow, &oh);
1168 ecore_wl_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh);
1169 return;
1170#endif
1171 }
1162 evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh); 1172 evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh);
1163 evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh); 1173 evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh);
1164 evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh); 1174 evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh);
@@ -1256,6 +1266,7 @@ _elm_win_state_change(Ecore_Evas *ee)
1256 } 1266 }
1257 if (ch_fullscreen) 1267 if (ch_fullscreen)
1258 { 1268 {
1269 _elm_win_frame_obj_update(sd);
1259 if (sd->fullscreen) 1270 if (sd->fullscreen)
1260 { 1271 {
1261 int w, h; 1272 int w, h;
@@ -1263,7 +1274,6 @@ _elm_win_state_change(Ecore_Evas *ee)
1263 evas_object_smart_callback_call(obj, SIG_FULLSCREEN, NULL); 1274 evas_object_smart_callback_call(obj, SIG_FULLSCREEN, NULL);
1264 if (sd->frame_obj) 1275 if (sd->frame_obj)
1265 evas_object_hide(sd->frame_obj); 1276 evas_object_hide(sd->frame_obj);
1266 evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
1267 ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h); 1277 ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h);
1268 ecore_evas_resize(sd->ee, w, h); 1278 ecore_evas_resize(sd->ee, w, h);
1269 } 1279 }
@@ -1271,10 +1281,7 @@ _elm_win_state_change(Ecore_Evas *ee)
1271 { 1281 {
1272 evas_object_smart_callback_call(obj, SIG_UNFULLSCREEN, NULL); 1282 evas_object_smart_callback_call(obj, SIG_UNFULLSCREEN, NULL);
1273 if (sd->frame_obj) 1283 if (sd->frame_obj)
1274 { 1284 evas_object_show(sd->frame_obj);
1275 evas_object_show(sd->frame_obj);
1276 _elm_win_frame_obj_update(sd);
1277 }
1278 } 1285 }
1279 } 1286 }
1280 if (ch_maximized) 1287 if (ch_maximized)