Ignore:
Timestamp:
Aug 2, 2009, 1:09:05 PM (11 years ago)
Author:
Sam Hocevar
Message:

Fix <conio.h> delay(), getch() and kbhit() to avoid busy loops and ensure
frequent screen refreshes.
Implement <conio.h> clreol() (incomplete) and <dos.h> sleep() functions.
Replace some defines with enums in <caca_conio.h>.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/caca/caca_conio.h

    r3592 r3601  
    3939#endif
    4040
    41 /* conio.h defines and global variables */
    42 #define CACA_CONIO_BLINK 128
    43 #define CACA_CONIO_BLACK 0
    44 #define CACA_CONIO_BLUE 1
    45 #define CACA_CONIO_GREEN 2
    46 #define CACA_CONIO_CYAN 3
    47 #define CACA_CONIO_RED 4
    48 #define CACA_CONIO_MAGENTA 5
    49 #define CACA_CONIO_BROWN 6
    50 #define CACA_CONIO_LIGHTGRAY 7
    51 #define CACA_CONIO_DARKGRAY 8
    52 #define CACA_CONIO_LIGHTBLUE 9
    53 #define CACA_CONIO_LIGHTGREEN 10
    54 #define CACA_CONIO_LIGHTCYAN 11
    55 #define CACA_CONIO_LIGHTRED 12
    56 #define CACA_CONIO_LIGHTMAGENTA 13
    57 #define CACA_CONIO_YELLOW 14
    58 #define CACA_CONIO_WHITE 15
     41/* conio.h enums and global variables */
     42enum CACA_CONIO_COLORS
     43{
     44    CACA_CONIO_BLINK = 128,
     45    CACA_CONIO_BLACK = 0,
     46    CACA_CONIO_BLUE = 1,
     47    CACA_CONIO_GREEN = 2,
     48    CACA_CONIO_CYAN = 3,
     49    CACA_CONIO_RED = 4,
     50    CACA_CONIO_MAGENTA = 5,
     51    CACA_CONIO_BROWN = 6,
     52    CACA_CONIO_LIGHTGRAY = 7,
     53    CACA_CONIO_DARKGRAY = 8,
     54    CACA_CONIO_LIGHTBLUE = 9,
     55    CACA_CONIO_LIGHTGREEN = 10,
     56    CACA_CONIO_LIGHTCYAN = 11,
     57    CACA_CONIO_LIGHTRED = 12,
     58    CACA_CONIO_LIGHTMAGENTA = 13,
     59    CACA_CONIO_YELLOW = 14,
     60    CACA_CONIO_WHITE = 15,
     61};
    5962__extern int caca_conio_directvideo;
    60 #define CACA_CONIO__NOCURSOR 0
    61 #define CACA_CONIO__SOLIDCURSOR 1
    62 #define CACA_CONIO__NORMALCURSOR 2
     63enum CACA_CONIO_CURSOR
     64{
     65    CACA_CONIO__NOCURSOR = 0,
     66    CACA_CONIO__SOLIDCURSOR = 1,
     67    CACA_CONIO__NORMALCURSOR = 2,
     68};
    6369struct caca_conio_text_info
    6470{
     
    7682    unsigned char cury;           /* y-coordinate in current window */
    7783};
    78 #define CACA_CONIO_LASTMODE -1
    79 #define CACA_CONIO_BW40 0
    80 #define CACA_CONIO_C40 1
    81 #define CACA_CONIO_BW80 2
    82 #define CACA_CONIO_C80 3
    83 #define CACA_CONIO_MONO 7
    84 #define CACA_CONIO_C4350 64
     84enum CACA_CONIO_MODE
     85{
     86    CACA_CONIO_LASTMODE = -1,
     87    CACA_CONIO_BW40 = 0,
     88    CACA_CONIO_C40 = 1,
     89    CACA_CONIO_BW80 = 2,
     90    CACA_CONIO_C80 = 3,
     91    CACA_CONIO_MONO = 7,
     92    CACA_CONIO_C4350 = 64,
     93};
    8594__extern int caca_conio__wscroll;
    8695
     
    155164__extern int    caca_conio_cputs(const char *str);
    156165__extern int    caca_conio_cscanf(char *format, ...);
    157 __extern void   caca_conio_delay(int);
     166__extern void   caca_conio_delay(unsigned int);
    158167__extern void   caca_conio_delline(void);
    159168__extern int    caca_conio_getch(void);
     
    177186                                   void *destin);
    178187__extern void   caca_conio__setcursortype(int cur_t);
    179 __extern void   caca_conio_sound(int);
     188__extern void   caca_conio_sleep(unsigned int);
     189__extern void   caca_conio_sound(unsigned int);
    180190__extern void   caca_conio_textattr(int newattr);
    181191__extern void   caca_conio_textbackground(int newcolor);
     
    238248#   undef _setcursortype
    239249#   define _setcursortype caca_conio__setcursortype
     250#   undef sleep
     251#   define sleep caca_conio_sleep
    240252#   undef sound
    241253#   define sound caca_conio_sound
Note: See TracChangeset for help on using the changeset viewer.