ecore_evas/wayland: Fix rotation when going back to 0 or 180 degrees.
authorRafael Antognolli <rafael.antognolli@intel.com>
Wed, 24 Apr 2013 20:14:15 +0000 (17:14 -0300)
committerRafael Antognolli <rafael.antognolli@intel.com>
Wed, 24 Apr 2013 20:43:10 +0000 (17:43 -0300)
src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c

index 805c3cf..66094c6 100644 (file)
@@ -275,10 +275,26 @@ _ecore_evas_wl_common_rotation_set(Ecore_Evas *ee, int rotation, int resize)
                {
                   int fw, fh;
                   evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
-                  ecore_wl_window_resize(wdata->win, ee->h + fh, ee->w + fw, 0);
-                  ecore_wl_window_update_size(wdata->win, ee->h + fh, ee->w + fw);
-                  evas_output_size_set(ee->evas, ee->req.w + fw, ee->req.h + fh);
-                  evas_output_viewport_set(ee->evas, 0, 0, ee->req.w + fw, ee->req.h + fh);
+                  if ((rotation == 0) || (rotation == 180))
+                    {
+                       ecore_wl_window_resize(wdata->win, ee->h + fw, ee->w + fh, 0);
+                       ecore_wl_window_update_size(wdata->win, ee->h + fw, ee->w + fh);
+                    }
+                  else
+                    {
+                       ecore_wl_window_resize(wdata->win, ee->h + fh, ee->w + fw, 0);
+                       ecore_wl_window_update_size(wdata->win, ee->h + fh, ee->w + fw);
+                    }
+                  if ((ee->rotation == 0) || (ee->rotation == 180))
+                    {
+                       evas_output_size_set(ee->evas, ee->w + fw, ee->h + fh);
+                       evas_output_viewport_set(ee->evas, 0, 0, ee->w + fw, ee->h + fh);
+                    }
+                  else
+                    {
+                       evas_output_size_set(ee->evas, ee->h + fw, ee->w + fh);
+                       evas_output_viewport_set(ee->evas, 0, 0, ee->h + fw, ee->w + fh);
+                    }
                }
              else
                {