•  Back 
  •  VDI Inquire 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The ATARI Compendium
Author      : Scott Sanders / JAY Software
Version     : 1.25 (20/6/2003)
Subject     : Documentation
Nodes       : 1117
Index Size  : 32614
HCP-Version : 6
Compiled on : Atari
@charset    : UTF-8
@lang       : en
@default    : 
@help       : %About
@options    : +g -i -t4 +y +z
@width      : 100
View Ref-Filev_opnwk()
v_opnvwk()
V_Opnwk()
V_Opnvwk()
vq_extnd()                                                              VDI

Syntax

VOID vq_extnd( handle, mode, work_out )
WORD handle, mode;
WORD *work_out;

Function      vq_extnd() returns extra information about a particular
              workstation.

Opcode        102

Availability  Supported by all drivers.

Parameters    handle specifies a valid workstation handle. If mode is set
              to VQ_BASE (0) then this call fills in the array pointed to by
              work_out with the same 57 WORDs which are returned by either
              v_opnwk() or v_opnvwk(). If mode is VQ_EXTENDED (1) then the 57
              WORDs of work_out are filled in with other information as
              follows:

              work_out     VDI        Meaning
               [ x ]    Structure
                         Member

                 0      screentype    Type of display screen:

                                      0 = Not screen.
                                      1 = Separate alpha/ graphic
                                          controllers and displays.
                                      2 = Separate alpha/ graphic
                                          controllers with common screen.
                                      3 = Common alpha/ graphic
                                          controllers with separate image
                                          memory.
                                      4 = Common alpha/ graphic
                                          controllers and image memory.
                                          (All known devices either
                                                       return 0 or 4.)

                 1      bgcolors      Number of background colors
                                      available.

                 2      textfx        Text effects supported. (Same
                                      bitmask as with vst_effects() ).

                 3      canscale      Scaling of rasters:

                                      0 = Can't scale.
                                      1 = Can scale.

                 4      planes        Number of planes.

                 5      lut           Lookup table supported:

                                      0 = Table not supported.
                                      1 = Table supported.

                                      (True color modes return a value
                                      of 0 for lut and >2 for colors
                                                        in v_opnvwk()).
                                      See the caveat listed below.

                 6      rops          Performance factor. Number of 16x16
                                      raster operations per second.

                 7      cancontourfill

                                      v_contourfill() availability:

                                      0 = Not available.
                                      1 = Available.

                 8      textrot       Character rotation capability:

                                      0 = None.
                                      1 = 90 degree increments.
                                      2 = Any angle of rotation.

                 9      writemodes    Number of writing modes available.

                10      inputmodes    Highest level of input modes
                                      available:

                                      0 = None.
                                      1 = Request.
                                      2 = Sample.

                11      textalign     Text alignment capability flag:

                                      0 = Not available.
                                      1 = Available.

                12      inking        Inking capability flag.

                                      0 = Device can't ink.
                                      1 = Device can ink.

                13      rubberbanding

                                      Rubberbanding capability flag:

                                      0 = No rubberbanding.
                                      1 = Rubberbanded lines.
                                      2 = Rubberbanded lines and
                                          rectangles.

                14      maxvertices   Maximum vertices for polyline,
                                      polymarker, or filled area
                                      (-1 = no maximum).

                15      maxintin      Maximum length of intin array
                                      (1 = no maximum).

                16      mousebuttons  Number of mouse buttons.

                17      widestyles    Styles available for wide lines?

                                      0 = No
                                      1 = Yes

                18      widemodes     Writing modes available for wide
                                      lines?

                                      0 = No
                                      1 = Yes

               19-56    reserved1     Reserved for future use.

Binding       WORD i;

              contrl[0] = 102;
              contrl[1] = 0;
              contrl[3] = 1;
              contrl[6] = handle;

              intin[0] = mode;

              vdi();

              for(i = 0;i < 45;i++)
               work_out[i] = intout[i];

              for(i = 0;i < 13;i++)
               work_out[45+i] = ptsout[i];

Comments      See the entry for V_Opnwk() and V_Opnvwk() to see how the
              vq_extnd() information and v_opn/v/wk() calls are integrated
              into a 'C' style structure.

Caveats       The lut member of the VDIWORK structure was originally
              misdocumented by Atari with the values reversed. The
              Falcon030 as well as some third-party true-color boards
              return the correct values. Some older boards may not,
              however. One alternative method of determining if the current
              screen is not using a software color lookup table (i.e. true
              color) is to compare the value for 2 ^ planes with the
              number of colors in the palette found in colors. If this
              number is different, the VDI is not using a software color
              lookup table.

See Also      v_opnwk(), v_opnvwk(), V_Opnwk(), V_Opnvwk()

Group         VDI Inquire