From 9d24cd53bb109d61f1721a44bb9edbbe9368a558 Mon Sep 17 00:00:00 2001 From: "huiyu.eun" Date: Wed, 21 Dec 2016 15:19:32 +0900 Subject: [PATCH] [SDL_Tizen] Fix Indicator issue Doesn't use indicator, if SDL_window size is smaller than device screen size. Change-Id: I3c1bd4bd8896fc50e98f1753edbd8005f49285da Signed-off-by: huiyu.eun --- src/video/tizen/SDL_tizenindicator.c | 16 +++++++++++++--- src/video/tizen/SDL_tizenwindow.c | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/video/tizen/SDL_tizenindicator.c b/src/video/tizen/SDL_tizenindicator.c index 18d5815..33f73a5 100644 --- a/src/video/tizen/SDL_tizenindicator.c +++ b/src/video/tizen/SDL_tizenindicator.c @@ -284,8 +284,11 @@ void Tizen_UploadIndicatorImage(int idx) SDL_bool Tizen_isTouchIndicator(SDL_Window *window, int rot, int x, int y) { + if((window->flags & SDL_WINDOW_FULLSCREEN) || (window->flags & SDL_WINDOW_BORDERLESS)) + return SDL_FALSE; + if(x > window->x && x < window->x + window->w && y > window->y && y < window->y + IINDICATOR_HEIGHT) - return SDL_TRUE; + return SDL_TRUE; return SDL_FALSE; } @@ -293,6 +296,13 @@ SDL_bool Tizen_isTouchIndicator(SDL_Window *window, int rot, int x, int y) int Tizen_Indicator_GLES_Init(SDL_Window* window) { SDL_WindowData *wind = window->driverdata; + + int screen_w, screen_h; + ecore_wl_screen_size_get(&screen_w, &screen_h); + + if(window->w < screen_w || window->h < screen_h) + return 0; + ecore_wl_indicator_visible_type_set(wind->window, ECORE_WL_INDICATOR_VISIBLE_TYPE_SHOWN); ecore_wl_window_indicator_opacity_set(wind->window, ECORE_WL_INDICATOR_OPAQUE); ecore_wl_window_indicator_state_set(wind->window, ECORE_WL_INDICATOR_STATE_ON); @@ -403,13 +413,13 @@ void Tizen_DrawIndicator(SDL_Window *window) } if(!(window->flags & SDL_WINDOW_FULLSCREEN) && !(window->flags & SDL_WINDOW_BORDERLESS) && wdata->indicator_show) { - if(wdata->last_indicator_showtime + 3000< SDL_GetTicks()) + if(wdata->last_indicator_showtime + 3000 < SDL_GetTicks()) { int i=1; for( ; i<12; i+=2) vVertices[i] += 0.02; } - if(wdata->last_indicator_showtime + 3500 last_indicator_showtime + 3500 < SDL_GetTicks()) { wdata->indicator_show = SDL_FALSE; Tizen_indicator_event_filter(); diff --git a/src/video/tizen/SDL_tizenwindow.c b/src/video/tizen/SDL_tizenwindow.c index c154972..d3a049a 100755 --- a/src/video/tizen/SDL_tizenwindow.c +++ b/src/video/tizen/SDL_tizenwindow.c @@ -325,6 +325,7 @@ Tizen_CreateWindow(_THIS, SDL_Window *window) } // Add orientaiton hint cb _tizen_window_orientation_add_hint((void*)wind); + return 0; } -- 2.7.4