===== setlinestyle =====
====Syntax of setlinestyle ====
#include
void setlinestyle(int linestyle, unsigned upattern, int thickness);
==== Description of setlinestyle ====
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:
NameValue  ==== Description of setlinestyle ====
SOLID_LINE0 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 of setlinestyle ====
NORM_WIDTH 1 1 pixel wide
THICK_WIDTHÂ Â 3 3 pixels wide
upattern is a 16-bit pattern that applies only if linestyle is
USERBIT_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), and a dashed line can correspond to a upattern of 0x3333
or 0x0F0F. 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.
Note: The linestyle parameter does not affect arcs, circles, ellipses, or
pie slices. Only the thickness parameter is used.
==== Example of setlinestyle ====
/* setlinestyle example */
#include
#include
#include
#include
#include
/* 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;
}
==== See also ====
[[arc]]
[[bar3d]]
[[bar]]
[[circle]]
[[drawpoly]]
[[ellipse]]
[[getlinesettings]]
[[graphresult]]
[[line]]
[[linerel]]
[[lineto]]
[[pieslice]]
[[rectangle]]
===== output of setlinestyle example =====
no output of example at the moment
do not hesitate and add it...