Subroutine Library
(v6.0)
The Winteracter library contains several
hundred Fortran callable routines, covering a wide range of GUI
functionality:
Windows
Text
Editor
Messages
(events)
Menus
Dialogs
Grids
Common
Dialogs
Operating
System
General
Graphics
Primitives
Graphics
Text
Graphics
Hardcopy/Export
Graphics
Import
Graphics
Input
Presentation
Graphics
Memory
Bitmaps
Memory
Metafiles
3D
Modelling
OpenGL
Obsolete
Routines
Windows
- Create a root window and multiple child windows
- Hide root window for dialog-based applications
- Combine windows/menus/toolbars/dialogs
- Sub-divided status bars easily added
- Windows can be fixed in size
- Redirect output text/graphics to any window
- Scroll, raise, retitle, clear, reposition, resize windows
- Split a window into sub-windows
Text
Editor
- Edit text in resizable window with scroll bars
- Font type/size selection
- Customisable menu
- Load/save text files of virtually any size
- Put/get text from character variables
- Optional command line allowing simulation of `teletype' i/o
- Edit multiple buffers in one window
- RTF (Rich Text Format) support under Windows
- Paragraph and character level style control, in RTF editor windows
Messages
(events)
- Minimal set of message (event) types which need to be processed,
including:
- Mouse button up/down, double-click or scroll
- Mouse moved
- Key pressed
- Push button pressed
- Menu item selected
- Window exposed or resized
- Window close request
- Dialog field changed
- Tab changed in tabbed dialog
- Timer expired
- Command entered in an editor window command line
Menus
- Add/change/remove text menu on any root or child window
- Add/change/remove toolbar button menu on any root or child window
- Up to 4 toolbars on each window
- Floating (vertical popup) menus
- Set/get menu item state (checked and/or enabled)
- Add/change/delete individual menu items
- Set status-bar prompt for each item
Dialogs
- Access to various types of dialog controls:
- Single-line string, integer, real & double precision fields
- Multi-line string fields
- Combo boxes and list boxes
- Push buttons
- Check boxes and radio buttons
- Progress bars
- Track bars
- Treeviews
- Spinners on numeric fields
- Tabbed dialogs ('property sheets')
- Images
- Grid controls
- Set field state (enabled/disabled/read-only/hidden)
- Field colour control
- Range checks on numeric fields
- Modal, modeless and semi-modeless dialogs (latter eliminate need for
dialog callback routines)
- Resize dialogs
Grids
- Powerful spreadsheet-like grid controls can be displayed in a dialog
or a resizable window:
- String, integer, real, double precision, check box and combo box
column types
- Get/put data at column or cell level
- Cell/column/row colour control
- Read-only columns/cells
- Update row/column labels
- Insert/delete rows
- Save/load grid contents to/from CSV files
- Save grid contents as HTML page
- Sort, search and print
Common
Dialogs
- File selector
- Directory selector
- Colour selector
- Message boxes
- Printing dialogs
Operating
System
- Command line arguments
- Directory manipulation (create, change, delete, get name, list, file
size/date information, check existence, count files)
- Copy, rename and delete files
- Execute external commands/programs
- Get/set environment variables
- Get/create/set/delete values in the Windows registry
- Get/set file attributes
- Get filetype/program association
- Platform/compiler independent binary file handling (`stream i/o')
General
Functions
- Extensive set of information functions
- Access Windows Help, CHTML or HTML files at file or topic level
- Send email
- Mouse cursor manipulation
- Play sound and movie files
- Zlib compression
- Quick sort
- Save arrays as HTML tables
- RGB/CMY/HLS colour conversion
- Debugging diagnostics
- String manipulation
- Array/function max/min calculation
- Regional decimal point support
- Date/time manipulation
Graphics
Primitives
- Lines, polylines, curves
- Polygons (can contain `holes')
- Circles, ellipses and arcs
- Arrows
- Markers
- Single points
- Bit-block move/copy
- Read pixel values
- Solid, mixed colour, graduated, hatched area fills
- Colour selection (8-bit palette or 24 bit RGB models)
- Line width
- Broken lines (8 types)
- Plot mode selection (overwrite/and/or/exclusive-or)
- Select target drawable (window, memory bitmap or dialog field)
- Clipping rectangle
- Device independent user-defined co-ordinate system
- Proximity checking (e.g. Is a point in a given polygon?)
Graphics
Text
- Software based vector and outline fonts (100% portable)
- Hardware fonts (Courier, Times, Helvetica/Arial, Symbol)
- Any TrueType font in GDI output
- Monospaced or proportional spacing
- Rotated text
- Left/centre/right justification
- Width/height control
- Bold, italics, underlined
- Opaque or transparent
- Write strings or numbers
Graphics
Hardcopy/Export
- Create graphics via drawing calls in these formats:
- Microsoft Windows Print Manager (Windows versions only)
- Microsoft Windows standard/Aldusenhanced metafiles (Windows versions
only)
- PostScript (printer and EPS files)
- HP-GL/2 (for mono/colour LaserJets and high end DeskJets)
- HP-GL (pen plotters)
- HP PCL (mono/colour to 600 dpi)
- Epson ESC/P and ESC/P2 (mono/colour to 720 dpi)
- CGM (Computer Graphics Metafile)
- SVG (Scalabale Vector Graphics, for web browsers)
- BMP/PCX/PNG bit images (2/16/256/16M colours)
- AutoCAD DXF
- Print text files in any of the above formats
- Save raw bit image data arrays in BMP/PCX/PNG format
- Save a window, dialog or bitmap in BMP/PCX/PNG format
- Dump a window, memory bitmap or dialog field as a printer bit image
- Control over various hardcopy options (image size, position,
orientation, copies and many more)
Graphics
Import
- Load BMP/PCX/PNG bit images to a window, memory bitmap, dialog field
or data array
- Replay CGM, HP-GL or HP-GL/2 to a window, memory bitmap or dialog.
Also WMF or EMF under Windows.
- Zoom option when importing WMF, EMF, CGM, HP-GL or HP-GL/2.
- Replay multi-page vector graphics files. Select page(s) to replay.
Graphics
Input
- Stretch/drag graphical objects
- Control mouse cursor position and shape
Presentation
Graphics
- Bar charts
- Histograms
- High/low plots
- Pie charts
- 2D and 3D scatter plots
- 2D and 3D line plots
- 2D and 3D function plots
- 2D line-based contour plots
- 2D fill-based contour plots
- 3D surface plots (carpet and stepped styles)
- 3D volume plots
- Tables of numeric data
- Error bars
- Cartesian or Polar co-ordinates
- Log/linear scaling
- Axes, graticule, key, scale and label plotting
- Automatic or user defined scaling
- Missing data indicator
- (x,y,z) to grid data filter
- 2D and 3D primitives allowing plot customisation
Memory
Bitmaps
- Create/destroy memory bitmaps
- Memory bitmaps selectable as target graphics drawable
- Copy images between bitmaps, windows and dialog fields
- Get bitmap from program resource
- Display memory bitmaps in automatically managed viewer windows with
scroll bars
- Copy raw colour data to/from memory bitmaps
- Load/save bitmaps from/to disk
- Mirror/rotate/resize bitmaps
- Copy bitmaps to Windows clipboard
Memory
Metafiles
- Create/destroy memory metafile in EMF or CGM format (CGM under both
Windows and Linux. EMF is Windows only)
- Memory metafiles selectable as target graphics drawable
- Load/save metafiles from/to disk
- Play back memory metafiles
- Copy EMF metafiles to Windows clipboard
3D
Modelling
- Model creation
- Model view control
- Modelview matrix manipulation
- Save/load 3D model files
- 3D text
OpenGL
Support
- Text routines (Vector fonts under Win32 and Linux, True Type fonts
under Windows)
- Drawable selection (window, memory bitmap or dialog field)
- Front/back buffer selection
- 8-bit colour mode palette control (Windows only)
|