FormICa, PEnGUIn and GraViS are parts of my personal runtime library. They are Pascal-based units that provide some minimal functionality for creating user's interface in developed applications.
The topmost layer of these modules is completely independent on system-, platform- and compiler-specific details. The same high-level source code can be compiled with old Borland Pascal 7.0 (DOS/DPMI; BGI graphics or plain text version), Virtual Pascal for OS/2 (native OS/2 graphics or plain text version), Free Pascal with GTK+ interface (both UNIX and Windows). For the two former platforms simple emulator of windowing system is implemented, although it would be much better to use native windowing whenever possible. GTK+ version is linkable with any release of the library, starting from 1.2 up to 2.8 and probably higher.
Architecture of these modules is based on conception of callbacks, but it enables also sequential approach to the action of the program.
Three separate modules implement: forms and dialog boxes interface (FormICa), general window and menu interface (PEnGUIn), and graphical visualisation space interface (GraViS). The latter provides operations in integer-valued coordinate system as well as in R2 and R3 real world coordinates.
The following screenshots show platform-dependent executables of sample application, driven from the same source code.
DOS/Crt platform, compiled with Borland Pascal 7.0 | |
---|---|
DOS/BGI platform, compiled with Borland Pascal 7.0 | |
OS/2 Workplace Shell platform, compiled with Virtual Pascal 2.1 | |
GTK+-1.2 platform, compiled with Free Pascal Compiler ≥ 1.0.10 | |
UNIX systems | Windows systems |
GTK+-2.x platform, compiled with Free Pascal Compiler ≥ 1.9.8 | |
UNIX systems | Windows systems |
Please do not tell me that cross-platform portability is impossible in science, industry, management, and civil administration.