From c3b951f0e15a49d3ac4f6b5c5a5d7ae06e887ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 7 Jan 2018 17:14:12 +0100 Subject: Add missing SDL_WindowFlags values --- README.asciidoc | 1 - c_src/esdl2.h | 6 ++++++ c_src/sdl_window.c | 8 +++++++- src/sdl_window.erl | 4 +++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.asciidoc b/README.asciidoc index c48986c..c6f3434 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -84,7 +84,6 @@ corresponding to the public headers. * 'SDL_surface.h': Only surface creation (via `IMG_Load`) and destruction is implemented. Might be better to move IMG_* functions in their own space. * 'SDL_version.h': `SDL_GetRevisionNumber` must be implemented. The macros may also be useful. * 'SDL_video.h': The following elements are missing: -** `SDL_WindowFlags` values SDL_WINDOW_ALWAYS_ON_TOP, SDL_WINDOW_SKIP_TASKBAR, SDL_WINDOW_UTILITY, SDL_WINDOW_TOOLTIP, SDL_WINDOW_POPUP_MENU, SDL_WINDOW_VULKAN ** `SDL_WINDOWPOS_*` values for different displays ** `SDL_GetWindowDisplayIndex` (window) ** `SDL_SetWindowDisplayMode` (window) diff --git a/c_src/esdl2.h b/c_src/esdl2.h index f8215cf..1b87b1f 100644 --- a/c_src/esdl2.h +++ b/c_src/esdl2.h @@ -27,6 +27,7 @@ A(accelerated) \ A(add) \ A(allow_high_dpi) \ + A(always_on_top) \ A(app_did_enter_background) \ A(app_did_enter_foreground) \ A(app_low_memory) \ @@ -170,6 +171,7 @@ A(one_minus_src_color) \ A(opengl) \ A(peek) \ + A(popup_menu) \ A(present_vsync) \ A(pressed) \ A(quit) \ @@ -206,6 +208,7 @@ A(size_ns) \ A(size_nwse) \ A(size_we) \ + A(skip_taskbar) \ A(software) \ A(src_alpha) \ A(src_color) \ @@ -220,14 +223,17 @@ A(texture_formats) \ A(timer) \ A(timestamp) \ + A(tooltip) \ A(touch) \ A(true) \ A(type) \ A(undefined) \ A(unknown) \ + A(utility) \ A(uyvy) \ A(vertical) \ A(video) \ + A(vulkan) \ A(w) \ A(wait) \ A(wait_arrow) \ diff --git a/c_src/sdl_window.c b/c_src/sdl_window.c index 03da8fd..2e0c1bb 100644 --- a/c_src/sdl_window.c +++ b/c_src/sdl_window.c @@ -38,7 +38,13 @@ void dtor_Window(ErlNifEnv* env, void* obj) F(fullscreen_desktop, SDL_WINDOW_FULLSCREEN_DESKTOP) \ F(foreign, SDL_WINDOW_FOREIGN) \ F(allow_high_dpi, SDL_WINDOW_ALLOW_HIGHDPI) \ - F(mouse_capture, SDL_WINDOW_MOUSE_CAPTURE) + F(mouse_capture, SDL_WINDOW_MOUSE_CAPTURE) \ + F(always_on_top, SDL_WINDOW_ALWAYS_ON_TOP) \ + F(skip_taskbar, SDL_WINDOW_SKIP_TASKBAR) \ + F(utility, SDL_WINDOW_UTILITY) \ + F(tooltip, SDL_WINDOW_TOOLTIP) \ + F(popup_menu, SDL_WINDOW_POPUP_MENU) \ + F(vulkan, SDL_WINDOW_VULKAN) static NIF_LIST_TO_FLAGS_FUNCTION(list_to_window_flags, Uint32, WINDOW_FLAGS) static NIF_FLAGS_TO_LIST_FUNCTION(window_flags_to_list, Uint32, WINDOW_FLAGS) diff --git a/src/sdl_window.erl b/src/sdl_window.erl index 637e9de..26deeda 100644 --- a/src/sdl_window.erl +++ b/src/sdl_window.erl @@ -49,7 +49,9 @@ -type window_pos() :: centered | undefined | integer(). -type window_flag() :: fullscreen | fullscreen_desktop | opengl | shown | hidden | borderless | resizable | minimized | maximized - | input_grabbed | input_focus | mouse_focus | foreign | allow_high_dpi. + | input_grabbed | input_focus | mouse_focus | foreign | allow_high_dpi + | mouse_capture | always_on_top | skip_taskbar | utility + | tooltip | popup_menu | vulkan. -type window_event_type() :: shown | hidden | exposed | moved | resized | size_changed | minimized | maximized | restored | enter | leave -- cgit v1.2.3