This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
158
include/conio.h
Normal file
158
include/conio.h
Normal file
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* conio.h
|
||||
*
|
||||
* Ullrich von Bassewitz, 06.08.1998
|
||||
*
|
||||
*
|
||||
* This is the direct console interface for cc65. I do not like the function
|
||||
* names very much, but the first version started as a rewrite of Borlands
|
||||
* conio, and, even if the interface has changed, the names did not.
|
||||
*
|
||||
* The interface does direct screen I/O, so it is fast enough for most
|
||||
* programs. I did not implement text windows, since many applications do
|
||||
* not need them and should not pay for the additional overhead. It should
|
||||
* be easy to add text windows on a higher level if needed,
|
||||
*
|
||||
* Most routines do not check the parameters. This may be unfortunate but is
|
||||
* also related to speed. The coordinates are always 0/0 based.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef _CONIO_H
|
||||
#define _CONIO_H
|
||||
|
||||
|
||||
|
||||
#ifndef _STDARG_H
|
||||
# include <stdarg.h>
|
||||
#endif
|
||||
|
||||
/* Read the CBM file if we're compiling for a CBM machine */
|
||||
#ifdef __CBM__
|
||||
# ifndef _CBM_H
|
||||
# include <cbm.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE2__
|
||||
# ifndef _APPLE2_H
|
||||
# include <apple2.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __ATARI__
|
||||
# ifndef _ATARI_H
|
||||
# include <atari.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Functions */
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
|
||||
void clrscr (void);
|
||||
/* Clear the whole screen and put the cursor into the top left corner */
|
||||
|
||||
unsigned char kbhit (void);
|
||||
/* Return true if there's a key waiting, return false if not */
|
||||
|
||||
void __fastcall__ gotox (unsigned char x);
|
||||
/* Set the cursor to the specified X position, leave the Y position untouched */
|
||||
|
||||
void __fastcall__ gotoy (unsigned char y);
|
||||
/* Set the cursor to the specified Y position, leave the X position untouched */
|
||||
|
||||
void __fastcall__ gotoxy (unsigned char x, unsigned char y);
|
||||
/* Set the cursor to the specified position */
|
||||
|
||||
unsigned char wherex (void);
|
||||
/* Return the X position of the cursor */
|
||||
|
||||
unsigned char wherey (void);
|
||||
/* Return the Y position of the cursor */
|
||||
|
||||
void __fastcall__ cputc (char c);
|
||||
/* Output one character at the current cursor position */
|
||||
|
||||
void __fastcall__ cputcxy (unsigned char x, unsigned char y, char c);
|
||||
/* Same as "gotoxy (x, y); cputc (c);" */
|
||||
|
||||
void __fastcall__ cputs (const char* s);
|
||||
/* Output a NUL terminated string at the current cursor position */
|
||||
|
||||
void __fastcall__ cputsxy (unsigned char x, unsigned char y, const char* s);
|
||||
/* Same as "gotoxy (x, y); puts (s);" */
|
||||
|
||||
int cprintf (const char* format, ...);
|
||||
/* Like printf, but uses direct screen I/O */
|
||||
|
||||
int vcprintf (const char* format, va_list ap);
|
||||
/* Like vprintf, but uses direct screen I/O */
|
||||
|
||||
char cgetc (void);
|
||||
/* Return a character from the keyboard. If there is no character available,
|
||||
* the functions waits until the user does press a key. If cursor is set to
|
||||
* 1 (see below), a blinking cursor is displayed while waiting.
|
||||
*/
|
||||
|
||||
unsigned char __fastcall__ cursor (unsigned char onoff);
|
||||
/* If onoff is 1, a cursor is display when waiting for keyboard input. If
|
||||
* onoff is 0, the cursor is hidden when waiting for keyboard input. The
|
||||
* function returns the old cursor setting.
|
||||
*/
|
||||
|
||||
unsigned char __fastcall__ revers (unsigned char onoff);
|
||||
/* Enable/disable reverse character display. This may not be supported by
|
||||
* the output device. Return the old setting.
|
||||
*/
|
||||
|
||||
unsigned char __fastcall__ textcolor (unsigned char color);
|
||||
/* Set the color for text output. The old color setting is returned. */
|
||||
|
||||
unsigned char __fastcall__ bgcolor (unsigned char color);
|
||||
/* Set the color for the background. The old color setting is returned. */
|
||||
|
||||
unsigned char __fastcall__ bordercolor (unsigned char color);
|
||||
/* Set the color for the border. The old color setting is returned. */
|
||||
|
||||
void __fastcall__ chline (unsigned char length);
|
||||
/* Output a horizontal line with the given length starting at the current
|
||||
* cursor position.
|
||||
*/
|
||||
|
||||
void __fastcall__ chlinexy (unsigned char x, unsigned char y, unsigned char length);
|
||||
/* Same as "gotoxy (x, y); chline (length);" */
|
||||
|
||||
void __fastcall__ cvline (unsigned char length);
|
||||
/* Output a vertical line with the given length at the current cursor
|
||||
* position.
|
||||
*/
|
||||
|
||||
void __fastcall__ cvlinexy (unsigned char x, unsigned char y, unsigned char length);
|
||||
/* Same as "gotoxy (x, y); cvline (length);" */
|
||||
|
||||
void __fastcall__ cclear (unsigned char length);
|
||||
/* Clear part of a line (write length spaces). */
|
||||
|
||||
void __fastcall__ cclearxy (unsigned char x, unsigned char y, unsigned char length);
|
||||
/* Same as "gotoxy (x, y); cclear (length);" */
|
||||
|
||||
void __fastcall__ screensize (unsigned char* x, unsigned char* y);
|
||||
/* Return the current screen size. */
|
||||
|
||||
void __fastcall__ cputhex8 (unsigned char val);
|
||||
void __fastcall__ cputhex16 (unsigned val);
|
||||
/* These shouldn't be here... */
|
||||
|
||||
|
||||
/* End of conio.h */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user