- Require SDL >= 2.0.18.
- Add binding to
SDL_Vertex
,SDL_RenderGeometry[Raw]
. Thanks to Frank Standaert for the patches (#101). - Add binding to
SDL_GetTicks64
. - Fix segmentation fault on macOS arm64 when using varargs functions through ctypes (#99). Thanks to Jonah Beckford for the report and the help.
- Fix
Sdl.rw_from_const_mem
to pass the ocaml string rather than a copy. Thanks to Maxence Guesdon for the patch (#102). - Add binding to
SDL_RWFromMem
. Thanks to Maxence Guesdon for the patch (#102). - Use package
ctypes-foreign
instead ofctypes.foreign
. - Improve documentation linking into SDL documentation.
- Sdl.gl_get_swap_interval: -1 is a valid return value (adaptive vsync) (#90). Thanks to Edwin Török for the patch.
- Sdl.render_present: release runtime lock (useful for 'presentvsync', #90). Thanks to Edwin Török for the patch.
- Use
CArray.length
on arrays constructed viaCArray.of_list
to avoid a double call toList.length
. Thanks to Vu Ngoc San for the patch. - Use implicit linking on MSVC to let ctypes-foreign find SDL2 functions on Windows. Thanks to Jonah Beckford for the patch.
- Add binding to
SDL_SetWindowInputFocus
. Thanks to Maxence Guesdon for the patch. - Add (-) operation for flags in
Init
,Renderer
andWindow
. Thanks to Maxence Guesdon for the patch. - Add
Hint.mouse_focus_clickthrough
. Thanks to Maxence Guesdon for the patch. - Add
rw_from_const_mem
. Thanks to Maxence Guesdon for the patch. - Use
.obj
and other non-.o
object extensions for compilers like MSVC. Thanks to Jonah Beckford for the patch. - Remove binding
Sdl.game_controller_add_mapping_from_file
, it's a C macro (#85). Thanks to Jonah Beckford for the report.
- Add support for the
windowID
field ofSDL_DropEvent
. Thanks to Maxence Guesdon for the patch. - Tweak
Sdl.Event.drop_file
to return an option an no longer raises in case of null pointer. - Correctly type
Sdl.Event.controller_{axis_axis,button_button}
. Thanks to Romain Bardou for the report (#71). - Fix C compilation error due
String_val
(#72). - Add missing cases to
Sdl.Event.enum
(#76). - Add support for
SDL_F{Point,Rect}
Thanks to Florent Monnier for the patches.
- Fix bug in
Sdl.{queue_audio,dequeue_audio}
, sizes were passed in terms of array length instead of bytes. Thanks to Enguerrand Decorne for the report and the patch. - Release runtime lock during
Sdl.load_wav_rw
. Thanks to Michael Bacarella for the patch. - Add
Message_box.button_no_default
button flag. Thanks to Simon Guilliams for the patch.
- Add support for
SDL_{Sensor,Display}Event
. Thanks to Florent Monnier for the patches. - Require OCaml 4.03 and handle stdlib deprecations.
- Drop
result
depency. - Drop
ocb-stubblr
dependency
- Add full support for 2.0.{4,5,6}. Thanks to Florian Angeletti who made all the work.
- Add Sdl.Init.nothing. Thanks to @sanette for the patch.
- Support for audio queue API. Thanks to Erik Løvlie for the patch.
- Fix linking issues on Linux (#38)
- Fix segfaulting
Sdl.load_raw_rw
. Thanks to @sanette for the report and the patch. - Fix audio callback support. The client could not get a handle on the
actual callback closure which would lead to
Ctypes_ffi_stubs.CallToExpiredClosure.
exceptions. The callback wrapping is now done via theSdl.audio_callback
function. The client must keep a reference on the returned value until no longer needed. As a side effect this changes the signature ofSdl.load_raw_rw
. Thanks to @sanette for the report. - Fix signature of
Sdl.blit_scaled
. Thanks to Léo Andrès for the report and the patch.
- Safe-string support.
- Build depend on
ocb-stubblr
. - Add support for 2.0.{4,5} events and make the stubs more robust to additions of events.
- Release runtime lock on
Sdl.delay
. - Reinstate support for audio callbacks,
ocaml-ctypes
is getting smarter (#13). - Really fix signature of
Sdl.blit_surface
, thanks to Richard Davison for the report (#25). - Build depend on topkg.
- Relicense from BSD3 to ISC.
- Switch from a polymorphic variant result type to the one exposed by
the
result
compatibility package. This is an incompatible change. Thanks to Florian Angeletti for the patch.
- ctypes >= 0.4.0 support.
- Remove support for audio callback, leads to segfaults. See issue #13 for more information.
- Release the OCaml runtime lock on
Sdl.wait_event[_timeout]
. - Fix constant error messages that shouldn't be. Thanks to Vũ Ngọc San for the report.
- Fix signature of
Sdl.blit_surface
, thanks to Frederic Bour for the report. - Change toplevel scheme. Require
tsdl.top
instead oftsdl
for toplevel support. - Add
Sdl.Color.set_{r,g,b,a}
,Point.set_{x,y}
andColor.set_{x,y,w,h}
. Thanks to Julian Squires for the patch. - Add a few new, undocumented
unsafe_*_of_ptr
conversion functions. This allows to develop bindings to other C libraries that manipulate SDL structures. Thanks to Frederic Bour and Julian Squires for the patches.
- Fix compilation on 32 bits platforms.
- Support for ctypes 0.3. Thanks to Jeremy Yallop for the patch.
First release. Part of the work was sponsored by OCaml Labs.