ocgtk 0.1-preview2 is now available on opam
This release significantly increases the amount of generated functionality, covering the vast majority of classes snd methods available in it’s generated libraries (GTK, Gio, Pango, Cairo, GDK, GDKpixbuf, Graphene)
Notable changes
Extended Signals support
Signsls with multiple parameters and non boolean return parameters are now supported, giving coverage to about 2/3 of supported signal types
GValue support
GValue is now properly supported as a prerequisite for proper signals support
Extended primitives support
Full coverage of integer types, list types, better array handling, GError mapping to result types and better GObject equality and hashing. All extend the coverage of supported methods that can be generated.
Memory management
A significant effort has gone into hunting down memory management bugs, especially with boxed record types, which now use a consistent GLib mechanism for handling references to them.
Extended operating system and compiler versions support
Most dependencies of ocgtk have been removed as they were only necessary for code generation, allowing us to extend support to Windows (MSYS2 only) and Ocaml versions going back to 4.14.
Other improvements
- Better handling of mutually dependent classes and interfaces by shortening their internal module name
- constructor generation for classes: with this, we can do away with aliasing classes at the top level, presenting only their class types and constructors, also making unused code elimination better and reducing compilation bottlenecks
The next release will focus on improved API documentation generation and gaps in record support and other primitives (constants, functions, callbacks, etc).