diff options
author | Loïc Hoguin <[email protected]> | 2017-12-20 20:03:16 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-12-20 20:03:16 +0100 |
commit | b0950785e72d9d59c6fd816c01d203ecb083c663 (patch) | |
tree | 38cfae31a019ffe7b90d60dea2f6f01c3830e4b3 /c_src/esdl2.h | |
parent | e4f6a3c1f1032f83b25210dea21bbacf4552f8f0 (diff) | |
download | esdl2-b0950785e72d9d59c6fd816c01d203ecb083c663.tar.gz esdl2-b0950785e72d9d59c6fd816c01d203ecb083c663.tar.bz2 esdl2-b0950785e72d9d59c6fd816c01d203ecb083c663.zip |
Add the sdl_mouse module implementing half of sdl_mouse.h
The latter half will be part of sdl_cursor.
This depends on some changes to nif_helper. The sdl_gl part of
the code is probably slithly broken now, the dependency on the
window is gone. This will be resolved later on.
Diffstat (limited to 'c_src/esdl2.h')
-rw-r--r-- | c_src/esdl2.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/c_src/esdl2.h b/c_src/esdl2.h index 10508ff..ca9a424 100644 --- a/c_src/esdl2.h +++ b/c_src/esdl2.h @@ -23,6 +23,7 @@ A(accelerated) \ A(add) \ A(allow_high_dpi) \ + A(arrow) \ A(audio) \ A(blend) \ A(borderless) \ @@ -34,6 +35,7 @@ A(charging) \ A(clicks) \ A(close) \ + A(crosshair) \ A(data) \ A(enter) \ A(error) \ @@ -42,6 +44,7 @@ A(everything) \ A(exposed) \ A(false) \ + A(flipped) \ A(focus_gained) \ A(focus_lost) \ A(foreign) \ @@ -49,9 +52,11 @@ A(fullscreen_desktop) \ A(game_controller) \ A(h) \ + A(hand) \ A(haptic) \ A(hidden) \ A(horizontal) \ + A(ibeam) \ A(input_focus) \ A(input_grabbed) \ A(joystick) \ @@ -69,14 +74,17 @@ A(minimized) \ A(mod) \ A(mode) \ + A(mouse_capture) \ A(mouse_down) \ A(mouse_focus) \ A(mouse_motion) \ A(mouse_up) \ A(mouse_wheel) \ A(moved) \ + A(no) \ A(no_battery) \ A(none) \ + A(normal) \ A(num) \ A(on_battery) \ A(opengl) \ @@ -93,7 +101,12 @@ A(right_shift) \ A(scancode) \ A(shown) \ + A(size_all) \ A(size_changed) \ + A(size_nesw) \ + A(size_ns) \ + A(size_nwse) \ + A(size_we) \ A(software) \ A(state) \ A(sym) \ @@ -108,6 +121,8 @@ A(vertical) \ A(video) \ A(w) \ + A(wait) \ + A(wait_arrow) \ A(which) \ A(window) \ A(window_id) \ @@ -175,6 +190,16 @@ F(is_text_input_active, 0) \ F(start_text_input, 0) \ F(stop_text_input, 0) \ + /* sdl_mouse */ \ + F(capture_mouse, 1) \ + F(get_global_mouse_state, 0) \ + F(get_mouse_focus, 0) \ + F(get_mouse_state, 0) \ + F(get_relative_mouse_mode, 0) \ + F(get_relative_mouse_state, 0) \ + F(set_relative_mouse_mode, 1) \ + F(warp_mouse_global, 2) \ + F(warp_mouse_in_window, 3) \ /* sdl_power */ \ F(get_power_info, 0) \ /* sdl_renderer */ \ @@ -265,6 +290,18 @@ NIF_ENUM_TO_ATOM_FUNCTION_DECL(blend_mode_to_atom, SDL_BlendMode) // -- +void esdl2_windows_init(void); +void esdl2_windows_insert(SDL_Window*, obj_Window*); +ERL_NIF_TERM esdl2_windows_find(ErlNifEnv*, SDL_Window*); +void esdl2_windows_remove(SDL_Window*); +void esdl2_windows_free(void); + +void esdl2_renderers_init(void); +void esdl2_renderers_insert(SDL_Renderer*, obj_Renderer*, obj_Window*); +ERL_NIF_TERM esdl2_renderers_find(ErlNifEnv*, SDL_Renderer*); +void esdl2_renderers_remove(SDL_Renderer*); +void esdl2_renderers_free(void); + ErlNifPid* get_callback_process(void); #define sdl_error_tuple(env) \ |