#include #include #undef TRUE #undef FALSE #include "curses.h" /* * * Module : acurses.h * * Description : Header file for AMIGA CURSES package. * * Author : Simon Raybould (sie@fulcrum.bt.co.uk) * * Date : 16th February 1990 * */ #define MAXTEXTLEN 80 /* Max text to an output call */ #define SOUNDLENGTH 2 /* Number of bytes in the sound wave */ #define CAPSMASK 0x07 /* leftshift | rightshift | capslock */ #define SHIFTMASK 0x03 /* leftshift | rightshift */ /* * Characters */ #define BS 0x08 /* Backspace */ #define CR 0x0d /* Carriage return */ /* * My Flags. These are global to all windows, not window specific. */ #define CFLAG_CURSOR (1<<0) /* T=Cursor on, F=Cursor off. */ #define CFLAG_CBREAK (1<<1) /* T=cbreak mode, F=nocbreak mode */ #define CFLAG_NLCR (1<<2) /* T=nl to cr mapping, F=no mapping */ #define CFLAG_ECHO (1<<3) /* T=Echo enabled, F=no echo */ #define CFLAG_INITSCR (1<<4) /* T=initscr has been called */ /* * WINDOW flags, these are specific to each window. */ #define CWF_MOVED (1<<0) /* move() has been done on this window */ /* * Buffer size for raw key events. */ #define RAWBUFSIZ 32 /* * Internal structures. */ struct WindowState { unsigned char SubWindow; WINDOW Window; short ScrollTop; short ScrollBot; struct WindowState *Prev; struct WindowState *Next; struct LineElement *FirstLine; }; struct LineElement { unsigned char Touched; /* This line needs refreshing */ char *Line; /* Actual text */ char *LRLine; /* text when last refreshed */ short *ATTRS; /* Attributes */ short *LRATTRS; /* Attributes when last refreshed */ struct LineElement *NextLine; unsigned char StartCol; unsigned char EndCol; };