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...  

on the occasion of the current invasion of Russia in Ukraine

Russian Stop this War
c/graphics.h/setlinestyle.txt · Last modified: 2024/02/16 01:05 (external edit)

Impressum Datenschutz