Programs for Programmers

Subroutine Library (v7.10)

 


The Winteracter library contains several hundred Fortran callable routines, covering a wide range of GUI functionality:

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
  Return to full library subroutine summary

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
  • Optional command line history
  • Edit multiple buffers in one window
  • RTF (Rich Text Format) support under Windows
  • Paragraph and character level style control, in RTF editor windows
  Return to full library subroutine summary

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
  Return to full library subroutine summary

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
  Return to full library subroutine summary

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
  Return to full library subroutine summary

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
  Return to full library subroutine summary

Common Dialogs

  • File selector
  • Directory selector
  • Colour selectors
  • Message box
  • Printing dialogs
  • Calendar
  • Marker selector
  Return to full library subroutine summary

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/check/kill external commands/programs
  • Get/set environment variables
  • Get/create/set/delete values in the Windows registry
  • Get/set file attributes
  • Get filetype/program association
  • Basic inter-process communication (read from std output or write to std input)
  • Platform/compiler independent binary file handling (`stream i/o')
  • Find a file in a sub-directory tree
  Return to full library subroutine summary

General 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 or CSV files
  • RGB/CMY/HLS colour conversion
  • Debugging diagnostics
  • String manipulation
  • Array/function max/min calculation
  • Regional decimal point support
  • Date/time manipulation
  Return to full library subroutine summary

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/join/cap control
  • 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
  • Rotatable co-ordinate system
  • Proximity checking (e.g. Is a point in a given polygon?)
  Return to full library subroutine summary

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
  • Formatted text blocks
  Return to full library subroutine summary

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) and JPEG/JFIF images (16M colours)
    • AutoCAD DXF
  • Print text files in any of the above formats
  • Save raw bit image data arrays in BMP/PCX/PNG/JPEG/ICO/CUR format
  • Save a window, dialog or bitmap in BMP/PCX/PNG/JPEG 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)
  Return to full library subroutine summary

Graphics Import

  • Load BMP/PCX/PNG/JPEG bit images to a current drawable (window/memory bitmap/dialog field) Load icon files (PNG/ICO/CUR) to current drawable, allowing for transparency
  • Load BMP/PCX/PNG/JPEG/ICO/CUR bit images to a 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.
  Return to full library subroutine summary

Graphics Input.

  • Stretch/drag graphical objects
  • Control mouse cursor position and shape
  Return to full library subroutine summary

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
  • Vector 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)/(x,y,z,v) to grid data filters
  • 2D and 3D primitives allowing plot customisation
  Return to full library subroutine summary

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
  Return to full library subroutine summary

Memory Icons

  • Create/destroy/clear/mirror memory icons
  • Copy raw colour/transparency data to/from memory icons
  • Load/save PNG or ICO icon files to/from memory icons
  • Get icon from program resource
  • Display memory icon in current drawable

 

 

Return to full library subroutine summary

Memory Metafiles

  • Create/destroy memory metafile in EMF or CGM format (CGM on all platforms. 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

 

 

Return to full library subroutine summary

Image Data

  • Transfer colour image data directly to/from current graphics drawable.
  • Blend colour image data with current target graphics drawable. Supports 8-bit transparency.
  • Save colour image data to BMP, PNG, JPEG, ICO or PCX (PNG and ICO can be saved in RGBA format)
  • Mirror colour data.

 

 

Return to full library subroutine summary

3D Modelling

  • Model creation
  • Model view control
  • Modelview matrix manipulation
  • Manage parts within a model
  • Save/load 3D model files
  • 3D text
  Return to full library subroutine summary

ODBC Database Interaction

  • Get/put string and numeric data from/to ODBC data sources
  • Interrogate available sources, tables and columns
  Return to full library subroutine summary

OpenGL Support

  • Text routines (Vector fonts on all platforms, True Type fonts under Windows)
  • Drawable selection (window, memory bitmap or dialog field)
  • Front/back buffer selection
  • Print current OpenGL drawable (bit image dump)
  • Save current OpenGL drawable as a BMP, PNG, PCX or JPEG file
  • Copy pixel data from current OpenGL drawable
  • 8-bit colour mode palette control (Windows only)
  Return to full library subroutine summary

Clipboard Access

  • Put string, bitmap or metafile on the clipboard
  • Retrieve string, bitmap or metafile from the clipboard
  • Put raw colour data on clipboard as a bitmap
  • Retrieve bitmap from clipboard as raw colour data
  Return to full library subroutine summary

Information Functions

  • Extensive set of information functions to interrogate state of various library and system parameters, including:
    • 3D modelling
    • Clipboard
    • Database table
    • Device names
    • Dialogs
    • Drawable
    • Editor windows
    • Errors codes and descriptions
    • Filenames
    • Graphics primitives
    • Grid fields/windows
    • Memory bitmaps/icons/metafiles
    • Operating system
    • Presentation graphics
    • Screen size/colours
    • Windows
  Return to full library subroutine summary

Obsolete Routines

Various routines are included which provide backwards compatibility with earlier releases. Mostly, these are routines which have been replaced by superior alternatives in more recent releases.

  Return to full library subroutine summary

 


For more information email: support@polyhedron.com