home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************
- * pcw.h - File di definizioni per PcWindow *
- * da includere in tutti i programmi *
- * *
- * (c) 1987,1988,1989 by Pasquale Cantiello *
- * *
- * *
- * Versione 1.31 del 7 - Aprile - 1989 *
- * *
- ************************************************************************/
-
-
-
-
- /* Dichiarazioni di tipo */
-
- typedef unsigned char BOOLEAN;
- typedef char ATTR;
-
-
-
- #ifndef FALSE
- #define FALSE 0
- #define TRUE 1
- #endif
-
- #define NULLATT (ATTR)0
-
-
-
- /* Versione programma */
-
- #define __PCW__ 131
-
-
- /* Valori di ritorno */
-
- #define OK 0
- #define ILLPAR -1
- #define NOTDEF -2
- #define WINOPN -3
- #define ALRDEF -4
- #define NOWIND -5
- #define OUTMEM -6
-
-
-
- /* Tipi di bordo */
-
-
- #define LT_SINGLE (unsigned int)0
- #define LT_DOUBLE (unsigned int)1
- #define NO_BORDER (unsigned int)2
-
-
- /* Effetti */
-
-
- #define ISTANT (unsigned int)0
- #define FADE (unsigned int)1
- #define FADEUP (unsigned int)2
- #define FADEDOWN (unsigned int)3
- #define FADELEFT (unsigned int)4
- #define FADERIGHT (unsigned int)5
- #define FADEHORIZ (unsigned int)6
- #define FADEVERT (unsigned int)7
-
-
-
- /* Direzioni */
-
-
- #define UP (unsigned int)0
- #define DOWN (unsigned int)1
- #define LEFT (unsigned int)2
- #define RIGHT (unsigned int)3
- #define HORIZ (unsigned int)4
- #define VERT (unsigned int)5
- #define BOTH (unsigned int)6
-
-
-
- /* Operazioni */
-
- #define ENLARGE (unsigned int)0
- #define RESTRICT (unsigned int)1
-
-
-
- /* Formattazione */
-
- #define ALIGN_CENTER (unsigned int)100
- #define ALIGN_CENTER_VIEW (unsigned int)101
- #define ALIGN_BEGIN (unsigned int)102
- #define ALIGN_BEGIN_VIEW (unsigned int)103
- #define ALIGN_END (unsigned int)104
- #define ALIGN_END_VIEW (unsigned int)105
-
-
-
- /* Velocita' */
-
- #define VERYFAST (unsigned int)0
- #define FAST (unsigned int)1
- #define SLOW (unsigned int)2
- #define NOSYNC (unsigned int)9
-
-
-
- /* Tipi di input */
-
- #define IT_ALFANUM (unsigned int)0
- #define IT_ALFAB (unsigned int)1
- #define IT_ALFABUPP (unsigned int)2
- #define IT_INTEGER (unsigned int)3
- #define IT_DATE (unsigned int)4
- #define IT_LOGICAL (unsigned int)5
- #define IT_ALFANUPP (unsigned int)6
- #define IT_REAL (unsigned int)7
- #define IT_HOUR (unsigned int)8
- #define IT_HEX (unsigned int)9
- #define IT_FIXED1 (unsigned int)11
- #define IT_FIXED2 (unsigned int)12
- #define IT_FIXED3 (unsigned int)13
- #define IT_CODE (unsigned int)19
-
-
-
- /* Caratteri per il riempimento del campo di input */
-
- #define BLANK (char)32
- #define POINT (char)46
- #define UNDERLINE (char)95
- #define STAR (char)42
- #define DIAMOND (char)4
- #define BLOCK (char)254
-
-
- /* Modi per il flag di input */
-
- #define INP (unsigned int)0
- #define VIS (unsigned int)1
-
-
- /* Modalita' di esecuzione dell'input */
-
- #define NORMAL (unsigned int)0
- #define FKEYS (unsigned int)1
- #define ALL (unsigned int)2
- #define CURS (unsigned int)3
-
-
- /* Valori di status per la funzione input */
-
- #define IN_RET 0
- #define IN_CRU -10
- #define IN_CRD -11
- #define IN_CPU -12
- #define IN_CPD -13
- #define IN_ESC -14
- #define IN_CCPU -15
- #define IN_CCPD -16
- #define IN_TAB -17
- #define IN_SHTAB -18
- #define IN_FKEY 0
- #define IN_SHFKEY 10
- #define IN_CTRLFKEY 20
- #define IN_ALTFKEY 30
-
-
- /* attributi video */
-
- #define BLACK 0
- #define BLUE 1
- #define GREEN 2
- #define CYAN 3
- #define RED 4
- #define MAGENTA 5
- #define YELLOW 6
- #define WHITE 7
-
- #define NORMAL (unsigned int)0
- #define HILIGHT (unsigned int)1
-
- #define STEADY 0
- #define BLINK 1
-
-
- /* Tipi di CPU */
-
- #define CPU_UNKNOWN 0x000
- #define CPU_8088 0x088
- #define CPU_8086 0x086
- #define CPU_V20 0x020
- #define CPU_V30 0x030
- #define CPU_80188 0x188
- #define CPU_80186 0x186
- #define CPU_80286 0x286
- #define CPU_80386 0x386
-
-
- /* Tipi di scheda video */
-
-
- #define VIDEO_UNKNOWN 0
- #define VIDEO_MONO 1
- #define VIDEO_HERC 2
- #define VIDEO_CGA 3
- #define VIDEO_EGA 4
- #define VIDEO_MCGA 5
- #define VIDEO_VGA 6
-
-
-
-
-
-
- /* prepara l'attributo */
- #define attrib(FO,HI,BA,BL) (ATTR)((FO)+(HI)*8+(BA)*16+(BL)*128)
-
- /* Reverse attributo */
- #define reverse(att) (ATTR)((((att)>>4)&7)+((att)&8)+((att)&7)*16+((att)&128))
-
-
-
- /* Definizioni per il PCM */
-
- /* Tipi di menu */
-
- #define SIMPLE (unsigned int)0
- #define ONELINE (unsigned int)1
- #define BORDER (unsigned int)2
-
- #define NOCHAR (char)0
-
-
-
- /* definizioni per flag */
-
- #define OFF (unsigned int)0
- #define ON (unsigned int)1
-
-
-
- #define Pcw_beep() Pcw_tone(1200, 120)
-
-
- /* Prototipi delle funzioni per il type checking */
-
-
- int Pcw_init(unsigned int, unsigned int, unsigned int);
- int Pcw_define(unsigned int, unsigned int, unsigned int, unsigned int, ATTR,
- ATTR, ATTR, unsigned int, unsigned int, char *);
- int Pcw_undef(unsigned int);
- int Pcw_open(unsigned int, unsigned int);
- int Pcw_open_pos(unsigned int, unsigned int, unsigned int, unsigned int);
- int Pcw_printat(unsigned int, unsigned int, unsigned int, char, ATTR,
- unsigned int);
- int Pcw_sprintat(unsigned int, unsigned int, unsigned int, char *, ATTR);
- int Pcw_cls(unsigned int, ATTR);
- void Pcw_clear_screen(ATTR);
- int Pcw_close(unsigned int);
- int Pcw_move_abs(unsigned int, unsigned int, unsigned int);
- int Pcw_move_rel(unsigned int, unsigned int, unsigned int);
- int Pcw_scroll(unsigned int, unsigned int, unsigned int, unsigned int);
- int Pcw_set_view(unsigned int, unsigned int, unsigned int);
- int Pcw_size(unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int);
- int Pcw_how_many_windows(void);
- int Pcw_which_window(void);
- int Pcw_version(void);
- int Pcw_copyright(unsigned int);
- int Pcw_set_speed(unsigned int);
- void Pcw_no_flick(void);
- int Pcw_cursor(unsigned int);
- int Pcw_cursor_type(unsigned int);
- int Pcw_pos(unsigned int);
- int Pcw_dim(unsigned int);
- int Pcm_init(unsigned int);
- int Pcm_define(unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int, ATTR, ATTR, ATTR, ATTR, ATTR, ATTR, char * *, unsigned int,
- unsigned int, unsigned int, BOOLEAN);
- int Pcm_open(unsigned int);
- int Pcm_enter_menu(char, unsigned int);
- int Pcm_close(void);
- int Pcw_set_input_mode(char, ATTR, ATTR, unsigned int);
- int Pcw_set_input_flag(unsigned int);
- int Pcw_input(unsigned int, unsigned int, unsigned int, unsigned int, char *,
- char *);
- int Pcw_first_free(void);
- int Pcw_is_open(unsigned int);
- int Pcw_set_option(char *);
- int Pcw_cpu_type(void);
- int Pcw_write_25(char *, ATTR);
- void Pcw_clear_25(void);
- int Pcw_tone(unsigned int, unsigned int);
- int Pcw_video_card(void);
- BOOLEAN Pcw_is_color(void);
- int Pcm_ext_desc(unsigned int, ATTR, char **);
- int Pcm_enable(unsigned int);
- int Pcm_disable(unsigned int);
- int Pcw_make_current(unsigned int);
- char *Pcw_get_date(char *);
- char *Pcw_get_time(char *);
- int Pcw_select(unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int, char **, unsigned int, ATTR, ATTR, ATTR, unsigned int);
- int Pcw_ext_sel(unsigned int, unsigned int, unsigned int, unsigned int,
- unsigned int, ATTR, ATTR, ATTR, unsigned int, char *, BOOLEAN (*)(char *),
- BOOLEAN (*)(char *));
- int Pcw_toggle(unsigned int, unsigned int, BOOLEAN *, char, ATTR, char, ATTR);
-
-
-
- /*
- * Definizioni in uso nelle versioni precedenti: Vanno abilitate compilando
- * con /DOLD_PCW
- */
-
-
- #if defined(OLD_PCW)
-
- #define ALFANUM IT_ALFANUM
- #define ALFAB IT_ALFAB
- #define ALFABUPP IT_ALFABUPP
- #define INTEGER IT_INTEGER
- #define DATA IT_DATE
- #define LOGICAL IT_LOGICAL
- #define ALFANUPP IT_ALFANUPP
- #define REAL IT_REAL
- #define HOUR IT_HOUR
- #define HEX IT_HEX
- #define FIXED1 IT_FIXED1
- #define FIXED2 IT_FIXED2
- #define FIXED3 IT_FIXED3
- #define CODE IT_CODE
- #define FIX STEADY
- #define LIGHT HILIGHT
-
- #endif
-