This library contains a multitude of functions to enable output
of various types to be made on an output device. In all, the following
routines are available:
• v_arc |
Draws arcs of circles
|
• v_bar |
Draws filled rectangles
|
• v_bez |
Draws Bezier-splines
|
• v_bez_fill |
Draws and fills Bezier-splines
|
• v_cellarray |
Sets colours by coordinates of colour cells
|
• v_circle |
Draws filled circle
|
• v_contourfill |
Fills area up to a given limit
|
• v_ellarc |
Draws elliptical arc
|
• v_ellipse |
Draws filled ellipse
|
• v_ellpie |
Draws filled ellipse segment
|
• v_etext |
Outputs graphics text
|
• v_fillarea |
Fills specified area (polygon)
|
• v_ftext |
Outputs outline text (vector font)
|
• v_ftext16 |
Outputs 16-bit Speedo characters
|
• v_ftext_offset |
Outputs outline text with offset vectors
|
• v_ftext_offset16 |
Ditto, with 16-bit Speedo characters
|
• v_gtext |
Outputs graphics text
|
• v_justified |
Outputs justified text
|
• v_mono_ftext |
No information available at present
|
• v_pieslice |
Draws filled circular segment
|
• v_pline |
Outputs a polyline
|
• v_pmarker |
Draws marker(s)
|
• v_rbox |
Draws rounded rectangle
|
• v_rfbox |
Draws filled, rounded rectangle
|
• vr_recfl |
Draws filled rectangle
|
Name: |
»Arc« - Draw a circular arc.
|
Opcode: |
11 (GDP 2)
|
Syntax: |
void v_arc ( int16_t handle, int16_t x, int16_t y, int16_t
radius, int16_t begang, int16_t endang );
|
Description: |
The call v_arc draws an arc of a circle. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of arc's center point
|
radius |
Length of arc's radius in X-axis units
|
begang |
Starting angle in tenths of degrees (0-3600)
|
endang |
Ending angle in tenths of degrees (0-3600)
|
Note: The lines attributes, the writing mode as well as the
actual pixel size are taken into account for drawing. The
specification for the radius refers to the X-axis. The angle is
specified in 1/10 degrees in the anticlockwise direction.
900
|
|
|
---------+---------
1800 | 0
|
|
2700
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vs_color vswr_mode vsl_type vsl_width
vsl_color vsl_ends vsl_udsty
|
Name: |
»Bar« - Draw a filled rectangle.
|
Opcode: |
11 (GDP 1)
|
Syntax: |
void v_bar ( int16_t handle, int16_t *pxyarray );
|
Description: |
The call v_bar draws a filled rectangle. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
pxyarray[0] |
X-coordinate, and
|
pxyarray[1] |
Y-coordinate of a rectangle corner point
|
pxyarray[2] |
X-coordinate, and
|
pxyarray[3] |
Y-coordinate of the diagonally opposite corner point
|
Note: The function can be used for the drawing of bar
graphs, for instance. The fill attributes as well as the writing mode will
be taken into account.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Output Bezier« - Draw Bezier-spline path.
|
Opcode: |
6 (Sub-Opcode 13)
|
Syntax: |
void v_bez ( int16_t handle, int16_t count, int16_t *xyarr,
int8_t *bezarr, int16_t *extent, int16_t *totpts, int16_t *totmoves );
|
Description: |
The call v_bez draws a Bezier-spline curve path. The following
apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
count |
Number of vertices in path
|
xyarr |
Coordinates of vertices
|
bezarr |
Point-type flags:
Bit-0 = |
First point in a 4-point Bezier curve (2 anchor points points
and 2 control points)
|
Bit-1 = |
Jump point - this point and the previous one will not be
connected; useful for drawing enclaves or exclaves
|
Bit-2..7 = |
Reserved, set to 0
|
|
extent |
Coordinates of the bounding box
|
totpts |
Number of points in the resulting path
|
totmoves |
Number of moves in the path
|
Note: The last point of a Bezier-segment can be the
first point of the next Bezier curve (or it can be a jump point). If
bit 0 of bezarr is 0, v_bez works like v_pline and draws a
straight line between two points.
|
Return value: |
The function does not return a result.
|
Availability: |
As of GEM/3 Release 3.1, SpeedoGDOS 4.00 onwards, and NVDI
2.10 onwards.
|
Group: |
Output functions
|
See also: |
Binding v_bez_on v_bez_off v_bez_fill v_bez_qual
v_set_app_buff
|
C: |
void v_bez ( int16_t handle, int16_t count, int16_t *xyarr,
int8_t *bezarr, int16_t *extent, int16_t *totpts, int16_t *totmoves );
|
Binding: |
void v_bez (int16_t handle, int16_t count, int16_t *xyarr,
int8_t *bezarr, int16_t *extent, int16_t *totpts,
int16_t *totmoves)
{
ptsin[0..2n-1] = xyarr[0..2n-1];
intin[0..(n+1)/2-1] = bezarr[0..n-1]
contrl[0] = 6;
contrl[1] = n;
contrl[3] = (n+1)/2;
contrl[5] = 13;
contrl[6] = handle;
vdi ();
*totpts = intout[0];
*totmoves = intout[1];
extent[0..3] = ptsout[0..3];
}
|
GEM-Arrays: |
Note: The binding for this function has to swap the
bytes in intin because unfortunately this function is compatible with
PC-GEM. => bezarr[0] is the low byte of intin[0], bezarr[1] is
the high byte of intin[0]...
|
Name: |
»Output filled Bezier« - Draw and fill Bezier-spline curve.
|
Opcode: |
9 (Sub-Opcode 13)
|
Syntax: |
void v_bez_fill ( int16_t handle, int16_t count, int16_t
*xyarr, int8_t *bezarr, int16_t *extent, int16_t *totpts, int16_t
*totmoves );
|
Description: |
The call v_bez_fill draws a Bezier-spline path and then fills
this. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
count |
Number of vertices in path
|
xyarr[0..2n-1] |
Coordinates of vertices
|
bezarr |
Point-type flags:
Bit-0 |
First point in a 4-point Bezier curve (two anchor points and
two control points)
|
Bit-1 |
Jump point - this point and the previous one will not be
connected; useful for drawing enclaves or exclaves
|
Bit-2..7 |
Reserved, set to 0
|
|
extent[0..3] |
Coordinates of the bounding box
|
totpts |
Number of points in the resulting path
|
totmoves |
Number of moves in the path
|
Note: If bit 0 of bezarr is 0, v_bez_fill works
like v_fillarea and fills the area limited by a line between two
points.
|
Return value: |
The function does not return a result.
|
Availability: |
As of GEM/3 Release 3.1, SpeedoGDOS 4.00 onwards, and NVDI
2.10 onwards.
|
Group: |
Output functions
|
See also: |
Binding v_bez_on v_bez_off v_bez v_bez_qual
v_set_app_buff v_fillarea
|
C: |
void v_bez_fill ( int16_t handle, int16_t count, int16_t
*xyarr, int8_t *bezarr, int16_t *extent, int16_t *totpts, int16_t
*totmoves );
|
Binding: |
void v_bez_fill (int16_t handle, int16_t count,
int16_t *xyarr, int8_t *bezarr,
int16_t *extent, int16_t *totpts,
int16_t *totmoves)
{
ptsin[0..2n-1] = xyarr[0..2n-1];
intin[0..(n+1)/2-1] = bezarr[0..n-1];
contrl[0] = 9;
contrl[1] = n;
contrl[3] = (n+1)/2;
contrl[5] = 13;
contrl[6] = handle;
vdi ();
*totpts = intout[0];
*totmoves = intout[1];
extent[0..3] = ptsout[0..3];
}
|
GEM-Arrays: |
Note: The binding for this function has to swap the
bytes in intin because unfortunately this function is compatible with
PC-GEM. => bezarr[0] is the low byte of intin[0], bezarr[1] is
the high byte of intin[0]...
|
Name: |
»Cell array« - Colour setup of the screen by reference to
coordinates of coloured cells.
|
Opcode: |
10
|
Syntax: |
void v_cellarray ( int16_t handle, int16_t *pxyarray, int16_t
row_length, int16_t el_used, int16_t num_rows, int16_t wrt_mode,
int16_t *colarray );
|
Description: |
The call v_cellarray allows the colour setup of the screen not
to depend on the objects being drawn, but on the coordinates of an
array of coloured cells instead. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
pxyarray |
Coordinates of the bounding rectangle
|
row_length |
Line length of colour index array
|
el_used |
Number of columns
|
num_rows |
Number of lines
|
wrt_mode |
Writing mode
|
colarray |
Colour index array, contains the colour information for the
whole rectangle (line-by-line)
|
Note: The output device is subdivided into a number of
cells, where each cell has a colour allocated to it. If any output
occurs in the respective cell, then it will take on the colour
allocated to the cell. The function is not available on all
output devices.
|
Return value: |
The function does not return a result.
|
Availability: |
Not supported by any current drivers.
This function is not guaranteed available in any driver and
should therefore be avoided unless you are sure the driver you are
utilizing understands it.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode
|
Name: |
»Circle« - Draw a circular area.
|
Opcode: |
11 (GDP 4)
|
Syntax: |
void v_circle ( int16_t handle, int16_t x, int16_t y, int16_t
radius );
|
Description: |
The call v_circle draws a filled circular area. The following
apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of center point of circle
|
radius |
Radius in X-coordinate units
|
Note: The fill attributes, the writing mode as well as the pixel size
ratio will be respected.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Countour fill« - Fill a particular area up to a given limit.
|
Opcode: |
103
|
Syntax: |
void v_contourfill ( int16_t handle, int16_t x, int16_t y,
int16_t index );
|
Description: |
The call v_contourfill fills, depending on the starting point,
a particular area. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of starting point
|
index |
Colour index of a colour
|
Notes: The fill area is confined by the screen edge, or
by a defined colour.
If the parameter index is negative, filling continues in
every direction until a pixel of a different colour to that in
x and y is encountered. If the parameter index
is positive, then the fill continues in all directions until the
colour in index is found. In TrueColor mode, with a positive
value for index, the fill spreads until a pixel is found with
the same colour as the 'virtual pen' index.
The current fill attributes will be respected during drawing.
|
Return value: |
The function returns no direct result.
|
Availability: |
The function is not available on all output devices,
therefore one should inquire with vq_extnd.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Elliptical arc« - Draw an elliptical arc segment.
|
Opcode: |
11 (GDP 6)
|
Syntax: |
void v_ellarc ( int16_t handle, int16_t x, int16_t y, int16_t
xradius, int16_t yradius, int16_t begang, int16_t endang );
|
Description: |
The call v_ellarc draws a segment of an elliptical arc. The
following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of arc's center point
|
xradius |
Radius in X-axis units
|
yradius |
Radius in Y-axis units
|
begang |
Starting angle in tenths of degrees (0-3600)
|
endang |
Ending angle in tenths of degrees (0-3600)
|
Note: The lines attributes and the writing mode will be respected during
drawing, but the pixel size ratio will be ignored. The angle is
specified in 1/10 degree and anticlockwise:
900
|
|
|
---------+---------
1800 | 0
|
|
2700
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vs_color vswr_mode vsl_type vsl_width
vsl_color vsl_ends vsl_udsty
|
Name: |
»Ellipse« - Draw a filled elliptical area.
|
Opcode: |
11 (GDP 5)
|
Syntax: |
void v_ellipse ( int16_t handle, int16_t x, int16_t y, int16_t
xradius, int16_t yradius );
|
Description: |
The call v_ellipse draws a filled elliptical area. The
following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of center point of ellipse
|
xradius |
Radius of X-axis
|
yradius |
Radius of Y-axis
|
Note: The fill attributes and the writing mode will be respected during
drawing, but the pixel size ratio will be ignored.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Elliptical pie« - Draw a filled elliptical arc segment.
|
Opcode: |
11 (GDP 7)
|
Syntax: |
void v_ellpie ( int16_t handle, int16_t x, int16_t y, int16_t
xradius, int16_t yradius, int16_t begang, int16_t endang );
|
Description: |
The call v_ellpie draws a segment of a filled elliptical area
("pie segment"), such as those used for pie-slice graphics.
The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of center point of arc
|
xradius |
Radius of X-axis
|
yradius |
Radius of Y-axis
|
begang |
Starting angle (in tenths of degrees 0-3600)
|
endang |
Ending angle (in tenths of degrees 0-3600)
|
Note: The fill attributes and the writing mode will be respected during
drawing, but the pixel size ratio will be ignored. The angle is
specified in 1/10 degree and anticlockwise:
900
|
|
|
---------+---------
1800 | 0
|
|
2700
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Output Outlined Text« - Output an outline (vector) font
text.
|
Opcode: |
241
|
Syntax: |
void v_ftext ( int16_t handle, int16_t x, int16_t y, int8_t
*string );
|
Description: |
The call v_ftext outputs an outline (vector) text string
(NULL-terminated) to a workstation, paying regard to spacing
remainders. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of starting position
|
string |
Pointer to text string (NULL-terminated)
|
Notes: In contrast to v_gtext, the function respects
also the set kerning attributes, and takes the remainder amounts from
vqt_f_extent into account; it also calculates internally with a
precision of 1/65536 pixels, both of which ensure better positioning
of the individual characters.
To output 16-bit Speedo character strings, you can use
v_ftext16.
|
Return value: |
The function does not return a result.
|
Availability: |
FSMGDOS, SpeedoGDOS 4.00 onwards, and as of NVDI 3.00.
|
Group: |
Output functions
|
See also: |
Binding v_gtext v_ftext_offset SpeedoGDOS NVDI fix31
|
Name: |
»Output Outlined Text with Offsets« - Output an 8-bit ASCII
outline text, using character offset vectors.
|
Opcode: |
241
|
Syntax: |
void v_ftext_offset ( int16_t handle, int16_t x, int16_t y,
int8_t *string, int16_t *offset );
|
Description: |
The call v_ftext_offset is a variant of v_ftext for use under
SpeedoGDOS, outputting an 8-bit ASCII character string to a
workstation; one can specify an offset vector for each character.
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of starting position
|
string |
Pointer to the string (NULL-terminated)
|
offset[0] |
X-offset of the first character
|
offset[1] |
Y-offset of the first character
|
... |
|
... |
|
offset[2n-2] |
X-offset of the last character
|
offset[2n-1] |
Y-offset of the last character
|
The parameter offset permits setting your own offsets in
place of the character values calculated by the system; this permits
substantially better control for positioning the characters on the
output device.
Notes: The text attributes as well as the kerning settings will be
respected.
To output 16-bit Speedo character strings, you can use
v_ftext_offset16.
|
Return value: |
The function does not return a result.
|
Availability: |
As of SpeedoGDOS 4.00, and NVDI 3.00 onwards.
|
Group: |
Output functions
|
See also: |
Binding v_gtext v_ftext SpeedoGDOS NVDI
|
Name: |
»Graphic text« - Output a graphic text.
|
Opcode: |
8
|
Syntax: |
void v_gtext ( int16_t handle, int16_t x, int16_t y, int8_t
*string );
|
Description: |
The call v_gtext outputs graphically a NULL-terminated text
string on a workstation. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of alignment point of text
|
string |
Character string as ASCII-codes (NULL-terminated)
|
Notes: The speed of the output can be increased if the
following points are respected:
- Output with byte alignment.
- Preferably do not use clipping.
- With non-proportional, 8 pixel wide fonts output in Replace
mode and without clipping, else in Transparent mode.
The text attributes and the writing mode will be respected. If a vector font
has been selected, then neither pair nor track kerning will be
respected; thus it may be better to fall back on the v_ftext function.
In addition, character positioning is pixel-by-pixel, i.e. vqt_width
supplies the required step sizes.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vst_alignment vst_height
vst_point vst_rotation vst_font vst_color vst_effects
v_ftext
|
Name: |
»Justified graphics text« - Outputs positioned graphic text.
|
Opcode: |
11 (GDP 10)
|
Syntax: |
void v_justified ( int16_t handle, int16_t x, int16_t y, int8_t
*string, int16_t length, int16_t word_space, int16_t char_space,
[int16_t *char_width] );
|
Description: |
The call v_justified outputs graphic text on a workstation,
lengthening or shortening the text string to a specified length by
modifying the inter-word or inter-character spacing. If using a vector
font, the requested width of the string refers to the sum of the
character widths; it does not take remainder data or characters
extending outside the edges of the em-square into account. The
following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate of the text start point
|
string |
Character string as ASCII-codes (NULL-terminated)
|
length |
Requested length of the string, in X-axis pixels
|
word_space |
Inter-word spacing:
0 = |
Do not allow VDI to modify inter-word spacing
|
<>0 = |
Allow VDI to modify inter-word spacing
|
|
char_space |
Inter-character spacing:
0 = |
Do not allow VDI to modify inter-character spacing
|
<>0 = |
Allow VDI to modify inter-character spacing
|
|
The text will be aligned left and right with reference to the
start point and the length. To bring the text to the desired length,
one has the choice of stretching the word and/or the character
interspaces.
The text attributes and the writing mode will be respected. Characters that are
missing in the font will be substituted by a replacement symbol (e.g.
the question-mark).
For vector fonts the length specification refers to the sum of
the character widths - overhangs to left and right are not taken into
account.
From GEM/3 on the function was changed appreciably. The
parameter char_width was added. It returns the number of
pixels of each character in the output character string. With this,
there has also been a change in the parameters of word_space
and char_space as follows:
Parameter |
Meaning
|
|
|
word_space |
Inter-word spacing:
0x0000 = |
No stretching of interspaces, no output information returned
|
0x0001 = |
Stretch interspaces, no output information returned
|
0x8000 = |
No stretching of interspaces, output information
(char_space) is returned
|
0x8001 = |
Stretch interspaces, output information (char_space) is
returned
|
|
char_space |
Inter-character spacing
0x0000 = |
No stretching of interspaces
|
0x0001 = |
Stretch interspaces
|
|
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vst_alignment vst_height
vst_point vst_rotation vst_font vst_color vst_effects
|
C: |
void v_justified ( int16_t handle, int16_t x, int16_t y, int8_t
*string, int16_t length, int16_t word_space, int16_t char_space,
[int16_t *char_width] );
|
Binding: |
void v_justified (int16_t handle, int16_t x, int16_t y,
int8_t *string, int16_t length,
int16_t word_space, int16_t char_space,
[int16_t *char_width] )
{
int16_t *tmp;
ptsin[0] = x;
ptsin[1] = y;
ptsin[2] = length;
ptsin[3] = 0;
intin[0] = word_space;
intin[1] = char_space;
tmp = &(intin[2]);
while (*tmp++ = *string++)
;
contrl[0] = 11;
contrl[1] = 2;
contrl[3] = (int16_t) (tmp-&(intin))-1;
contrl[4] = 0; /* If word_space equals 0x0000 or 0x0001 */
contrl[4] = n; /* If word_space equals 0x8000 or 0x8001 */
contrl[5] = 10;
contrl[6] = handle;
vdi ();
/* If word_space equals 0x8000 or 0x8001 */
char_with[0..n-1] = intout[0..n-1];
}
|
GEM-Arrays: |
|
Name: |
»Pie-slice« - Draw a filled circular "pie-slice"
segment.
|
Opcode: |
11 (GDP 3)
|
Syntax: |
void v_pieslice ( int16_t handle, int16_t x, int16_t y, int16_t
radius, int16_t begang, int16_t endang );
|
Description: |
The call v_pieslice draws a filled circular arc, such as used
in pie-slice graphics, for instance. The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
x |
X-coordinate, and
|
y |
Y-coordinate for the centre point
|
radius |
Radius in x-coordinate units
|
begang |
Start angle (in tenths of degrees 0-3600)
|
endang |
End angle (in tenths of degrees 0-3600)
|
Note: The fill attributes and the writing mode will be respected during
drawing. The angle is specified in 1/10 degree and anticlockwise:
900
|
|
|
---------+---------
1800 | 0
|
|
2700
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter
|
Name: |
»Polyline« - Draw a polyline.
|
Opcode: |
6
|
Syntax: |
void v_pline ( int16_t handle, int16_t count, int16_t *pxyarray
);
|
Description: |
The call v_pline draws a polyline (one, or a group of several
connected lines).
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
count |
Number of input vertices (n)
|
pxyarray[0] |
X-coordinate, and
|
pxyarray[1] |
Y-coordinate of first point
|
... |
|
... |
|
pxyarray[2*count-2] |
X-coordinate, and
|
pxyarray[2*count-1] |
Y-coordinate of last point
|
Note: Any set line attributes and the current writing mode will be
used.
Notes: The starting point is set by the first coordinate
pair. After this all further points will be connected by a line.
Single points can not be drawn by a single coordinate pair,
but can be drawn by a line of zero length, i.e. two equal coordinate
pairs.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers.
|
Group: |
Output functions
|
See also: |
Binding vs_color vswr_mode vsl_type vsl_width
vsl_color vsl_ends vsl_udsty
|
Name: |
»Rounded rectangle« - Draw a rectange with rounded corners.
|
Opcode: |
11 (GDP 8)
|
Syntax: |
void v_rbox ( int16_t handle, int16_t *pxyarray );
|
Description: |
The call v_rbox draws an unfilled rectangle with rounded
corners.
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
pxyarray[0] |
X-coordinate, and
|
pxyarray[1] |
Y-coordinate of a rectangle corner
|
pxyarray[2] |
Y-coordinate, and
|
pxyarray[3] |
Y-coordinate of the diagonally opposite corner
|
Notes: The line attributes and current writing mode as well as the
pixel size ratio will be respected.
The corners above are understood as the points at which the
horizontal and vertial lines would meet if they were extended.
There is no way to define the radius (i.e.
"roundness") of the corners.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vs_color vswr_mode vsl_type vsl_width
vsl_color vsl_ends vsl_udsty
|
Name: |
»Filled rounded rectangle« - Draw a filled rectangular area
with rounded corners.
|
Opcode: |
11 (GDP 9)
|
Syntax: |
void v_rfbox ( int16_t handle, int16_t *pxyarray );
|
Description: |
The call v_rfbox draws a filled rectangle with rounded corners.
The following apply:
Parameter |
Meaning
|
|
|
handle |
Workstation identifier
|
pxyarray[0] |
X-coordinate, and
|
pxyarray[1] |
Y-coordinate of a rectangle corner
|
pxyarray[2] |
X-coordinate, and
|
pxyarray[3] |
Y-coordinate of the diagonally opposite corner
|
Notes: The line attributes and current writing mode as well as the
pixel size ratio will be respected.
The corners above are understood as the points at which the
horizontal and vertial lines would meet if they were extended.
There is no way to define the radius (i.e.
"roundness") of the corners.
|
Return value: |
The function does not return a result.
|
Availability: |
Supported by all drivers. This function comprises one of the 10
VDI GDP's (Generalized Drawing Primitives). Although all current
drivers support all GDP's, their availability is not guaranteed and
may vary. To check for a particular GDP refer to the table returned by
v_opnvwk or v_opnwk.
|
Group: |
Output functions
|
See also: |
Binding vswr_mode vs_color vsf_interior vsf_style
vsf_color vsf_udpat vsf_perimeter v_rbox
|