SDL_WINDOW_FOREIGN = 0x00000800, /**< window not created by SDL */
SDL_WINDOW_ALLOW_HIGHDPI = 0x00002000, /**< window should be created in high-DPI mode if supported */
SDL_WINDOW_MOUSE_CAPTURE = 0x00004000, /**< window has mouse captured (unrelated to INPUT_GRABBED) */
- SDL_WINDOW_VULKAN = 0x10000000 /**< window usable with Vulkan */
+ SDL_WINDOW_VULKAN = 0x10000000, /**< window usable with Vulkan */
+ SDL_WINDOW_INPUT_UNFOCUS = 0x20000000, /**< window loses input focus */
+ SDL_WINDOW_MOUSE_UNFOCUS = 0x40000000 /**< window loses mouse focus */
} SDL_WindowFlags;
/**
}
#define CREATE_FLAGS \
- (SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI | SDL_WINDOW_VULKAN | 0x00008000)
+ (SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI | \
+ SDL_WINDOW_VULKAN | SDL_WINDOW_INPUT_UNFOCUS | SDL_WINDOW_MOUSE_UNFOCUS )
static void
SDL_FinishWindowCreation(SDL_Window *window, Uint32 flags)
wind->received_rotation = 0;
ecore_wl_window_opaque_region_set(wind->window, window->x, window->y, window->w, window->h);
- if (window->flags & 0x00008000)
- {
- ecore_wl_window_input_region_set(wind->window, 0, 0, 0, 0);
- ecore_wl_window_focus_skip_set(wind->window, EINA_TRUE);
- }
-
#if SDL_VIDEO_OPENGL_EGL
if (window->flags & SDL_WINDOW_OPENGL) {
wind->egl_window = wl_egl_window_create(ecore_wl_window_surface_get(wind->window), window->w, window->h);
Tizen_InitKeyboard(_this);
- SDL_SetMouseFocus(window);
-
- if (window->flags & 0x00008000) {
- SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "---------------------------------------");
- SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "[SDL] touch bypass setting is done!\n");
- SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "---------------------------------------");
+ if (window->flags & SDL_WINDOW_MOUSE_UNFOCUS) {
+ SDL_Log("SDL_WINDOW_MOUSE_UNFOCUS is set. Mouse event will be passed the focused window.");
ecore_wl_window_input_region_set(wind->window, -1, -1, 1, 1);
- //ecore_wl_window_focus_skip_set(wind->window, EINA_TRUE);
+ }
+ else {
+ SDL_SetMouseFocus(window);
+ }
+
+ if (window->flags & SDL_WINDOW_INPUT_UNFOCUS) {
+ SDL_Log("SDL_WINDOW_INPUT_UNFOCUS is set. Key event will be passed the focused window.");
+ ecore_wl_window_focus_skip_set(wind->window, EINA_TRUE);
}
EINA_INLIST_FOREACH(globals, global) {