Borland C++ reference

setgraphbufsize

raw OCR

Changes the size of the internal graphics buffer.

Defined in header <graphics.h>

Syntax

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

Portability

DOSUNIXWindowsANSI CC++ 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.