|
16 | 16 | #include "common/keymap.h" |
17 | 17 | #include "common/inet.h" |
18 | 18 |
|
19 | | -#ifdef __MINGW32__ |
20 | | -#define usleep(s) Sleep((DWORD)((s+500)/1000)) |
21 | | -#endif |
22 | | - |
23 | 19 | /** |
24 | 20 | * initialize all drivers |
25 | 21 | */ |
@@ -75,236 +71,13 @@ int dev_events(int wait_flag) { |
75 | 71 | return osd_events(wait_flag); |
76 | 72 | } |
77 | 73 |
|
78 | | -#ifndef IMPL_DEV_DELAY |
79 | | - |
80 | | -/** |
81 | | - * delay for a specified amount of milliseconds |
82 | | - */ |
83 | | -void dev_delay(uint32_t ms) { |
84 | | -#if defined(_Win32) |
85 | | - Sleep(ms); |
86 | | -#elif defined(_DOS) |
87 | | - delay(ms); |
88 | | -#else // Unix |
89 | | - usleep(ms * 1000); |
90 | | -#endif |
91 | | -} |
92 | | -#endif |
93 | | - |
94 | | -#if defined(BUILD_CONSOLE) |
95 | | - |
96 | | -/** |
97 | | - * return the character (multibyte charsets support) |
98 | | - */ |
99 | | -int dev_input_char2str(int ch, byte * cstr) { |
100 | | - memset(cstr, 0, 3); |
101 | | - |
102 | | - switch (os_charset) { |
103 | | - case enc_sjis: // Japan |
104 | | - if (IsJISFont(ch)) { |
105 | | - cstr[0] = ch >> 8; |
106 | | - } |
107 | | - cstr[1] = ch & 0xFF; |
108 | | - break; |
109 | | - case enc_big5: // China/Taiwan (there is another charset for |
110 | | - // China but I don't know the difference) |
111 | | - if (IsBig5Font(ch)) { |
112 | | - cstr[0] = ch >> 8; |
113 | | - } |
114 | | - cstr[1] = ch & 0xFF; |
115 | | - break; |
116 | | - case enc_gmb: // Generic multibyte |
117 | | - if (IsGMBFont(ch)) { |
118 | | - cstr[0] = ch >> 8; |
119 | | - } |
120 | | - cstr[1] = ch & 0xFF; |
121 | | - break; |
122 | | - case enc_unicode: // Unicode |
123 | | - cstr[0] = ch >> 8; |
124 | | - cstr[1] = ch & 0xFF; |
125 | | - break; |
126 | | - default: |
127 | | - cstr[0] = ch; |
128 | | - }; |
129 | | - return strlen((char *)cstr); |
130 | | -} |
131 | | - |
132 | | -/** |
133 | | - * return the character size at pos! (multibyte charsets support) |
134 | | - */ |
135 | | -int dev_input_count_char(byte *buf, int pos) { |
136 | | - int count, ch; |
137 | | - byte cstr[3]; |
138 | | - |
139 | | - if (os_charset != enc_utf8) { |
140 | | - ch = buf[0]; |
141 | | - ch = ch << 8; |
142 | | - ch = ch + buf[1]; |
143 | | - count = dev_input_char2str(ch, cstr); |
144 | | - } else { |
145 | | - count = 1; |
146 | | - } |
147 | | - return count; |
148 | | -} |
149 | | - |
150 | | -/** |
151 | | - * stores a character at 'pos' position |
152 | | - */ |
153 | | -int dev_input_insert_char(int ch, char *dest, int pos, int replace_mode) { |
154 | | - byte cstr[3]; |
155 | | - int count, remain; |
156 | | - char *buf; |
157 | | - |
158 | | - count = dev_input_char2str(ch, cstr); |
159 | | - |
160 | | - // store character into buffer |
161 | | - if (replace_mode) { |
162 | | - // overwrite mode |
163 | | - remain = strlen((dest + pos)); |
164 | | - buf = malloc(remain + 1); |
165 | | - strcpy(buf, dest + pos); |
166 | | - memcpy(dest + pos, cstr, count); |
167 | | - dest[pos + count] = '\0'; |
168 | | - |
169 | | - if (os_charset != enc_utf8) { |
170 | | - count = dev_input_char2str(((buf[0] << 8) | buf[1]), cstr); |
171 | | - } else { |
172 | | - count = 1; |
173 | | - } |
174 | | - if (buf[0]) { // not a '\0' |
175 | | - strcat(dest, (buf + count)); |
176 | | - } |
177 | | - free(buf); |
178 | | - } else { |
179 | | - // insert mode |
180 | | - remain = strlen((dest + pos)); |
181 | | - buf = malloc(remain + 1); |
182 | | - strcpy(buf, dest + pos); |
183 | | - memcpy(dest + pos, cstr, count); |
184 | | - dest[pos + count] = '\0'; |
185 | | - strcat(dest, buf); |
186 | | - free(buf); |
187 | | - } |
188 | | - |
189 | | - return count; |
190 | | -} |
191 | | - |
192 | | -/** |
193 | | - * removes the character at 'pos' position |
194 | | - */ |
195 | | -int dev_input_remove_char(char *dest, int pos) { |
196 | | - byte cstr[3]; |
197 | | - int count, remain; |
198 | | - char *buf; |
199 | | - |
200 | | - if (dest[pos]) { |
201 | | - if (os_charset != enc_utf8) { |
202 | | - count = dev_input_char2str(((dest[pos] << 8) | dest[pos + 1]), cstr); |
203 | | - } else { |
204 | | - count = 1; |
205 | | - } |
206 | | - remain = strlen((dest + pos + 1)); |
207 | | - buf = malloc(remain + 1); |
208 | | - strcpy(buf, dest + pos + count); |
209 | | - |
210 | | - dest[pos] = '\0'; |
211 | | - strcat(dest, buf); |
212 | | - free(buf); |
213 | | - return count; |
214 | | - } |
215 | | - return 0; |
216 | | -} |
217 | | - |
218 | | -/** |
219 | | - * gets a string (INPUT) |
220 | | - */ |
221 | | -char *dev_gets(char *dest, int size) { |
222 | | - long int ch = 0; |
223 | | - uint16_t pos, len = 0; |
224 | | - int replace_mode = 0; |
225 | | - |
226 | | - *dest = '\0'; |
227 | | - pos = 0; |
228 | | - do { |
229 | | - len = strlen(dest); |
230 | | - ch = fgetc(stdin); |
231 | | - switch (ch) { |
232 | | - case -1: |
233 | | - case -2: |
234 | | - case 0xFFFF: |
235 | | - dest[pos] = '\0'; |
236 | | - return dest; |
237 | | - case 0: |
238 | | - case 10: |
239 | | - case 13: // ignore |
240 | | - break; |
241 | | - case SB_KEY_HOME: |
242 | | - pos = 0; |
243 | | - break; |
244 | | - case SB_KEY_END: |
245 | | - pos = len; |
246 | | - break; |
247 | | - case SB_KEY_BACKSPACE: // backspace |
248 | | - if (pos > 0) { |
249 | | - pos -= dev_input_remove_char(dest, pos - 1); |
250 | | - len = strlen(dest); |
251 | | - } else { |
252 | | - dev_beep(); |
253 | | - } |
254 | | - break; |
255 | | - case SB_KEY_DELETE: // delete |
256 | | - if (pos < len) { |
257 | | - dev_input_remove_char(dest, pos); |
258 | | - len = strlen(dest); |
259 | | - } else |
260 | | - dev_beep(); |
261 | | - break; |
262 | | - case SB_KEY_INSERT: |
263 | | - replace_mode = !replace_mode; |
264 | | - break; |
265 | | - case SB_KEY_LEFT: |
266 | | - if (pos > 0) { |
267 | | - pos -= dev_input_count_char((byte *)dest, pos); |
268 | | - } else { |
269 | | - dev_beep(); |
270 | | - } |
271 | | - break; |
272 | | - case SB_KEY_RIGHT: |
273 | | - if (pos < len) { |
274 | | - pos += dev_input_count_char((byte *)dest, pos); |
275 | | - } else { |
276 | | - dev_beep(); |
277 | | - } |
278 | | - break; |
279 | | - default: |
280 | | - if ((ch & 0xFF00) != 0xFF00) { // Not an hardware key |
281 | | - pos += dev_input_insert_char(ch, dest, pos, replace_mode); |
282 | | - } else { |
283 | | - ch = 0; |
284 | | - } |
285 | | - // check the size |
286 | | - len = strlen(dest); |
287 | | - if (len >= (size - 2)) { |
288 | | - break; |
289 | | - } |
290 | | - } |
291 | | - } while (ch != '\n' && ch != '\r'); |
292 | | - dest[len] = '\0'; |
293 | | - dev_print(dest); |
294 | | - return dest; |
295 | | -} |
296 | | - |
297 | | -#endif // #if defined BUILD_CONSOLE |
298 | | - |
299 | 74 | /** |
300 | 75 | * BEEP |
301 | 76 | */ |
302 | 77 | void dev_beep() { |
303 | | -#if !defined(BUILD_CONSOLE) |
304 | 78 | if (!opt_mute_audio) { |
305 | 79 | osd_beep(); |
306 | 80 | } |
307 | | -#endif |
308 | 81 | } |
309 | 82 |
|
310 | 83 | /** |
@@ -385,12 +158,6 @@ void log_printf(const char *format, ...) { |
385 | 158 | } |
386 | 159 | } |
387 | 160 |
|
388 | | -#if defined(BUILD_CONSOLE) |
389 | | -void v_create_form(var_p_t var) {} |
390 | | -void v_create_window(var_p_t var) {} |
391 | | -void dev_show_page() {} |
392 | | -#endif |
393 | | - |
394 | 161 | #if !defined(_SDL) |
395 | 162 | void dev_trace_line(int lineNo) { |
396 | 163 | dev_printf("<%d>", lineNo); |
|
0 commit comments