/** ** drvinfo.c ---- the driver info data structure ** ** Copyright (c) 1995 Csaba Biegl, 820 Stirrup Dr, Nashville, TN 37221 ** [e-mail: csaba@vuse.vanderbilt.edu] ** ** This file is part of the GRX graphics library. ** ** The GRX graphics library is free software; you can redistribute it ** and/or modify it under some conditions; see the "copying.grx" file ** for details. ** ** This library is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ** ** 211121 M.Alvarez, added minwgw and minwgh size **/ #include "libgrx.h" #include "grdriver.h" #undef GrDriverInfo static GrColor dummyframefn(void); const struct _GR_driverInfo * const GrDriverInfo = &_GrDriverInfo; struct _GR_driverInfo _GrDriverInfo = { NULL, /* video driver */ &DRVINFO->actmode, /* current video mode pointer */ { /* current video mode struct */ FALSE, /* present */ 4, /* bpp */ 80,25, /* geometry */ 3, /* BIOS mode */ 160, /* lineoffset */ 0, /* private */ #ifdef __MSDOS__ &_GrViDrvEGAVGAtextModeExt /* extended info */ #else NULL #endif }, { /* current frame driver */ GR_frameUndef, /* frame mode */ GR_frameUndef, /* compatible RAM frame mode */ FALSE, /* onscreen */ 1, /* line width alignment */ 1, /* number of planes */ 0, /* bits per pixel */ 0L, /* max plane size the code can handle */ NULL, (GrColor (*)(GrFrame*,int,int)) dummyframefn, (void (*)(int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,char*,int,int,GrColor,GrColor)) dummyframefn, (void (*)(int,int,int,char,GrColor,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn }, { /* screen frame driver */ GR_frameUndef, /* frame mode */ GR_frameUndef, /* compatible RAM frame mode */ FALSE, /* onscreen */ 1, /* line width alignment */ 1, /* number of planes */ 0, /* bits per pixel */ 0L, /* max plane size the code can handle */ NULL, (GrColor (*)(GrFrame*,int,int)) dummyframefn, (void (*)(int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,char*,int,int,GrColor,GrColor)) dummyframefn, (void (*)(int,int,int,char,GrColor,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn }, { /* dummy text mode frame driver */ GR_frameText, /* frame mode */ GR_frameUndef, /* compatible RAM frame mode */ TRUE, /* onscreen */ 1, /* line width alignment */ 1, /* number of planes */ 16, /* bits per pixel */ 0L, /* max plane size the code can handle */ NULL, (GrColor (*)(GrFrame*,int,int)) dummyframefn, (void (*)(int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,GrColor)) dummyframefn, (void (*)(int,int,int,int,char*,int,int,GrColor,GrColor)) dummyframefn, (void (*)(int,int,int,char,GrColor,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn, (void (*)(GrFrame*,int,int,GrFrame*,int,int,int,int,GrColor)) dummyframefn }, GR_default_text, /* current mode code */ 80,25, /* default text size */ 640,480, /* default graphics size */ 16L,16L, /* default txt and gr colors */ 8192,8192, /* bigest graphics size */ 0,0, /* virtual position */ TRUE, /* exit upon errors */ TRUE, /* restore startup mode */ FALSE, /* split banks */ (-1), /* current bank */ NULL, /* mode set hook */ (void (*)(int) )_GrDummyFunction, /* banking func */ (void (*)(int,int))_GrDummyFunction, /* split banking func */ 320,240 /* min window size */ }; static GrColor dummyframefn(void) { if (DRVINFO->errsfatal) { _GrCloseVideoDriver(); fprintf(stderr, "GRX Error: graphics operation attempted %s\n", (DRVINFO->fdriver.mode == GR_frameText) ? "in text mode" : "before mode set" ); exit(1); } return(GrNOCOLOR); } void _GrDummyFunction(void) { return; }