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() VDISyntaxVOID 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