[SDL_Tizen]Add SDL_SetWindowBordered function 17/106717/2
authorhuiyu.eun <huiyu.eun@samsung.com>
Thu, 22 Dec 2016 12:30:57 +0000 (21:30 +0900)
committerhuiyu.eun <huiyu.eun@samsung.com>
Thu, 22 Dec 2016 12:50:55 +0000 (21:50 +0900)
Add SDL_SetWindowBordered() for using indicator.
 + delete terminate callback
 + add to check indicator init

Change-Id: Ieb803fa109277cf75d18c7984759532cd13b9625
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
src/core/tizen/SDL_tizen.c
src/video/tizen/SDL_tizenindicator.c
src/video/tizen/SDL_tizenopengles.c
src/video/tizen/SDL_tizenvideo.c
src/video/tizen/SDL_tizenwindow.c
src/video/tizen/SDL_tizenwindow.h

index ae8f9ed..96cc4bd 100644 (file)
@@ -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;
index 6152208..ad9d0a3 100644 (file)
@@ -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;
 }
 
index bc68ef0..136f2aa 100755 (executable)
@@ -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);
 }
index 65709da..f9ad236 100755 (executable)
@@ -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;
index d3a049a..5f462a2 100755 (executable)
@@ -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;
index 7947092..249e7cb 100755 (executable)
@@ -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);