User Tools

Site Tools


c:graphics.h:setgraphbufsize

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

c:graphics.h:setgraphbufsize [2024/02/16 01:05] (current)
Line 1: Line 1:
 +===== setgraphbufsize =====
 +
 +
 +====Syntax of setgraphbufsize ==== 
 + <code c>
 +#include <graphics.h>
 +unsigned setgraphbufsize(unsigned bufsize);
 +  </code>
 +
 +
 +==== Description of setgraphbufsize ==== 
 +<code c>
 +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.
 +</code>
 +
 +
 +==== Example of setgraphbufsize ====
 +<code c>
 +/* 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:");
 +getch();
 +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 */
 +   getch();
 +   closegraph();
 +   return 0;
 +}
 +</code>
 +
 +
 +==== See also ====
 +[[closegraph]]
 +[[initgraph]]
 +[[sector]]
 +
 +
 +===== 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