/** ** ram16.c ---- the 32768/65536 color system RAM frame driver ** ** 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. ** ** Contributions by: (See "doc/credits.doc" for details) ** Hartmut Schirmer (hsc@techfak.uni-kiel.de) ** **/ #include "fdrivers/driver16.h" GrFrameDriver _GrFrameDriverRAM16 = { GR_frameRAM16, /* frame mode */ GR_frameUndef, /* compatible RAM frame mode */ FALSE, /* onscreen */ 4, /* scan line width alignment */ 1, /* number of planes */ 16, /* bits per pixel */ #ifdef __TURBOC__ 65520L, /* max plane size the code can handle */ #else 16*16*1024L*1024L, /* max plane size the code can handle */ #endif NULL, readpixel, drawpixel, drawline, drawhline, drawvline, drawblock, drawbitmap, drawpattern, bitblt, NULL, NULL, _GrFrDrvGenericGetIndexedScanline, _GrFrDrvGenericPutScanline }; /* some systems map LFB in normal user space (eg. Linux/svgalib) */ /* near pointer stuff is equal to ram stuff :) */ #ifdef LFB_BY_NEAR_POINTER /* always do RAM to RAM blit. May result in ** ** bottom first blits but this shouldn't matter */ GrFrameDriver _GrFrameDriverSVGA16_LFB = { GR_frameSVGA16_LFB, /* frame mode */ GR_frameRAM16, /* compatible RAM frame mode */ TRUE, /* onscreen */ 4, /* scan line width alignment */ 1, /* number of planes */ 16, /* bits per pixel */ 16*16*1024L*1024L, /* max plane size the code can handle */ NULL, readpixel, drawpixel, drawline, drawhline, drawvline, drawblock, drawbitmap, drawpattern, bitblt, bitblt, bitblt, _GrFrDrvGenericGetIndexedScanline, _GrFrDrvGenericPutScanline }; #endif