User Tools

Site Tools


Programming Reference/Librarys

Question & Answer

Q&A is closed

to support this page (eg 0,42 € or so) Thanks.


Syntax of setgraphbufsize

#include <graphics.h>
unsigned setgraphbufsize(unsigned bufsize);

Description of setgraphbufsize

Some of the graphics routines (such as floodfill) use a memory buffer
that is allocated when initgraph is called and released when closegraph
is called. The default size of this buffer, allocated by _graphgetmem, is
4,096 bytes.
You might want to make this buffer smaller (to save memory space) or
bigger (if, for example, a call to floodfill produces error -7: Out of
flood memory).
setgraphbufsize tells initgraph how much memory to allocate for this
internal graphics buffer when it calls _graphgetmem.
You must call setgraphbufsize before calling initgraph. Once initgraph
has been called, all calls to setgraphbufsize are ignored until after the
next call to closegraph.

Example of setgraphbufsize

/* setgraphbufsize example */
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#define BUFSIZE 1000 /* internal graphics buffer size */
int main(void)
   /* request autodetection */
   int gdriver = DETECT, gmode, errorcode;
   int x, y, oldsize;
   char msg[80];
   /* _set size of internal graphics buffer before calling initgraph */
   oldsize = setgraphbufsize(BUFSIZE);
   /* 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:");
exit(1);   /* terminate with an error code */
   x = getmaxx() / 2;
   y = getmaxy() / 2;
   /* output some messages */
   sprintf(msg, "Graphics buffer size: %d", BUFSIZE);
   settextjustify(CENTER_TEXT, CENTER_TEXT);
   outtextxy(x, y, msg);
   sprintf(msg, "Old graphics buffer size: %d", oldsize);
   outtextxy(x, y+textheight("W"), msg);
   /* clean up */
   return 0;

See also

output of setgraphbufsize example

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