SDL_Log("%s with angle %d",__FUNCTION__, angle);
switch (angle) {
- case 270:
+ case 90:
rot = ROTATION_270;
break;
case 180:
rot = ROTATION_180;
break;
- case 90:
+ case 270:
rot = ROTATION_90;
break;
case 0:
if (!wind->window) {
return;
}
- ecore_wl_window_update_size(wind->window, window->w, window->h);
+
+ if ((wind->rotation == 0) || (wind->rotation == 180))
+ ecore_wl_window_update_size(wind->window, window->w, window->h);
+ else
+ ecore_wl_window_update_size(wind->window, window->h, window->w);
}
void
Tizen_SetWindowSize(_THIS, SDL_Window *window)
{
+ SDL_Log("[SDL_Size] Tizen_SetWindowSize");
_tizen_setwindowsize(window);
_tizen_egl_window_resize(window);
}
ecore_wl_window_geometry_get(ew, &nx, &ny, &nw, &nh);
if (nw < 1) nw = 1;
if (nh < 1) nh = 1;
-
+
+ SDL_Log("[SDL_Size] * _tizen_cb_window_configure :: w->w:%d, w->h:%d, nw:%d, nh:%d", window->w, window->h, nw, nh);
if ((window->x != nx) || (window->y != ny))
ecore_wl_window_position_set(ew, nx, ny);
if ((window->w != nw) || (window->h != nh)) {
- window->w = nw;
- window->h = nh;
-
_tizen_setwindowsize(window);
}
return ECORE_CALLBACK_PASS_ON;
/* set ecore_wayland window rotation */
_tizen_setwindowsize(window);
+ SDL_Log("[SDL_Size] * _tizen_cb_event_window_rotate : %d, %d", window->w, window->h);
+ // Send Rotation Event
+ _tizen_send_rotation_event(window, ev->angle);
+
+ int retW = window->w;
+ int retH = window->h;
if(!wind->support_pre_rotation) {
_tizen_egl_window_resize(window);
}
else {
- _tizen_pre_rotation_set(wind->egl_window, (int)ev->angle);
+ if ((wind->rotation == 90) || (wind->rotation == 270)) {
+ retW = window->h;
+ retH = window->w;
+ }
+ wl_egl_window_resize(wind->egl_window, retW, retH, 0, 0);
}
-
- // Send Rotation Event
- _tizen_send_rotation_event(window, ev->angle);
-
- if (wind->rotation == 0 || wind->rotation == 180)
- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
- else if (wind->rotation == 90 || wind->rotation == 270)
- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->h, window->w);
+ ecore_wl_window_rotation_geometry_set(wind->window, wind->rotation, 0, 0,retW, retH);
+ _tizen_pre_rotation_set(wind->egl_window, (int)ev->angle);
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, retW, retH);
}
- wind->received_rotation = 1;
+ wind->received_rotation = 1;
const char* hint = SDL_GetHint(SDL_HINT_ORIENTATIONS);
- if(hint)
- {
- if(*hint != '\0')
- {
- SDL_IndicatorProcessEvent(_this->current_glwin, wind->rotation);
- }
- }
+ if(hint && *hint != '\0')
+ SDL_IndicatorProcessEvent(_this->current_glwin, wind->rotation);
return ECORE_CALLBACK_PASS_ON;
}