setlinestyle
- Syntax
-
#include <graphics.h> void setlinestyle(int linestyle, unsigned upattern, int thickness);
- Description
-
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, 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.
- Return Value
- If invalid input is passed to setlinestyle, graphresult returns -11, and the current line style remains unchanged.
- See also
- arc
- bar3d
- bar
- circle
- drawpoly
- ellipse
- getlinesettings
- graphresult
- line
- linerel
- lineto
- pieslice
- rectangle
- bar3d
- Example
-
/* 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; }
Back to index