\sqrt[gtk]{fortran} = 4.4 provides Fortran interfaces to GTK 4.10.3 and GLib 2.76.2. It has been tested on Linux Ubuntu (with GFortran and Intel ifx compilers) and Fedora, MSYS2/Windows 10, macOS and FreeBSD. The complete CHANGELOG is available here.
There are 90 commits since version 4.3.0, half of them concerning the Python program cfwrapper which generates the Fortran interfaces. The code has been improved and refactored in several places with the main goal of facilitating long-term maintenance. Other shell scripts have been improved or added to facilitate testing, as well as CSV files. Another objective, options have been added to facilitate the use of cfwrapper with other C libraries (see How to hack the cfwrapper · vmagnin/gtk-fortran Wiki · GitHub).
The cairo-tests.f90 example, one of the first ones written in 2011, was intended to show that one can do vector drawing with the Cairo library over a bitmap image created with the GdkPixbuf library, but it had remained in a raw state until now. It has been updated in a more interesting way: the Mandelbrot set now takes the whole window and the Cairo library is used to draw the axes, the circle of center (-1, 0) and radius 1/4, the cardioid of center A(1/4, 0) and polar equation \rho(\theta) = 1/2*(1 - cos \theta), as well as the textual annotations.
The hl_cairo_viewer.f90 example was written by JTappin in 2013 and uses his gtk-fortran High Level library. Some bugs have been fixed (but one annoying bug is still present):
The cairo-basics.f90 example now also saves the drawing in a SVG file and a PDF file.
Finally, the menubar.f90 example was fixed because its compilation was failing on 32 bits systems, due to an int64
kind used instead of c_size_t
(for the GLib gssize).
See the screenshots/
directory for more images of what can be done with gtk-fortran: gtk-fortran/screenshots at gtk4 · vmagnin/gtk-fortran · GitHub