#include <graphics.h> void setlinestyle(int linestyle, unsigned upattern, int thickness);
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, which is defined in graphics.h, 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 |
Name | Value | Description |
NORM_WIDTH | 1 | 1 pixel wide |
THICK_WIDTH | 3 | 3 pixels wide |
Note: The linestyle parameter does not affect arcs, circles, ellipses, or pie slices. Only the thickness parameter is used.
/* setlinestyle example */ #include <graphics.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <conio.h> /* the names of the line styles supported */ char *lname[] = { "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 */ initgraph(&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:"); getch(); exit(1); /* 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, lname[style]); /* draw a line */ line(0, 0, midx-10, midy); /* draw a rectangle */ rectangle(0, 0, getmaxx(), getmaxy()); /* output a message */ outtextxy(midx, midy, stylestr); /* wait for a key */ getch(); cleardevice(); } /* clean up */ closegraph(); return 0; }