|
|
1.1 root 1: /* $Id: vidmodes.h,v 1.10 2005/10/14 06:21:15 deuce Exp $ */
2:
3: /****************************************************************************
4: * @format.tab-size 4 (Plain Text/Source Code File Header) *
5: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
6: * *
7: * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html *
8: * *
9: * This library is free software; you can redistribute it and/or *
10: * modify it under the terms of the GNU Lesser General Public License *
11: * as published by the Free Software Foundation; either version 2 *
12: * of the License, or (at your option) any later version. *
13: * See the GNU Lesser General Public License for more details: lgpl.txt or *
14: * http://www.fsf.org/copyleft/lesser.html *
15: * *
16: * Anonymous FTP access to the most recent released source is available at *
17: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net *
18: * *
19: * Anonymous CVS access to the development source and modification history *
20: * is available at cvs.synchro.net:/cvsroot/sbbs, example: *
21: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login *
22: * (just hit return, no password is necessary) *
23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src *
24: * *
25: * For Synchronet coding style and modification guidelines, see *
26: * http://www.synchro.net/source.html *
27: * *
28: * You are encouraged to submit any modifications (preferably in Unix diff *
29: * format) via e-mail to [email protected] *
30: * *
31: * Note: If this box doesn't appear square, then you need to fix your tabs. *
32: ****************************************************************************/
33:
34: #ifndef _VIDMODES_H_
35: #define _VIDMODES_H_
36:
37: #if (defined CIOLIB_IMPORTS)
38: #undef CIOLIB_IMPORTS
39: #endif
40: #if (defined CIOLIB_EXPORTS)
41: #undef CIOLIB_EXPORTS
42: #endif
43:
44: #include "ciolib.h"
45:
46: struct video_params {
47: int mode;
48: int palette;
49: int cols;
50: int rows;
51: int curs_start;
52: int curs_end;
53: int charheight;
54: int charwidth;
55: };
56:
57: struct video_stats {
58: int rows;
59: int cols;
60: int curs_row;
61: int curs_col;
62: int curs_start;
63: int curs_end;
64: int default_curs_start;
65: int default_curs_end;
66: int mode;
67: int charheight;
68: int charwidth;
69: int blink;
70: int currattr;
71: int scaling;
72: unsigned char *palette;
73: unsigned short *vmem;
74: };
75:
76: /* Entry type for the DAC table. */
77: struct dac_colors {
78: unsigned char red;
79: unsigned char green;
80: unsigned char blue;
81: };
82:
83: enum {
84: MONO_PALETTE
85: ,GREYSCALE_PALETTE
86: ,COLOUR_PALETTE
87: };
88:
89: extern struct video_params vparams[36];
90: #define NUMMODES (sizeof(vparams) / sizeof(struct video_params))
91: extern unsigned char palettes[3][16];
92: extern struct dac_colors dac_default16[16];
93: extern struct dac_colors dac_default256[16];
94: extern char vga_font_bitmap[4096];
95: extern char vga_font_bitmap14[3584];
96: extern char vga_font_bitmap8[2048];
97:
98: #ifdef __cplusplus
99: extern "C" {
100: #endif
101: int find_vmode(int mode);
102: int load_vmode(struct video_stats *vs, int mode);
103: #ifdef __cplusplus
104: }
105: #endif
106:
107: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.