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