From: huiyu.eun Date: Thu, 22 Dec 2016 12:30:57 +0000 (+0900) Subject: [SDL_Tizen]Add SDL_SetWindowBordered function X-Git-Tag: accepted/tizen/unified/20170407.190801~19^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff29cde9c8f563c52dd8eb04b8dd7353c4eb3501;p=platform%2Fupstream%2FSDL.git [SDL_Tizen]Add SDL_SetWindowBordered function Add SDL_SetWindowBordered() for using indicator. + delete terminate callback + add to check indicator init Change-Id: Ieb803fa109277cf75d18c7984759532cd13b9625 Signed-off-by: huiyu.eun --- diff --git a/src/core/tizen/SDL_tizen.c b/src/core/tizen/SDL_tizen.c index ae8f9ed..96cc4bd 100644 --- a/src/core/tizen/SDL_tizen.c +++ b/src/core/tizen/SDL_tizen.c @@ -54,15 +54,6 @@ _tizen_sdl_create(void *data) } static void -_tizen_sdl_terminate(void *data) -{ - SDL_Log("App Termincate"); - SDL_SendQuit(); - SDL_SendAppEvent(SDL_APP_TERMINATING); - return; -} - -static void _tizen_sdl_pause (void *data) { SDL_Log("App Pause"); @@ -225,7 +216,6 @@ SDL_tizen_app_init(int argc, char *argv[]) } event_callback.create = _tizen_sdl_create; - event_callback.terminate = _tizen_sdl_terminate; event_callback.pause = _tizen_sdl_pause; event_callback.resume = _tizen_sdl_resume; event_callback.app_control = _tizen_sdl_control; diff --git a/src/video/tizen/SDL_tizenindicator.c b/src/video/tizen/SDL_tizenindicator.c index 6152208..ad9d0a3 100644 --- a/src/video/tizen/SDL_tizenindicator.c +++ b/src/video/tizen/SDL_tizenindicator.c @@ -296,6 +296,7 @@ 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; + if(wind->init_indicator) return 0; int screen_w, screen_h; ecore_wl_screen_size_get(&screen_w, &screen_h); @@ -400,6 +401,7 @@ int Tizen_Indicator_GLES_Init(SDL_Window* window) ecore_main_loop_iterate(); Tizen_IndicatorProcessEvent(window, wind->rotation); + wind->init_indicator = SDL_TRUE; return 1; } diff --git a/src/video/tizen/SDL_tizenopengles.c b/src/video/tizen/SDL_tizenopengles.c index bc68ef0..136f2aa 100755 --- a/src/video/tizen/SDL_tizenopengles.c +++ b/src/video/tizen/SDL_tizenopengles.c @@ -60,9 +60,6 @@ Tizen_GLES_CreateContext(_THIS, SDL_Window *window) if(!(window->flags & SDL_WINDOW_FULLSCREEN) && !(window->flags & SDL_WINDOW_BORDERLESS)) { - SDL_VideoData *data = (SDL_VideoData *) (SDL_GetVideoDevice()->driverdata); - if(data->current_thread != SDL_GetThreadID(0)) - return context; if(!Tizen_Indicator_GLES_Init(window)) { SDL_Log("Indicator GLES init error!"); @@ -75,6 +72,12 @@ Tizen_GLES_CreateContext(_THIS, SDL_Window *window) void Tizen_GLES_SwapWindow(_THIS, SDL_Window *window) { + SDL_WindowData* wdata = (SDL_WindowData*)window->driverdata; + if(!(window->flags & SDL_WINDOW_FULLSCREEN) && !(window->flags & SDL_WINDOW_BORDERLESS) && !wdata->init_indicator) + { + Tizen_Indicator_GLES_Init(window); + } + Tizen_DrawIndicator(window); SDL_EGL_SwapBuffers(_this, ((SDL_WindowData *) window->driverdata)->egl_surface); } diff --git a/src/video/tizen/SDL_tizenvideo.c b/src/video/tizen/SDL_tizenvideo.c index 65709da..f9ad236 100755 --- a/src/video/tizen/SDL_tizenvideo.c +++ b/src/video/tizen/SDL_tizenvideo.c @@ -111,6 +111,7 @@ Tizen_CreateDevice(int devindex) device->GL_UnloadLibrary = Tizen_GLES_UnloadLibrary; device->GL_GetProcAddress = Tizen_GLES_GetProcAddress; device->GL_DeleteContext = Tizen_GLES_DeleteContext; + device->SetWindowBordered = Tizen_SetWindowBordered; #endif device->CreateWindow = Tizen_CreateWindow; device->ShowWindow = Tizen_ShowWindow; diff --git a/src/video/tizen/SDL_tizenwindow.c b/src/video/tizen/SDL_tizenwindow.c index d3a049a..5f462a2 100755 --- a/src/video/tizen/SDL_tizenwindow.c +++ b/src/video/tizen/SDL_tizenwindow.c @@ -245,6 +245,7 @@ Tizen_CreateWindow(_THIS, SDL_Window *window) window->driverdata = wind; window->flags |= SDL_WINDOW_INPUT_FOCUS; /* always has input focus */ + window->flags |= SDL_WINDOW_BORDERLESS; /* defalut - not support indicator*/ #if SDL_VIDEO_OPENGL_EGL if (window->flags & SDL_WINDOW_OPENGL) { @@ -330,6 +331,12 @@ Tizen_CreateWindow(_THIS, SDL_Window *window) } void +Tizen_SetWindowBordered(_THIS, SDL_Window * window, SDL_bool bordered) +{ +//Add setting window bordered. +} + +void _tizen_egl_window_resize(SDL_Window *window) { SDL_WindowData *wind = window->driverdata; diff --git a/src/video/tizen/SDL_tizenwindow.h b/src/video/tizen/SDL_tizenwindow.h index 7947092..249e7cb 100755 --- a/src/video/tizen/SDL_tizenwindow.h +++ b/src/video/tizen/SDL_tizenwindow.h @@ -50,6 +50,7 @@ typedef struct { int received_rotation; void *indicator_timer; + SDL_bool init_indicator; SDL_bool indicator_show; Uint32 last_indicator_showtime; @@ -79,6 +80,8 @@ extern void Tizen_SetWindowFullscreen(_THIS, SDL_Window *window, SDL_VideoDisplay *_display, SDL_bool fullscreen); extern int Tizen_CreateWindow(_THIS, SDL_Window *window); +extern void Tizen_SetWindowBordered(_THIS, SDL_Window * window, SDL_bool bordered); + extern void Tizen_SetWindowSize(_THIS, SDL_Window *window); extern void Tizen_GetWindowSize(_THIS, SDL_Window *window, int *w, int *h); extern void Tizen_DestroyWindow(_THIS, SDL_Window *window);