setfillstyle


Syntax

#include <graphics.h>

void setfillstyle(int pattern, int color);

Description
setfillstyle sets the current fill pattern and fill color. To set a user-defined fill pattern, do not give a pattern of 12 (USER_FILL) to setfillstyle; instead, call setfillpattern.

If invalid input is passed to setfillstyle, graphresult returns -1(grError), and the current fill pattern and fill color remain unchanged.

Note: The EMPTY_FILL style is like a solid fill using the current background color (which is set by setbkcolor).

Return Value
None.

Windows Notes [WIN]
The winbgim version allows the color argument to be an ordinary BGI color (from 0 to 15) or an RGB color.

See also
bar
bar3d
fillpoly
floodfill
getfillsettings
graphresult
pieslice
sector
setfillpattern

Example

/* setfillstyle example */ 



#include <graphics.h>

#include <stdlib.h>

#include <string.h>

#include <stdio.h>

#include <conio.h>



/* the names of the fill styles supported */

char *fname[] = { "EMPTY_FILL", "SOLID_FILL", "LINE_FILL", "LTSLASH_FILL", "SLASH_FILL", "BKSLASH_FILL", "LTBKSLASH_FILL", "HATCH_FILL", "XHATCH_FILL", "INTERLEAVE_FILL", "WIDE_DOT_FILL", "CLOSE_DOT_FILL", "USER_FILL" };



int main(void)

{

   /* request autodetection */

   int gdriver = DETECT, gmode, errorcode;

   int style, midx, midy;



   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;



   for (style = EMPTY_FILL; style < USER_FILL; style++) {

      /* select the fill style */

      setfillstyle(style, getmaxcolor());



      /* convert style into a string */

      strcpy(stylestr, fname[style]);



      /* fill a bar */

      bar3d(0, 0, midx-10, midy, 0, 0);



      /* output a message */

      outtextxy(midx, midy, stylestr);



      /* wait for a key */

      getch();

      cleardevice();

   }



   /* clean up */

   getch();

   closegraph();



   return 0;

}


Back to index