Table of Contents

getlinesettings

Syntax of getlinesettings

#include <graphics.h>
void getlinesettings(struct linesettingstype *lineinfo);
 

Description of getlinesettings

getlinesettings fills a linesettingstype structure pointed to by lineinfo
with information about the current line style, pattern, and thickness.
The linesettingstype structure is defined in graphics.h as follows:
struct linesettingstype {
   int linestyle;
   unsigned upattern;
   int thickness;
};
linestyle specifies in which style subsequent lines will be drawn (such
as solid, dotted, centered, dashed). The enumeration line_styles, defined
in graphics.h, gives names to these operators:
NameValue  ==== Description of getlinesettings ==== 
<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 getlinesettings ==== 
<code c>
NORM_WIDTH     1  1 pixel wide
THICK_WIDTH  3  3 pixels wide

Example of getlinesettings

/* getlinesettings example */
 
#include <graphics.h>
#include <stdlib.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;
   struct linesettingstype lineinfo;
   int midx, midy;
   char lstyle[80], lpattern[80], lwidth[80];
 
 
   /* 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;
 
   /* get information about current line settings */
   getlinesettings(&lineinfo);
 
 
   /* convert line information into strings */
  sprintf(lstyle, "%s is the line style.", lname[lineinfo.linestyle]);
  sprintf(lpattern, "0x%X is the user-defined line pattern.",
lineinfo.upattern);
  sprintf(lwidth, "%d is the line thickness.", lineinfo.thickness);
 
   /* display the information */
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   outtextxy(midx, midy, lstyle);
   outtextxy(midx, midy+2*textheight("W"), lpattern);
   outtextxy(midx, midy+4*textheight("W"), lwidth);
 
 
   /* clean up */
   getch();
   closegraph();
   return 0;
}

See also

setlinestyle

output of getlinesettings example

  no output of example at the moment
  do not hesitate and add it...