#include #include #include #include #include #include #include #include int GraphDriver; /* The Graphics device driver */ int GraphMode; /* The Graphics mode value */ int ErrorCode; /* Reports any graphics errors */ void Initialize(void); void Report(void); int gprintf(int xloc, int yloc, char *fmt, ... ); int huge detectVESA(void); /* *** here we go *** */ int main() { Initialize(); /* Initialize Graphics mode */ setfillstyle(1,245); bar(0,0,getmaxx(),getmaxy()); Report(); /* Tell the world what we found */ MouseInit(); setcolor (124); MShowCursor(); line (100,100,800,800); setcolor(150); // Pause(); /* Give em a change to see it */ getch(); MouseClose(); closegraph(); /* Go home */ return(0); } // ************************************************************************ // ************************************************************************ // FUNCIONES DEL PROGRAMA // ************************************************************************// ************************************************************************// ************************************************************************ // ************************************************************************ int huge detectVESA(void) { return(2); } /* Initialize the graphics system and report any errors occur. */ void Initialize(void) { GraphDriver = installuserdriver("bgi256v2",detectVESA); if (grOk != graphresult() ) { printf("Error installing VESA driver"); exit(1); } GraphDriver = DETECT; initgraph( &GraphDriver, &GraphMode, "c:\\c\\bgi" ); ErrorCode = graphresult(); if (ErrorCode != grOk) /* Check if error occured */ { printf(" Graphics System Error: %s\n",grapherrormsg(ErrorCode)); exit(1); } } void Report(void) { char *driver, *mode; driver = getdrivername(); mode = getmodename(GraphMode); gprintf(10,10,"Graphics device : %-20s (%d)",driver,GraphDriver); gprintf(10,20,"Graphics mode : %-20s (%d)",mode,GraphMode); gprintf(10,30,"Screen resolution : %d x %d",getmaxx(),getmaxy()); gprintf(10,40,"Colors available : %d",getmaxcolor()+1); } /*GPRINTF: Used like PRINTF except the output is sent to the */ /*screen in graphics mode at the specified co-ordinate. */ int gprintf( int xloc, int yloc, char *fmt, ... ) { va_list argptr; /* Argument list pointer */ char str[140]; /* Buffer to build sting into */ int cnt; /* Result of SPRINTF for return */ va_start( argptr, format ); /* Initialize va_ functions */ cnt = vsprintf( str, fmt, argptr ); /* prints string to buffer */ outtextxy( xloc, yloc, str ); /* Send string in graphics mode */ yloc += textheight( "H" ) + 2; /* Advance to next line */ va_end( argptr ); /* Close va_ functions */ return( cnt ); /* Return the conversion count */ }