User Tools

Site Tools


Programming Reference/Librarys

Question & Answer

Q&A is closed



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

on the occasion of the current invasion of Russia in Ukraine

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

Impressum Datenschutz