Borland C++ reference

setlinestyle

raw OCR

Sets the current line width and style.

Defined in header <graphics.h>

Syntax

#include <graphics.h>
void  far setlinestyle(int linestyle,unsigned upattern, int thickness);

setlinestyle sets the style for all lines drawn by  line, lineto, rectangle,
drawpoly,  and  so on.

The  linesettingstype structure is defined in graphics.h as follows:

   struct linesettingstype {
      int linestyle;
      unsigned upattern;
      int thickness;
linestyle specifies in which of several styles subsequent  lines will be drawn
(such  as solid, dotted, centered, dashed).  The enumeration    line_styles,
defined  in graphics.!"!, gives names to these operators: •

   Name               Value       Description
   SOLID   LINE          0        Solid line
   DOTTED    LINE        1        Dotted line
   CENTER    LINE        2        Centered line
   DASHED     LINE       3        Dashed  line
   USERBIT   LINE        4        User-defined line style

thickness specifies whether  the width  of subsequent   lines drawn  will be
normal   or thick.

   Name               Value       Description

   NORM_WIDTH                     1 pixel wide
   THICK   WIDTH                  3 pixels wide

upattern is a 16-bit pattern that applies only if linestyle isUSERBIT_LINE
(4). In that case, whenever  a bit in the pattern word  is 1, the corresponding
pixel in the line is drawn in the current  drawing  color. For example,   a
solid line corresponds  to a upattern of 0xFFFF   (all pixels drawn), while a
dashed   line can correspond  to a upattern of 0x3333  or OxOFOF. If the
linestyle parameter  to setlinestyle is not USERBIT_LINE     (in other words,  if
it is not equal to 4), you must still provide the upattern parameter,  but it
will be ignored.

The  linestyle parameter does  not affect arcs, circles, ellipses,or pie slices.
Only  the thickness parameter  is used.

Portability

DOSUNIXWindowsANSI CC++ only
■

Return value

If invalid input is passed to setlinestyle, graphresult returns -11, and the current line style remains unchanged.

See also

Example

#include <graphics.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>

/* the names of the line styles supported  */
char nname[]  = { "SOLID_LINE",  "DOTTED_LINE", "CENTER_LINE", "DASHED_LINE",
                  "USERBIT_LINE" };
int main(void)
{
   /* request autodetection */
   int gdriver = DETECT, gmode, errorcode;
   int style, midx, midy, userpat;
   char stylestr[40];
   /* initialize graphics and local variables */
   initgraphi&gdriver, &gmode, "");

   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk) {  /* an error occurred */
      printf("Graphics error: %s\n", grapherrormsg(errorcode)) ;
      printf("Press any key to halt:");
      getchO;
      exit(l);               /* terminate with an error code */
   }
   midx = getmaxx() / 2;
   midy = getmaxy() / 2;

   /* a user-defined line pattern */
   /* binary: "0000000000000001" */
   userpat = 1;
   for (style=SOLID_LINE; style<=USERBIT_LINE; style++)
   {
      /* select the line style */
      setlinestyle(style, userpat, 1);

      /* convert style into a string */
      strcpy(stylestr, Iname[style]);

      /* draw a line */
      line(0, 0, midx-10, midy);

      /* draw a rectangle */
      rectangle(0, 0, getmaxxO,  getmaxyO);

      /* output a message */
      outtextxy(midx, midy, stylestr);

      /* wait for a key */
      getchO ;
      cleardeviceO ;
   }
   /* clean up */
   closegraph();
   return 0;
}

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.