#include <graphics.h> int getmaxy(void);
For example, on a CGA in 320*200 mode, getmaxy returns 199. getmaxy is invaluable for centering, determining the boundaries of a region onscreen, and so on.
/* getmaxy example */ #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* request autodetection */ int gdriver = DETECT, gmode, errorcode; int midx, midy; char xrange[80], yrange[80]; /* 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 */ } midx = getmaxx() / 2; midy = getmaxy() / 2; /* convert max resolution values into strings */ sprintf(xrange, "X values range from 0..%d", getmaxx()); sprintf(yrange, "Y values range from 0..%d", getmaxy()); /* display the information */ settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(midx, midy, xrange); outtextxy(midx, midy+textheight("W"), yrange); /* clean up */ getch(); closegraph(); return 0; }