User Tools

Site Tools


Sidebar

Programming Reference/Librarys

Question & Answer

Q&A is closed







c:graphics.h:setlinestyle

setlinestyle

Syntax of setlinestyle

#include <graphics.h>
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 ==== 
<code c>
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 ==== 
<code c>
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 <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;
}

See also

output of setlinestyle example

  no output of example at the moment
  do not hesitate and add it...  
advertising
c/graphics.h/setlinestyle.txt · Last modified: 2015/05/06 23:06 (external edit)

Impressum Datenschutz