
   Virtual Pascal for OS/2 v1.10
   DIVE example class
   (C) 1996 fPrint UK Ltd

Introduction
~~~~~~~~~~~~
  This archive contains a sample DIVE class for Virtual Pascal for OS/2.
  The aim of this class is to help you produce fast DIVE based graphical
  OS/2 applications with Virtual Pascal for OS/2. The class is based on
  the framework provided in the DIVERACE example for Virtual Pascal,
  originally programmed by Michael Mrosowski.

  To use this class, you need Virtual Pascal v1.1 or later.

What it does
~~~~~~~~~~~~
  This class encapsulates most of the mechanics involved in starting and
  using a DIVE window.  DIVE is OS/2's Direct Interface Video Extensions
  and is a set of API calls that allow fast graphical output in OS/2 PM.

  As demonstrated in the sample app, TestDive, setting up a basic DIVE
  window is easy.  First, call the Create or CreateRes constructors for
  the class in order to set up the DIVE framework.  Then assign an
  update function that does whatever your application wants to do inside
  the window, and optionally add a message handler for processing PM
  messages that you want to intercept.

  Having done this, call the Run method - and your application is done.

  The important bit in the above is the update function.  It should conform
  to the following definition:

    procedure MyUpdate( Dive: tDiveWindow );

  This procedure will be called at regular intervals, when DIVE is ready
  a refresh of the window. In the sample app, a sequence of firgures is
  simply output to screen - this could of course be live data from the
  stockmarket, a game, or whatever you want.

  It is recommended to set up a separate thread for handling program flow
  yourself.  This thread would have as its task to update application
  data; data, which is accessed by the Update method in order to display
  it in the window.

Graphics Primitives
~~~~~~~~~~~~~~~~~~~
  In order to quickly get you going with DIVE programming, the DIVE
  class provided in this archive implements a set of very basic graphics
  primitives for your use.

  Using the Pixels(x,y) array, you can read or set the value of one pixel
  in the window.  In addition, there are routines for drawing a line,
  a rectangle, a triangle, a four-corner polygon, an arc or a circle.
  All relevant functions can be set to outline the primitives (LineMode=True)
  or fill them LineMode=False).

  For more information on how to use the tDiveClass, please refer to the
  source code in Os2Dive.Pas and TestDive.Pas.

Contact Address
~~~~~~~~~~~~~~~
  Bug reports or feature requests should be directed to one of the
  following addresses:

  fPrint UK Ltd
  Cambridge House
  Hammersmith
  London W6 0LE
  United Kingdom
  Att: Allan Mertner

  Tel. +44 (181) 563 2359
  Fax. +44 (181) 563 2361
  BBS  +44 (181) 563 8624

  Internet:    vpascal@ibm.net
  CompuServe:  102212,3041
  FidoNet:     2:254/283
  WWW:         http://www.fprint.co.uk/vpascal
  CompuServe:  GO FPRINT
               or select OS/2 Vendor Forum B (GO OS2BVEN) Section 6.

Trademarks
~~~~~~~~~~
  Company names, brand names and product names are trademarks or
  registered trademarks of their respective holders.


