Drawing Boxes

A box can be drawn within a window using the video box function, v_box():

void v_box(wn_rb, wn_cb, rowq, colq, att, bdrp, wnp)
 
int wn_rb;
/* Window row of the box's origin
*/
int wn_cb;
/* Window column of the box's origin
*/
int rowq;
/* Height of box
*/
int colq;
/* Width of box
*/
UCHAR att;
/* Attribute to use for line
*/
BORDERPTR bdrp;
/* Border style to use for box
*/
WINDOWPTR wnp;
/* Window to draw line in
*/

In the call, you specify the window coordinates where you want the top-left corner of the box to begin (wn_rb and wn_cb) and the size of the box (rowq and colq).

For the attribute (att), specify the logical attribute with which to display the line.

Specify the border style you want to use for the box (bdrp) as one of the border types listed below in Table 24.7.

Table 24.7: Box and Border Styles

Line Style Description
BDR_SLNP Uses the single-line graphics character
BDR_DLNP Uses the double-line graphics character
BDR_SPACEP Uses the space character
BDR_DOTP Uses the stippled block graphics character or periods
BDR_STARP Uses asterisks
BDR_SOLIDP Uses the solid block graphics or space character

Border appearance is operating system dependent. On terminal-based systems, intersecting lines, boxes, and borders will use the proper intersection character only when two lines of the same type intersect. If you are operating under PCDOS or OS/2, lines will always use the proper intersection characters.

There are a number of limitations associated with output of block graphics characters in terminal versions. If you are using a terminal-based version of Vermont Views, see Chapter 54, "Writing Portable Code," for more information on drawing borders and lines using the block graphics attribute.


Home Contents Previous Next