•  Back 
  •  Inquire functions 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File7.6.73  vq_extnd                                                   TOS

 Name:         »Extended inquire function« - Obtain additional 
               information about a workstation.

 Opcode:       102

 Syntax:       void vq_extnd ( int16_t handle, int16_t owflag, int16_t 
               *work_out );

 Description:  The call vq_extnd obtains additional information about 
               the capabilities of a workstation. The following apply:

                Parameter     Meaning

                handle        Workstation identifier
                owflag        Type of information:
                               0 =  Return v_opnwk/v_opnvwk values
                               1 =  Return additional information
                work_out[0]   Type of screen:
                               0 =  No screen
                               1 =  Separate alpha and graphic 
                                    controllers and separate video 
                                    memory
                               2 =  Separate alpha and graphic 
                                    controllers with shared video 
                                    memory
                               3 =  Common video and graphic 
                                    controller with separate video 
                                    memory
                               4 =  Common alpha and graphic 
                                    controller with shared video 
                                    memory
                                    (Note: All know devices return 
                                    either 0 or 4)
                work_out[1]   Number of colour levels (refers to the 
                              CLUT)
                work_out[2]   Supported text effects (same bitmask as 
                              with vst_effects)
                work_out[3]   Raster scaling flag:
                               0 =  Scaling impossible
                               1 =  Scaling possible
                work_out[4]   Number of planes
                work_out[5]   CLUT flag (0 = no CLUT, 1 = CLUT or 
                              pseudo-CLUT (TrueColor) exists)
                work_out[6]   Performance factor (number of 16*16 
                              raster operations per second)
                work_out[7]   Contour fill capability (v_contourfill)
                               0 =  Not supported
                               1 =  Contour fill supported
                work_out[8]   Text rotation ability:
                               0 =  None
                               1 =  In steps of 90 degrees only
                               2 =  In steps of 1/10 degree
                work_out[9]   Number of writing modes available
                work_out[10]  Highest available input levels:
                               0 =  None
                               1 =  Request
                               2 =  Request and sample
                work_out[11]  Text alignment capability flag:
                               0 =  Not available
                               1 =  Available
                work_out[12]  Inking capability flag:
                               0 =  Device cannot ink
                               1 =  Device can ink
                work_out[13]  Rubberbanding capability flag:
                               0 =  No rubberbanding
                               1 =  Capable of rubberband lines
                               2 =  Capable of rubberband lines and 
                                    rectangles
                work_out[14]  Maximum number of input vertices for 
                              v_pline, v_pmarker, v_fillarea, or -1 
                              (unlimited)
                work_out[15]  Maximum number of intin arguments, or -1 
                              (no limit)
                work_out[16]  Number of mouse buttons
                work_out[17]  Line types for wide lines:
                               0 =  No
                               1 =  Yes
                work_out[18]  Writing modes available for wide lines
                               0 =  No
                               1 =  Yes
                work_out[19]  Clipping flag:
                               0 =  Clipping off
                               1 =  Clipping on
                              Only PC-GEM as of version 2.0 and NVDI.
                work_out[20]
                               0 =  No extended precision pixel size 
                                    information is available
                               1 =  Pixel size is in 1/10 microns
                               2 =  Pixel size is in 1/100 microns
                               3 =  Pixel size is in 1/1000 microns
                work_out[21]  Pixel width in 1/10, 1/100 or 1/1000 
                              microns, like work_out[20]
                work_out[22]  Pixel height in 1/10, 1/100 or 1/1000 
                              microns, like work_out[20]
                work_out[23]  Horizontal resolution in dpi
                work_out[24]  Vertical resolution in dpi
                work_out[25]  Flag to indicate whether bit-image files 
                              on printers can be rotated by the driver 
                              (as of PC-GEM/3):
                               0 =  No
                               1 =  Rotation in 0,90,180,270 degrees 
                                    possible
                work_out[26]  +
                work_out[27]  Address of the screen buffer (1/4 of the 
                              screen area) that is used with AES 
                              functions (only as of PC-GEM/3)
                work_out[28]  Bezier flag:
                               Bit-1 = Driver has no Bezier capability 
                                       (0), or driver has Bezier 
                                       capability (1)
                              This information is available as of PC- 
                              GEM/3 as well as under NVDI
                work_out[30]  Raster flag:
                               Bit-0 = 1 vrt/vro_cpyfm is capable of 
                                       scaling bitmaps
                               Bit-1 = 1 New raster function present, 
                                       as of NVDI 5.00
                               Bit-2 = 1 New vr_clip_rects_xxx 
                                       clipping function present, as 
                                       of NVDI 5.02
                work_out[32]
                               Bit-0 = 1 Bit 0 = 1 New style colour 
                                       routines (NVDI 5.xx)
                work_out[40]  Non-printable left margin in pixels 
                              (printers/plotters)
                work_out[41]  Non-printable top margin in pixels 
                              (printers/plotters)
                work_out[42]  Non-printable right margin in pixels 
                              (printers/plotters)
                work_out[43]  Non-printable bottom margin in pixels 
                              (printers/plotters)
                work_out[44]  Page size (printers etc.):
                                0 =  Use default setting 
                                1 =  DIN A3 
                                2 =  DIN A4 
                                3 =  DIN A5 
                                4 =  DIN B5 
                               16 =  Letter Size 
                               17 =  Half Size 
                               18 =  Legal Size 
                               19 =  Double Size 
                               20 =  Broadsheet size 

                work_out[45]  Top left X-coordinate, and
                work_out[46]  Top left Y-coordinate of the clipping 
                              rectangle
                work_out[47]  Bottom left X-coordinate, and
                work_out[48]  Bottom left Y-coordinate of the clipping 
                              rectangle
                work_out[49]
                :
                :
                work_out[56]  Reserved, contain zero

               Notes: The stated assignments of the work_out arrays 
               apply for the case that the extended information 
               (owflag = 1) is to be obtained. If work_out[20] holds a 
               non-zero value, work_out[21..24] and work_out[40..43] 
               will contain extended information about pixel size and 
               non-printable margins.

               The non-printable margins are normally returned only by 
               printer drivers. They permit an application to centre 
               documents, or to provide the user with a true likeness 
               of the printed page in which the marginal borders in 
               the document are depicted. (The region returned by 
               v_opnwk in work_out[0/1] is the printable area.)

               If a driver returns more precise pixel sizes, this 
               information should be used to calculate the position of 
               graphic objects for printing. In worst case using the 
               values from v_opnwk in work_out[3/4] can result in a 
               positioning inaccuracy of 2 or 3 mm (for output on a 
               DIN A4 page).

               Atari originaly misdocumented the workout[5] (CLUT) 
               element, reversing the values. The Falcon 030 and some 
               third-party TrueColor boards return the correct values, 
               but some older boards may not.

 Return value: DThe function returns no direct function result.

 Availability: Supported by all drivers.

 Group:        Inquire functions

 See Also:     Binding   v_contourfill   vswr_mode   v_pline 
               v_pmarker   v_fillarea   v_opnwk