home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Updates / DigitalCD / !DigitalCD / Copy / PowerBars / h / Event < prev    next >
Text File  |  1999-01-02  |  5KB  |  288 lines

  1. #ifndef __Event__H
  2. #define __Event__H
  3.  
  4. #include "Coords.h"
  5.  
  6. typedef struct
  7. {
  8.     ScreenPos    pos;
  9.     int        height;
  10.     int        index;
  11. } CCaret;
  12.  
  13. typedef enum
  14. {
  15.     EEvent_Null        = 0,
  16.     EEvent_WindowRedraw    = 1,
  17.     EEvent_WindowOpen    = 2,
  18.     EEvent_WindowClose    = 3,
  19.     EEvent_WindowPtrLeave    = 4,
  20.     EEvent_WindowPtrEnter    = 5,
  21.     EEvent_Mouse        = 6,
  22.     EEvent_Drag        = 7,
  23.     EEvent_Key        = 8,
  24.     EEvent_Menu        = 9,
  25.     EEvent_WindowScroll    = 10,
  26.     EEvent_WindowLoseCaret    = 11,
  27.     EEvent_WindowGainCaret    = 12,
  28.     EEvent_PollWord        = 13,
  29.     EEvent_Message        = 17,
  30.     EEvent_MessageWantAck    = 18,
  31.     EEvent_MessageAck    = 19
  32. } EEventType;
  33.  
  34. typedef enum
  35. {
  36.     EMsg_Quit            = 0,
  37.     EMsg_DataSave            = 1,
  38.     EMsg_DataSaveAck        = 2,
  39.     EMsg_DataLoad            = 3,
  40.     EMsg_DataLoadAck        = 4,
  41.     EMsg_DataOpen            = 5,
  42.     EMsg_RAMFetch            = 6,
  43.     EMsg_RAMTransmit        = 7,
  44.     EMsg_PreQuit            = 8,
  45.     EMsg_PaletteChange        = 9,
  46.     EMsg_SaveDesktop        = 10,
  47.     EMsg_DeviceClaim        = 11,
  48.     EMsg_DeviceInUse        = 12,
  49.     EMsg_DataSaved            = 13,
  50.     EMsg_Shutdown            = 14,
  51.     EMsg_ClaimEntity        = 15, /* Clipboard */
  52.     EMsg_DataRequest        = 16, /* from Clipboard */
  53.     EMsg_Dragging            = 17,
  54.     EMsg_DragClaim            = 18,
  55.     EMsg_FilerOpenDir        = 0x400,
  56.     EMsg_FilerCloseDir        = 0x401,
  57.     EMsg_FilerOpenDirAt        = 0x402,
  58.     EMsg_FilerSelectionDirectory    = 0x403,
  59.     EMsg_FilerAddSelection        = 0x404,
  60.     EMsg_FilerAction        = 0x405,
  61.     EMsg_FilercontrolAction        = 0x406,
  62.     EMsg_FilerSelection        = 0x407,
  63.     EMsg_AlarmSet            = 0x500,
  64.     EMsg_AlarmGoneOff        = 0x501,
  65.     EMsg_HelpRequest        = 0x502,
  66.     EMsg_HelpReply            = 0x503,
  67.     EMsg_Notify            = 0x40040,
  68.     EMsg_MenuWarning        = 0x400c0,
  69.     EMsg_ModeChange            = 0x400c1,
  70.     EMsg_TaskInitialise        = 0x400c2,
  71.     EMsg_TaskCloseDown        = 0x400c3,
  72.     EMsg_SlotSize            = 0x400c4,
  73.     EMsg_SetSlot            = 0x400c5,
  74.     EMsg_TaskNameRq            = 0x400c6,
  75.     EMsg_TaskNameIs            = 0x400c7,
  76.     EMsg_TaskStarted        = 0x400c8,
  77.     EMsg_MenusDeleted        = 0x400c9,
  78.     EMsg_Iconize            = 0x400ca,
  79.     EMsg_WindowClosed        = 0x400cb,
  80.     EMsg_WindowInf            = 0x400cc,
  81.     EMsg_FontChanged        = 0x400cf,
  82.     EMsg_PrintFile            = 0x80140,
  83.     EMsg_WillPrint            = 0x80141,
  84.     EMsg_PrintSave            = 0x80142,
  85.     EMsg_PrintInit            = 0x80143,
  86.     EMsg_PrintError            = 0x80144,
  87.     EMsg_PrintTypeOdd        = 0x80145,
  88.     EMsg_PrintTypeKnown        = 0x80146,
  89.     EMsg_SetPrinter            = 0x80147,
  90.     EMsg_PSPrinterQuery        = 0x8014c,
  91.     EMsg_PSPrinterAck        = 0x8014d,
  92.     EMsg_PSPrinterModified        = 0x8014e,
  93.     EMsg_PSPrinterDefaults        = 0x8014f,
  94.     EMsg_PSPrinterDefaulted        = 0x80150,
  95.     EMsg_PSPrinterNotPS        = 0x80151,
  96.     EMsg_ResetPrinter        = 0x80152,
  97.     EMsg_PSIsFontPrintRunning    = 0x80153,
  98.     EMsg_TaskWindow_Input        = 0x808c0,
  99.     EMsg_TaskWindow_Output        = 0x808c1,
  100.     EMsg_TaskWindow_Ego        = 0x808c2,
  101.     EMsg_TaskWindow_Morio        = 0x808c3,
  102.     EMsg_TaskWindow_Morite        = 0x808c4,
  103.     EMsg_TaskWindow_NewTask        = 0x808c5,
  104.     EMsg_TaskWindow_Suspend        = 0x808c6,
  105.     EMsg_TaskWindow_Resume        = 0x808c7
  106. } EMsgType;
  107.  
  108. typedef struct
  109. {
  110.     int        e;
  111.     const void*    pdata;
  112. } CEvent;
  113.  
  114. typedef bool (*event_handler)(const CEvent* pe, void *handle);
  115.  
  116. typedef struct
  117. {
  118.     CCaret    caret;
  119.     int    code;
  120. } Event_Key;
  121.  
  122. typedef struct
  123. {
  124.     HWind        w;
  125.     CRect        box;
  126.     int        scx;
  127.     int        scy;
  128.     HWind        behind;
  129.     int        dx;
  130.     int        dy;
  131. } Event_WindowScroll;
  132.  
  133. typedef struct
  134. {
  135.     int    size;
  136.     HTask    task;
  137.     int    id;
  138.     int    ref;
  139.     int    action;
  140. } Msg_Hdr;
  141.  
  142. typedef struct
  143. {
  144.     Msg_Hdr    hdr;
  145.     union
  146.     {
  147.         char    chars[236];
  148.         int    words[59];
  149.     } data;
  150. } Msg;
  151.  
  152. typedef struct
  153. {
  154.     Msg_Hdr    hdr;
  155.     void*    submenu;
  156.     int    x;
  157.     int    y;
  158.     int    item[55];
  159. } Msg_MenuWarning;
  160.  
  161. typedef struct
  162. {
  163.     Msg_Hdr    hdr;
  164.     void*    menu;
  165. } Msg_MenusDeleted;
  166.  
  167. typedef struct
  168. {
  169.     Msg_Hdr    hdr;
  170.     Mouse    m;
  171. } Msg_HelpRequest;
  172.  
  173. typedef struct
  174. {
  175.     Msg_Hdr    hdr;
  176.     char    text[236];
  177. } Msg_HelpReply;
  178.  
  179. typedef struct
  180. {
  181.     Msg_Hdr    hdr;
  182.     int    file;
  183. } Msg_SaveDesktop;
  184.  
  185. typedef struct
  186. {
  187.     Msg_Hdr        hdr;
  188.     ScreenPos    pos;
  189.     int        size;
  190.     file_type    type;
  191.     char        name[212];
  192. } Msg_FileData;
  193.  
  194. typedef struct
  195. {
  196.     Msg_Hdr    hdr;
  197.     void*    buffer;
  198.     int    len;
  199. } Msg_RAMData;
  200.  
  201. typedef struct
  202. {
  203.     Msg_Hdr    hdr;
  204.     HWind    w;
  205.     HTask    t;
  206.     char    title[20];
  207. } Msg_Iconize;
  208.  
  209. typedef struct
  210. {
  211.     Msg_Hdr    hdr;
  212.     HWind    w;
  213. } Msg_WindowClosed;
  214.  
  215. typedef struct
  216. {
  217.     Msg_Hdr    hdr;
  218.     HWind    w;
  219.     char    sprite[8];
  220.     char    title[20];
  221. } Msg_WindowInf;
  222.  
  223. typedef struct
  224. {
  225.     Msg_Hdr    hdr;
  226.     int    font;
  227. } Msg_FontChanged;
  228.  
  229. typedef struct
  230. {
  231.     Msg_Hdr        hdr;
  232.     ScreenPos    pos;
  233.     int        flags;
  234.     CRect        box;
  235.     file_type    types[50];
  236. } Msg_Dragging;
  237.  
  238. typedef struct
  239. {
  240.     Msg_Hdr        hdr;
  241.     int        flags;
  242.     file_type    types[58];
  243. } Msg_DragClaim;
  244.  
  245. typedef enum
  246. {
  247.     EEntity_Caret        = 1,
  248.     EEntity_Selection    = 2,
  249.     EEntity_Clipboard    = 4
  250. } EEntity;
  251.  
  252. typedef struct
  253. {
  254.     Msg_Hdr        hdr;
  255.     int        flags;
  256. } Msg_ClaimEntity;
  257.  
  258. typedef struct
  259. {
  260.     Msg_Hdr        hdr;
  261.     ScreenPos    pos;
  262.     int        flags;
  263.     file_type    types[54];
  264. } Msg_DataRequest;
  265.  
  266. typedef struct
  267. {
  268.     Msg_Hdr        hdr;
  269.     int        fs;
  270.     int        flags;
  271.     char        name[228];
  272. } Msg_FilerOpenDir;
  273.  
  274. typedef struct
  275. {
  276.     Msg_Hdr        hdr;
  277.     int        fs;
  278.     int        reserved;
  279.     int        x;
  280.     int        y;
  281.     int        width;
  282.     int        height;
  283.     char        mode;
  284.     char        name[211];
  285. } Msg_FilerOpenDirAt;
  286.  
  287. #endif
  288.