IFND LIBRARIES_CON_I LIBRARIES_CON_I SET 1 ;================================================================== ;=== Include for "con.library" by BReese ;================================================================== IFND EXEC_LIBRARIES_I INCLUDE 'exec/libraries.i' ENDC IFND INTUITION_INTUITION_I INCLUDE 'intuition/intuition.i' ENDC CONNAME: MACRO ; Name of the Library DC.B 'con.library',0 ENDM CHARDEFSIZE EQU (256+7)/8 ; 256 ASCII Characters IGNOREVALUE EQU -1 ;================================================================== ;=== ConBase ;================================================================== STRUCTURE con_,0 STRUCT con_LibNode,LIB_SIZE ; Library Node APTR con_SegList ; Segment List [from LoadSeg()] APTR con_IntBase ; Intuition Base APTR con_MathBase ; MathFFP Base LABEL con_SIZEOF ;================================================================== ;=== ConHandle ;================================================================== STRUCTURE cnh_,0 APTR cnh_CDBase ; Base of Console Device APTR cnh_Window ; Our Intuition Window APTR cnh_UserPort ; UserPort for Window APTR cnh_Unit ; ConUnit APTR cnh_WriteIO ; Our Write IO Port ULONG cnh_Signal ; SignalSet [for Wait()] UWORD cnh_ExLength ; Extra Space for String Formatting UWORD cnh_CursorStatus ; Current Cursor Status [on/off] UBYTE cnh_PadSpace ; Char for Leading Spaces in Numbers UBYTE cnh_PadZero ; Char for Leading Zeros in Numbers UBYTE cnh_PadGroup ; Char for Group Classifying UBYTE cnh_PadString ; Char for Unused String Positions UBYTE cnh_DecimalPoint ; Char for Decimal Point UBYTE cnh_FloatE ; Char for Floating Point Exponent STRUCT cnh_EchoTable,CHARDEFSIZE ; BitTable of Echo Chars STRUCT cnh_UserNotes,8*4 ; List of Pointers to UserNotes APTR cnh_MsgHandler ; Pointer to a User Message Handler STRUCT cnh_Reserved,4*4 ; Reserved for future use LABEL cnh_SIZEOF ;================================================================== ;=== ConInfo ;================================================================== STRUCTURE cin_,0 UWORD cin_XPos ; Cursor X Position UWORD cin_YPos ; Cursor Y Position UWORD cin_XSize ; Chars per Line UWORD cin_YSize ; Lines in Window UWORD cin_Styles ; Text Styles UWORD cin_FgCol ; Foreground Color UWORD cin_BgCol ; Background Color STRUCT cin_Reserved,4*4 ; Reserved for future use LABEL cin_SIZEOF ;================================================================== ;=== AcceptStructure ;================================================================== STRUCTURE _acc,0 UWORD acc_XStart ; Start X Position UWORD acc_YStart ; Start Y Position UWORD acc_Styles ; Text Styles UWORD acc_FgCol ; Foreground Color UWORD acc_BgCol ; Background Color ULONG acc_ExitFlags ; IDCMP Exit Flags ULONG acc_Class ; Copy of im_Class UWORD acc_Code ; Copy of im_Code UWORD acc_Qualifier ; Copy of im_Qualifier APTR acc_IAddress ; Copy of im_IAddress WORD acc_MouseX ; Copy of im_MouseX WORD acc_MouseY ; Copy of im_MouseY ULONG acc_Seconds ; Copy of im_Seconds ULONG acc_Micros ; Copy of im_Micros APTR acc_IDCMPWindow ; Copy of im_IDCMPWindow UBYTE acc_Char ; ASCII char UBYTE acc_Pad001 ; Nothing serious STRUCT acc_ValidTable,CHARDEFSIZE ; BitTable of Valid Chars STRUCT acc_ExitTable,CHARDEFSIZE ; BitTable of Exit Chars STRUCT acc_Reserved,4*4 ; Reserved for future use LABEL acc_SIZEOF ;--- Extended AcceptString() Structure APTR accs_InputBuffer ; Pointer to Input Buffer APTR accs_WorkBuffer ; Pointer to Work Buffer UWORD accs_MaxLength ; Maximum Length of Text [incl. NULL] UWORD accs_FieldLen ; Length of Input Field [incl. NULL] UWORD accs_Length ; Current Length of Text [excl. NULL] UWORD accs_Position ; Current Position in Text UWORD accs_DispPos ; First Displayed Position in Text STRUCT accs_Reserved,4*4 ; Reserved for future use LABEL accs_SIZEOF ;================================================================== ;=== Codes for DefineChar() ;================================================================== ;=== Modes DEFMODE_ALL EQU 0 DEFMODE_NEW EQU 1 DEFMODE_ADD EQU 2 DEFMODE_REM EQU 3 DEFMODE_GET EQU 4 ;=== Pre-defined Tables DEFALL EQU 0<<17 DEFNONE EQU 1<<17 DEFALFANUM EQU 2<<17 DEFALFA EQU 3<<17 DEFNUMERIC EQU 4<<17 DEFDECIMAL EQU 5<<17 DEFHEX EQU 6<<17 DEFOCTAL EQU 7<<17 DEFBINARY EQU 8<<17 DEFFLOAT EQU 9<<17 ;================================================================== ;=== Codes for Cursor() ;================================================================== CURSOROFF EQU 0 CURSORON EQU 1 ;================================================================== ;=== Codes for Accept() & AcceptString() ;================================================================== ;=== General Flags ACCB_ERASE EQU 31 ACCF_ERASE EQU 1<