convert line ends
[canaan.git] / prj / tech / libsrc / dev2d / mode.c
blob93cc1ebdd0821f6beca8e2802435fbb5b9483e2d
1 /*
2 * $Source: x:/prj/tech/libsrc/dev2d/RCS/mode.c $
3 * $Revision: 1.3 $
4 * $Author: TOML $
5 * $Date: 1996/11/18 12:38:24 $
7 * Mode information tables.
9 * This file is part of the 2d library.
13 #include <grs.h>
14 #include <mode.h>
16 grs_mode_info grd_mode_info[GRD_MODES] = {
17 { GRM_320x200x8, 0x13, 320, 200, 8, 1, 0 },
18 { GRM_320x200x8X, -1, 320, 200, 8, 1, 0 },
19 { GRM_320x400x8, -1, 320, 400, 8, 1, 0 },
20 { GRM_320x240x8, -1, 320, 240, 8, 1, 0 },
21 { GRM_320x480x8, -1, 320, 480, 8, 1, 0 },
23 // Next come the variable vesa modes. We do not know in advance what
24 // the mode numbers are going to be.
26 { GRM_640x350x4, 0x0, 640, 350, 4, 0, 0 },
27 { GRM_640x400x4, 0x0, 640, 400, 4, 0, 0 },
28 { GRM_640x480x4, 0x0, 640, 480, 4, 0, 0 },
29 { GRM_800x600x4, 0x0, 800, 600, 4, 0, 0 },
30 { GRM_1024x768x4, 0x0, 1024, 768, 4, 0, 0 },
31 { GRM_1280x1024x4, 0x0, 1280, 1024, 4, 0, 0 },
32 { GRM_1600x1200x4, 0x0, 1600, 1200, 4, 0, 0 },
34 { GRM_320x200x8S, 0x0, 320, 200, 8, 1, 0 },
35 { GRM_320x240x8S, 0x0, 320, 240, 8, 1, 0 },
36 { GRM_320x400x8S, 0x0, 320, 400, 8, 1, 0 },
37 { GRM_360x200x8, 0x0, 360, 200, 8, 1, 0 },
38 { GRM_360x240x8, 0x0, 360, 240, 8, 1, 0 },
39 { GRM_360x400x8, 0x0, 360, 400, 8, 1, 0 },
40 { GRM_640x350x8, 0x0, 640, 350, 8, 1, 0 },
41 { GRM_640x400x8, 0x0, 640, 400, 8, 1, 0 },
42 { GRM_640x480x8, 0x0, 640, 480, 8, 1, 0 },
43 { GRM_800x600x8, 0x0, 800, 600, 8, 1, 0 },
44 { GRM_1024x768x8, 0x0, 1024, 768, 8, 1, 0 },
45 { GRM_1280x1024x8, 0x0, 1280, 1024, 8, 1, 0 },
46 { GRM_1600x1200x8, 0x0, 1600, 1200, 8, 1, 0 },
48 { GRM_320x200x15, 0x0, 320, 200, 15, 1, 0 },
49 { GRM_320x240x15, 0x0, 320, 240, 15, 1, 0 },
50 { GRM_320x400x15, 0x0, 320, 400, 15, 1, 0 },
51 { GRM_360x200x15, 0x0, 360, 200, 15, 1, 0 },
52 { GRM_360x240x15, 0x0, 360, 240, 15, 1, 0 },
53 { GRM_360x400x15, 0x0, 360, 400, 15, 1, 0 },
54 { GRM_640x350x15, 0x0, 640, 350, 15, 1, 0 },
55 { GRM_640x400x15, 0x0, 640, 400, 15, 1, 0 },
56 { GRM_640x480x15, 0x0, 640, 480, 15, 1, 0 },
57 { GRM_800x600x15, 0x0, 800, 600, 15, 1, 0 },
58 { GRM_1024x768x15, 0x0, 1024, 768, 15, 1, 0 },
59 { GRM_1280x1024x15, 0x0, 1280, 1024, 15, 1, 0 },
60 { GRM_1600x1200x15, 0x0, 1600, 1200, 15, 1, 0 },
62 { GRM_320x200x16, 0x0, 320, 200, 16, 1, 0 },
63 { GRM_320x240x16, 0x0, 320, 240, 16, 1, 0 },
64 { GRM_320x400x16, 0x0, 320, 400, 16, 1, 0 },
65 { GRM_360x200x16, 0x0, 360, 200, 16, 1, 0 },
66 { GRM_360x240x16, 0x0, 360, 240, 16, 1, 0 },
67 { GRM_360x400x16, 0x0, 360, 400, 16, 1, 0 },
68 { GRM_640x350x16, 0x0, 640, 350, 16, 1, 0 },
69 { GRM_640x400x16, 0x0, 640, 400, 16, 1, 0 },
70 { GRM_640x480x16, 0x0, 640, 480, 16, 1, 0 },
71 { GRM_800x600x16, 0x0, 800, 600, 16, 1, 0 },
72 { GRM_1024x768x16, 0x0, 1024, 768, 16, 1, 0 },
73 { GRM_1280x1024x16, 0x0, 1280, 1024, 16, 1, 0 },
74 { GRM_1600x1200x16, 0x0, 1600, 1200, 16, 1, 0 },
76 { GRM_320x200x24, 0x0, 320, 200, 24, 0, 0 },
77 { GRM_320x240x24, 0x0, 320, 240, 24, 0, 0 },
78 { GRM_320x400x24, 0x0, 320, 400, 24, 0, 0 },
79 { GRM_360x200x24, 0x0, 360, 200, 24, 0, 0 },
80 { GRM_360x240x24, 0x0, 360, 240, 24, 0, 0 },
81 { GRM_360x400x24, 0x0, 360, 400, 24, 0, 0 },
82 { GRM_640x350x24, 0x0, 640, 350, 24, 0, 0 },
83 { GRM_640x400x24, 0x0, 640, 400, 24, 0, 0 },
84 { GRM_640x480x24, 0x0, 640, 480, 24, 0, 0 },
85 { GRM_800x600x24, 0x0, 800, 600, 24, 0, 0 },
86 { GRM_1024x768x24, 0x0, 1024, 768, 24, 0, 0 },
87 { GRM_1280x1024x24, 0x0, 1280, 1024, 24, 0, 0 },
88 { GRM_1600x1200x24, 0x0, 1600, 1200, 24, 0, 0 },
90 { GRM_320x200x32, 0x0, 320, 200, 32, 0, 0 },
91 { GRM_320x240x32, 0x0, 320, 240, 32, 0, 0 },
92 { GRM_320x400x32, 0x0, 320, 400, 32, 0, 0 },
93 { GRM_360x200x32, 0x0, 360, 200, 32, 0, 0 },
94 { GRM_360x240x32, 0x0, 360, 240, 32, 0, 0 },
95 { GRM_360x400x32, 0x0, 360, 400, 32, 0, 0 },
96 { GRM_640x350x32, 0x0, 640, 350, 32, 0, 0 },
97 { GRM_640x400x32, 0x0, 640, 400, 32, 0, 0 },
98 { GRM_640x480x32, 0x0, 640, 480, 32, 0, 0 },
99 { GRM_800x600x32, 0x0, 800, 600, 32, 0, 0 },
100 { GRM_1024x768x32, 0x0, 1024, 768, 32, 0, 0 },
101 { GRM_1280x1024x32, 0x0, 1280, 1024, 32, 0, 0 },
102 { GRM_1600x1200x32, 0x0, 1600, 1200, 32, 0, 0 },
104 { GRM_400x300x8, 0x0, 400, 300, 8, 1, 0 },
105 { GRM_512x384x8, 0x0, 512, 384, 8, 1, 0 },
106 { GRM_400x300x15, 0x0, 400, 300, 15, 1, 0 },
107 { GRM_512x384x15, 0x0, 512, 384, 15, 1, 0 },
108 { GRM_400x300x16, 0x0, 400, 300, 16, 1, 0 },
109 { GRM_512x384x16, 0x0, 512, 384, 16, 1, 0 },
110 { GRM_400x300x24, 0x0, 400, 300, 24, 0, 0 },
111 { GRM_512x384x24, 0x0, 512, 384, 24, 0, 0 },
112 { GRM_400x300x32, 0x0, 400, 300, 32, 0, 0 },
113 { GRM_512x384x32, 0x0, 512, 384, 32, 0, 0 },
116 const char * grd_mode_names[GRD_MODES] = {
117 "320x200x8",
118 "320x200x8X",
119 "320x400x8",
120 "320x240x8",
121 "320x480x8",
122 "640x350x4",
123 "640x400x4",
124 "640x480x4",
125 "800x600x4",
126 "1024x768x4",
127 "1280x1024x4",
128 "1600x1200x4",
129 "320x200x8S",
130 "320x240x8S",
131 "320x400x8S",
132 "360x200x8",
133 "360x240x8",
134 "360x400x8",
135 "640x350x8",
136 "640x400x8",
137 "640x480x8",
138 "800x600x8",
139 "1024x768x8",
140 "1280x1024x8",
141 "1600x1200x8",
142 "320x200x15",
143 "320x240x15",
144 "320x400x15",
145 "360x200x15",
146 "360x240x15",
147 "360x400x15",
148 "640x350x15",
149 "640x400x15",
150 "640x480x15",
151 "800x600x15",
152 "1024x768x15",
153 "1280x1024x15",
154 "1600x1200x15",
155 "320x200x16",
156 "320x240x16",
157 "320x400x16",
158 "360x200x16",
159 "360x240x16",
160 "360x400x16",
161 "640x350x16",
162 "640x400x16",
163 "640x480x16",
164 "800x600x16",
165 "1024x768x16",
166 "1280x1024x16",
167 "1600x1200x16",
168 "320x200x24",
169 "320x240x24",
170 "320x400x24",
171 "360x200x24",
172 "360x240x24",
173 "360x400x24",
174 "640x350x24",
175 "640x400x24",
176 "640x480x24",
177 "800x600x24",
178 "1024x768x24",
179 "1280x1024x24",
180 "1600x1200x24",
181 "320x200x32",
182 "320x240x32",
183 "320x400x32",
184 "360x200x32",
185 "360x240x32",
186 "360x400x32",
187 "640x350x32",
188 "640x400x32",
189 "640x480x32",
190 "800x600x32",
191 "1024x768x32",
192 "1280x1024x32",
193 "1600x1200x32",
194 "400x300x8",
195 "512x384x8",
196 "400x300x15",
197 "512x384x15",
198 "400x300x16",
199 "512x384x16",
200 "400x300x24",
201 "512x384x24",
202 "400x300x32",
203 "512x384x32",
207 // Finds the first 2d mode with w,h, and bitdepth. Differs
208 // from gr_find_mode() in that it doesn't care whether the
209 // mode is really supported by the current hardware
210 int gr_mode_from_info(int w, int h, int bitDepth)
212 int i;
213 grs_mode_info *info;
215 for (i = 0, info = grd_mode_info; i < GRD_MODES; i++, info++) {
216 if (info->w==w && info->h==h && info->bitDepth==bitDepth)
217 return i;
219 return -1;
222 // Get a human-readable form of the mode name
223 const char * gr_mode_name(int mode)
225 if (mode < GRD_MODES)
226 return grd_mode_names[mode];
227 return "Unknown";