Skip to content

Latest commit

 

History

History

src

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gtk-fortran source files

In the following filenames, the ? character is the GTK major version.

gtk-fortran core

  • gtk-fortran.f90: a gtk-?-fortran command to show information about the library.
  • *-auto.f90 and *-auto.in: these files contains the Fortran interfaces to the C functions of the various GTK libraries. They are generated by the cfwrapper/cfwrapper.py script.
  • api_compability.f90: contains the gtk_os_dependent module to keep API compatibility, following some changes in GTK 4.2.0.
  • gtk-fortran-index.csv: list of all the interfaces generated in the *-auto.f90 files, with the name of the library, the name of the function, its status (deprecated or not), the names of the .f90 file and the .h file, the C prototype of the function and the Fortran definition. Generated by the cfwrapper/cfwrapper.py script.
  • gtk-fortran_types.csv: list of all the GLib / GTK types used in the prototypes of the C functions. Generated by the cfwrapper/cfwrapper.py script.
  • gtk-fortran_funptr.csv: list of all the funptr types used in the prototypes of the C functions. Generated by the cfwrapper/cfwrapper.py script.
  • gtk.f90: it contains the gtk module, which will be used by every GTK program. The g_signal_connect() and gtk_init() subroutines are defined here. The gtkenums-auto.* and gtk-auto.* files are automatically included.
  • gtk-sup.f90: this module contains some supplementary material useful for writing GTK programs in Fortran.
  • gtk-fortran.pc.in: template used by CMake to generate the gtk-?-fortran.pc pkg-config file.
  • extract_events.pl: extracts the structure definitions for GDK events from the GDK header files.
    • gdkevents-auto.f90: Fortran GDK events structures generated by extract_events.pl.
  • extract_enums.pl: find the enumerator constants in a Fortran source file and write them out to a simple list.
    • gtk-enumerators.lis: list generated by extract_enums.pl.

High Level interface

  • gtk_hl.f90: the gtk_hl main Fortran module, which includes the other gtk-hl-* modules:
    • gtk-*hl-*.f90
  • gdk-pixbuf-hl.f90: some routines to facilitate the use of GDK pixbufs from Fortran.

Various scripts

  • show_versions.sh: shows the versions of the main tools and libraries used in gtk-fortran.
  • screenshots.sh: automatically launches each gtk-fortran example and take a PNG screenshot using the scrot command. A suffix is added to the name of the example.
  • build.sh: an interactive script to build, install and test gtk-fortran using CMake. It can be called by cfwrapper.py with the -b option.
  • test_extra.sh: an interactive script to test projects gtk-fortran-extra and gtkzero_fpm before gtk-fortran release.
  • alt_build_test.sh: an alternative simple build system, using the directory ../build/byscript and finally launching one by one the examples for testing.
  • usemodules.pl: scan a Fortran source file or files for GTK (etc.) routines. This is a somewhat 'tighter' replacement for usemodules.py.
    • gtk-modules.txt: the USE statements to copy/paste in your programs, generated by usemodules.pl.
    • gtk-fortran-modscan.man: man page of the gtk-?-fortran-modscan command (usemodules.pl).
  • usemodules.py: this program scan all the Fortran files in the given directory and subdirectories to generate USE statements you can paste in your gtk-fortran programs. It also print warnings if you use deprecated GTK functions, and finally displays all the GTK functions used in a directory. It generates:
    • usemodules.txt: the USE statements to copy/paste in your programs, generated by usemodules.py.
  • tools.py: that module contains functions used by usemodules.py and cfwrapper/cfwrapper.py.
  • extract_hl_doc.py: generates markdown files for the HL gtk-fortran documentation.