setgraphbufsize
Changes the size of the internal graphics buffer.
Defined in header <graphics.h>
Syntax
#include <graphics.h>
unsigned far setgraphbufsize(unsigned hufsize);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ |
Remarks
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.
b^
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.
Return value
setgraphbufsize returns the previous size of the internal buffer.
See also
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:");
getch ();
exit(l); /* 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 ("VJ"), msg);
/* clean up */
getchO ;
closegraphO ;
return 0;
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/graphics.h/setgraphbufsize/
· short form /3.1/setgraphbufsize/