Journal Sortie de gtk-fortran 4.4

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
26
2
mai
2023

gtk-fortran 4.4 offre des interfaces Fortran à GTK 4.10 et GLib 2.76. Elle a été testée sous Linux Ubuntu (avec les compilateurs GFortran et Intel ifx), Fedora, Debian 32 bits, MSYS2/Windows 10, macOS et FreeBSD. Le CHANGELOG complet est consultable ici.

On compte 90 commits depuis la version 4.3.0, dont la moitié concernant le programme Python cfwrapper qui génère les interfaces Fortran. Le code a été amélioré et refactorisé à plusieurs endroits avec pour objectif principal de faciliter la maintenance sur le long terme. D'autres scripts shell ont été améliorés ou ajoutés pour faciliter les tests, ainsi que des fichiers CSV. Autre objectif, des options ont été ajoutées pour faciliter l'utilisation du cfwrapper avec d'autres librairies C (voir https://github.com/vmagnin/gtk-fortran/wiki/How-to-hack-the-cfwrapper).

L'exemple cairo-tests.f90, l'un des premiers écrits en 2011, avait pour objectif de montrer que l'on peut faire du dessin vectoriel avec la librairie Cairo par-dessus une image bitmap créée avec la librairie GdkPixbuf, mais il était resté jusqu'à maintenant dans un état brut. Il a été mis à jour d'une façon plus intéressante : l'ensemble de Mandelbrot prend désormais toute la fenêtre et la librairie Cairo est utilisée pour tracer les axes, le cercle de centre (-1, 0) et de rayon 1/4, la cardioïde de centre A(1/4, 0) et d'équation polaire \rho(\theta) = 1/2 \times (1 − cos \theta), ainsi que les annotations textuelles.

cairo-tests

L'exemple hl_cairo_viewer.f90 a été écrit par JTappin en 2013 et utilise sa librairie gtk-fortran High Level. Certains bogues ont été corrigés :

hl_cairo_viewer

L'exemple cairo-basics.f90 enregistre désormais le dessin dans un fichier SVG et un fichier PDF.

La compilation de l'exemple menubar.f90 échouait sur les systèmes 32 bits, à cause d'un type int64 utilisé à la place de c_size_t (pour le type GLib gssize). Cela a été corrigé.

Un nouvel exemple a été ajouté dans le dépôt gtk-fortran-extra (licence MIT) : Peter Saville's color code. L'affichage utilise la bibliothèque Cairo (graphiques vectoriels) de GTK, et parmi les widgets se trouvent : GtkButton, GtkToggleButton, GtkLinkButton, GtkSpinButton, GtkEntry, GtkLabel, GtkStatusbar…

saville_code

Le graphiste de Manchester Peter Saville a utilisé ce code sur quatre pochettes de disques, la première étant celle du maxi 45 tours Blue Monday en mars 1983. L'idée était de souligner la modernité du morceau avec un code couleur évoquant un code lisible par ordinateur (les lecteurs de codes-barres étaient alors une nouveauté en France). La pochette est également célèbre pour sa découpe en forme de disquette 5,25 pouces (support moderne à l'époque, d'une capacité de 360 Ko). Bien qu'il s'agisse du single 12" le plus vendu de tous les temps, la pochette de Blue Monday coûtait trop chère, avec sa découpe et les couleurs précises demandées par Saville pour son code couleur. Chaque exemplaire était vendu à perte.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.