1 #ifndef __HEX_MCC_H_ 2 #define __HEX_MCC_H_ 3 4 #ifndef EXEC_TYPES_H 5 #include <exec/types.h> 6 #endif 7 8 #define MUISERIALNR_PTERMC 0xfecf 9 10 #define MUIC_Hex "Hex.mcc" 11 #define HexObject MUI_NewObject(MUIC_Hex 12 13 #define TAGBASE_HEXMCC ((TAG_USER | (MUISERIALNR_PTERMC << 16)) + 20000) 14 15 #define MUIA_Hex_File (TAGBASE_HEXMCC + 1) 16 #define MUIA_Hex_ReadOnly (TAGBASE_HEXMCC + 2) 17 #define MUIA_Hex_HasUndo (TAGBASE_HEXMCC + 3) 18 #define MUIA_Hex_HasRedo (TAGBASE_HEXMCC + 4) 19 #define MUIA_Hex_Modified (TAGBASE_HEXMCC + 5) 20 #define MUIA_Hex_Rows (TAGBASE_HEXMCC + 6) 21 #define MUIA_Hex_FirstRow (TAGBASE_HEXMCC + 8) 22 #define MUIA_Hex_VisibleRows (TAGBASE_HEXMCC + 9) 23 #define MUIA_Hex_CursorSize (TAGBASE_HEXMCC + 10) /* 1/2/4 bytes */ 24 #define MUIA_Hex_Sleep (TAGBASE_HEXMCC + 11) 25 #define MUIA_Hex_MarkChanged (TAGBASE_HEXMCC + 12) 26 #define MUIA_Hex_SelectedAnnotation (TAGBASE_HEXMCC + 13) 27 #define MUIA_Hex_CursorChanged (TAGBASE_HEXMCC + 14) 28 #define MUIA_Hex_Editing (TAGBASE_HEXMCC + 15) 29 30 #define MUIV_Hex_SelectedAnnotation_None -1 31 32 #define MUIM_Hex_Read (TAGBASE_HEXMCC + 1) 33 #define MUIM_Hex_Write (TAGBASE_HEXMCC + 2) 34 35 #define MUIM_Hex_Undo (TAGBASE_HEXMCC + 10) 36 #define MUIM_Hex_Redo (TAGBASE_HEXMCC + 11) 37 #define MUIM_Hex_Apply (TAGBASE_HEXMCC + 12) 38 39 #define MUIM_Hex_Load (TAGBASE_HEXMCC + 20) 40 #define MUIM_Hex_LoadMemory (TAGBASE_HEXMCC + 21) 41 #define MUIM_Hex_LoadAbstract (TAGBASE_HEXMCC + 22) 42 #define MUIM_Hex_AbstractDataChanged (TAGBASE_HEXMCC + 23) 43 44 #define MUIM_Hex_AddAnnotation (TAGBASE_HEXMCC + 30) 45 #define MUIM_Hex_RemoveAnnotation (TAGBASE_HEXMCC + 31) 46 #define MUIM_Hex_RemoveAnnotations (TAGBASE_HEXMCC + 32) 47 #define MUIM_Hex_GetMessageForAnnotation (TAGBASE_HEXMCC + 33) 48 #define MUIM_Hex_ShowAnnotation (TAGBASE_HEXMCC + 34) 49 50 #define MUIM_Hex_GetMarked (TAGBASE_HEXMCC + 50) 51 #define MUIM_Hex_GetCursor (TAGBASE_HEXMCC + 51) 52 #define MUIM_Hex_SetCursor (TAGBASE_HEXMCC + 52) 53 #define MUIM_Hex_GetCursorBytes (TAGBASE_HEXMCC + 53) 54 #define MUIM_Hex_GetLength (TAGBASE_HEXMCC + 54) 55 #define MUIM_Hex_SetMarked (TAGBASE_HEXMCC + 55) 56 #define MUIM_Hex_HitTest (TAGBASE_HEXMCC + 56) 57 58 #define MUIM_Hex_SetVisibleOffset (TAGBASE_HEXMCC + 60) 59 #define MUIM_Hex_GetVisibleOffset (TAGBASE_HEXMCC + 61) 60 61 #define MUIM_Hex_ReadData (TAGBASE_HEXMCC + 62) 62 #define MUIM_Hex_ReadDataCompleted (TAGBASE_HEXMCC + 63) 63 #define MUIM_Hex_ReadDataReply (TAGBASE_HEXMCC + 64) 64 65 #define MUIM_Hex_BeginEditing (TAGBASE_HEXMCC + 65) 66 #define MUIM_Hex_Edit (TAGBASE_HEXMCC + 66) 67 68 struct MUIP_Hex_Read { ULONG MethodID; UQUAD *Offset; ULONG *Output; ULONG Size; }; 69 struct MUIP_Hex_Write { ULONG MethodID; UQUAD *Offset; UBYTE *ModifiedBytes; ULONG Count; }; 70 71 struct MUIP_Hex_Load { ULONG MethodID; CONST_STRPTR file; }; 72 struct MUIP_Hex_LoadMemory { ULONG MethodID; UBYTE *Memory; ULONG Length; ULONG Copy; }; 73 struct MUIP_Hex_LoadAbstract { ULONG MethodID; UQUAD *Length; UQUAD *DisplayOffset; }; 74 struct MUIP_Hex_AbstractDataChanged { ULONG MethodID; UQUAD *Offset; UQUAD *Length; }; 75 76 struct MUIP_Hex_AddAnnotation { ULONG MethodID; UQUAD *Offset; UQUAD *EndOffset; ULONG xRGB; ULONG UniqueID; }; 77 struct MUIP_Hex_RemoveAnnotation { ULONG MethodID; ULONG UniqueID; }; 78 struct MUIP_Hex_GetMessageForAnnotation { ULONG MethodID; ULONG UniqueID; }; 79 struct MUIP_Hex_ShowAnnotation { ULONG MethodID; ULONG UniqueID; }; 80 81 struct MUIP_Hex_GetMarked { ULONG MethodID; UQUAD *Offset; UQUAD *EndOffset; }; 82 struct MUIP_Hex_SetMarked { ULONG MethodID; UQUAD *Offset; UQUAD *EndOffset; ULONG SuppressNotification; }; 83 struct MUIP_Hex_GetCursor { ULONG MethodID; UQUAD *CursorPosition; ULONG *BytesAtCursor; }; 84 struct MUIP_Hex_SetCursor { ULONG MethodID; UQUAD *CursorPosition; ULONG SuppressNotification; }; 85 struct MUIP_Hex_GetCursorBytes { ULONG MethodID; ULONG *BytesAtCursor; ULONG ByteCount; }; 86 struct MUIP_Hex_GetLength { ULONG MethodID; UQUAD *Length; }; 87 struct MUIP_Hex_HitTest { ULONG MethodID; LONG X; LONG Y; UQUAD *Offset; }; 88 89 struct MUIP_Hex_SetVisibleOffset { ULONG MethodID; UQUAD *Offset; ULONG SuppressNotification; }; 90 struct MUIP_Hex_GetVisibleOffset { ULONG MethodID; UQUAD *Offset; }; 91 92 struct MUIP_Hex_ReadData { ULONG MethodID; UQUAD *Offset; UBYTE *Output; ULONG Size; ULONG ReplyMethodID; }; 93 struct MUIP_Hex_ReadDataCompleted { ULONG MethodID; LONG Size; ULONG ReplyMethodID; }; 94 struct MUIP_Hex_ReadDataReply { ULONG MethodID; ULONG Size; }; 95 96 struct MUIP_Hex_Edit { ULONG MethodID; UQUAD *Offset; const UBYTE *Data; ULONG Size; }; 97 98 /* */ 99 100 #endif