VCreateWindows


 
Name
  VCreateWindows - creates the 3DVIEWNIX windows.
 
Synopsis
  VCreateWindows(opt, novl, inherit)
  int opt;
  int novl;
  int inherit;
 
Description
  VCreateWindows creates the 3DVIEWNIX windows or gets the
window IDs from another client according to the opt value, and creates
novl overlays or inherits the overlays from another client according to the
value of the inherit flag. If opt is equal to 0, VCreateWindows creates all
windows and writes the window IDs to the WINS_ID.COM file; else
VCreateWindows reads WINS_ID.COM file to get all window IDs created by
another client. The visual class should be set before calling VCreateWindows.
This is done by calling VSetVisualClass. 3DVIEWNIX uses three visual
classes - GrayScale, PseudoColor, and DirectColor. If opt is equal to 1,
VCreateWindows will ignore the visual class specified via VSetVisualClass,
and gets the visual class from the current windows. After determining the
visual class, VCreateWindows sets up the reserved colors for 3DVIEWNIX,
gets window IDs from another client, sets up overlays, and initializes the
dialog and button windows (and leaves the image windows and its subwindows
the way they are). If the inherit is equal to 0, or COLOR.COM file  does not
exist, VCreateWindows creates novl overlays, else VCreateWindows inherits
overlays from another client. If COLOR.COM file exists, then VCreateWindows
reads the 3DVIEWNIX reserved colors and colorcells from the COLOR.COM file.
VCreateWindows creates the colormap for the current process and writes the
colormap ID to the COLORMAP.COM file. If a colormap was created by another
process, then the colormap ID created by the other process is used. There
is only one colormap created when 3DVIEWNIX windows are created. The colormap
that is created or inherited is not installed by VCreateWindows. It is later
installed in VCreateColormap. VCreateWindows is to be called just once for
each process. If it has been called earlier, of the depth of the bitmap is
leass than 8, or the preferred visual class (set by VSetVisualClass) is
not available, VCreateWindows exits with a fatal error.
 
Return Value
  0 - work successfully.
  2 - read error.
  4 - cannot open WINS_ID.COM file which stores the window IDs passed from
        another client.
  202 - windows are already open.
  256 - cannot create pixmap.
 
Parameters
  opt - indicate whether the window IDs are passed from another client or not.
                0 - window IDs created within VCreateWindows.
                1 - window IDs passed from the another client.
  novl - specifies the number of overlays to be used.
  inherit - indicates whether to create the overlays with the value specified
        by argument novl or with the value read from COLOR.COM file.
                0 - create overlays with the value specified by novl.
                1 - inherit overlays from another client.
 
Side Effects
  The fonts and GC for each window are set here.
 
Entry Conditions
  If the opt, novl, inherit, or visual class is not valid, or a valid visual
class is not available on this display device, or the depth of the bitmap
is less than 8, or VSetVisualClass was not called earlier, VCreateWindows
prints an error message to the standard error stream, produces a core dump
file and exits from the current process.
 
Related Functions
VOpenServer, VGetWindows, VGetWindowInformation, VGetScreenSize, VGetServerScreenInformation, VSetVisualClass, VCreateColormap, VChangeNumberOfOverlays, VCancelEvents.