1 #ifndef CLASSES_WINDOW_H
    2 #define CLASSES_WINDOW_H
    3 
    4 /*
    5 	window.class definitions (V45)
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef REACTION_REACTION_H
   11 # include <reaction/reaction.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 /* Attributes specific to window.class */
   18 
   19 #define WINDOW_Dummy               (REACTION_Dummy + 0x25000)
   20 #define WINDOW_Window              (WINDOW_Dummy + 1)
   21 #define WINDOW_SigMask             (WINDOW_Dummy + 2)
   22 #define WINDOW_MenuStrip           (WINDOW_Dummy + 4)
   23 #define WINDOW_Layout              (WINDOW_Dummy + 5)
   24 #define WINDOW_ParentLayout        (WINDOW_Layout)
   25 #define WINDOW_ParentGroup         (WINDOW_Layout)
   26 #define WINDOW_UserData            (WINDOW_Dummy + 6)
   27 #define WINDOW_SharedPort          (WINDOW_Dummy + 7)
   28 #define WINDOW_Zoom                (WINDOW_Dummy + 8)
   29 #define WINDOW_FrontBack           (WINDOW_Dummy + 9)
   30 #define WINDOW_Activate            (WINDOW_Dummy + 10)
   31 #define WINDOW_LockWidth           (WINDOW_Dummy + 11)
   32 #define WINDOW_LockHeight          (WINDOW_Dummy + 12)
   33 #define WINDOW_AppPort             (WINDOW_Dummy + 13)
   34 #define WINDOW_Position            (WINDOW_Dummy + 14)
   35 #define WINDOW_IDCMPHook           (WINDOW_Dummy + 15)
   36 #define WINDOW_IDCMPHookBits       (WINDOW_Dummy + 16)
   37 #define WINDOW_GadgetUserData      (WINDOW_Dummy + 17)
   38 #define WINDOW_InterpretUserData   (WINDOW_GadgetUserData)
   39 #define WINDOW_IconTitle           (WINDOW_Dummy + 18)
   40 #define WINDOW_AppMsgHook          (WINDOW_Dummy + 19)
   41 #define WINDOW_Icon                (WINDOW_Dummy + 20)
   42 #define WINDOW_AppWindow           (WINDOW_Dummy + 21)
   43 #define WINDOW_GadgetHelp          (WINDOW_Dummy + 22)
   44 #define WINDOW_IconifyGadget       (WINDOW_Dummy + 23)
   45 #define WINDOW_TextAttr            (WINDOW_Dummy + 24)
   46 #define WINDOW_MenuUserData        (WINDOW_Dummy + 25)
   47 #define WINDOW_BackFillName        (WINDOW_Dummy + 26)
   48 
   49 #define WINDOW_VertProp            (WINDOW_Dummy + 27)
   50 #define WINDOW_VertObject          (WINDOW_Dummy + 28)
   51 #define WINDOW_HorizProp           (WINDOW_Dummy + 29)
   52 #define WINDOW_HorizObject         (WINDOW_Dummy + 30)
   53 
   54 #define WINDOW_RefWindow           (WINDOW_Dummy + 41)
   55 #define WINDOW_InputEvent          (WINDOW_Dummy + 42)
   56 #define WINDOW_HintInfo            (WINDOW_Dummy + 43)
   57 #define WINDOW_KillWindow          (WINDOW_Dummy + 44)
   58 #define WINDOW_Application         (WINDOW_Dummy + 45)
   59 #define WINDOW_InterpretIDCMPHook  (WINDOW_Dummy + 46)
   60 #define WINDOW_Parent              (WINDOW_Dummy + 47)
   61 #define WINDOW_PreRefreshHook      (WINDOW_Dummy + 48)
   62 #define WINDOW_PostRefreshHook     (WINDOW_Dummy + 49)
   63 #define WINDOW_AppWindowPtr        (WINDOW_Dummy + 50)
   64 
   65 
   66 /* Gadget/MenuItem userdata */
   67 
   68 #define WGUD_HOOK    0
   69 #define WGUD_FUNC    1
   70 #define WGUD_IGNORE  2
   71 
   72 
   73 /* Predefined WM_HANDLEINPUT return codes */
   74 
   75 #define WMHI_LASTMSG              (0L)
   76 #define WMHI_IGNORE              (~0L)
   77 #define WMHI_GADGETMASK       (0xffff)
   78 #define WMHI_MENUMASK         (0xffff)
   79 #define WMHI_KEYMASK            (0xff)
   80 #define WMHI_CLASSMASK    (0xffff0000)
   81 #define WMHI_CLOSEWINDOW       (1<<16)
   82 #define WMHI_GADGETUP          (2<<16)
   83 #define WMHI_INACTIVE          (3<<16)
   84 #define WMHI_ACTIVE            (4<<16)
   85 #define WMHI_NEWSIZE           (5<<16)
   86 #define WMHI_MENUPICK          (6<<16)
   87 #define WMHI_MENUHELP          (7<<16)
   88 #define WMHI_GADGETHELP        (8<<16)
   89 #define WMHI_ICONIFY           (9<<16)
   90 #define WMHI_UNICONIFY        (10<<16)
   91 #define WMHI_RAWKEY           (11<<16)
   92 #define WMHI_VANILLAKEY       (12<<16)
   93 #define WMHI_CHANGEWINDOW     (13<<16)
   94 #define WMHI_INTUITICK        (14<<16)
   95 #define WMHI_MOUSEMOVE        (15<<16)
   96 #define WMHI_MOUSEBUTTONS     (16<<16)
   97 #define WMHI_DISPOSEDWINDOW   (17<<16)
   98 
   99 #define WMF_ZOOMED            (0x0001)
  100 #define WMF_ZIPWINDOW         (0x0002)
  101 
  102 
  103 /* Possible WINDOW_FrontBack values */
  104 
  105 #define WT_FRONT  TRUE
  106 #define WT_BACK  FALSE
  107 
  108 
  109 /* Possible WINDOW_Position values */
  110 
  111 #define WPOS_CENTERSCREEN         (1L)
  112 #define WPOS_CENTERMOUSE          (2L)
  113 #define WPOS_TOPLEFT              (3L)
  114 #define WPOS_CENTERWINDOW         (4L)
  115 #define WPOS_FULLSCREEN           (5L)
  116 
  117 
  118 /* Window methods */
  119 
  120 #define WM_HANDLEINPUT     (0x570001L)
  121 
  122 
  123 struct wmHandle
  124 {
  125 	ULONG  MethodID;
  126 	WORD  *wmh_Code;
  127 };
  128 
  129 
  130 #define WM_OPEN            (0x570002L)
  131 #define WM_CLOSE           (0x570003L)
  132 #define WM_NEWPREFS        (0x570004L)
  133 #define WM_ICONIFY         (0x570005L)
  134 #define WM_RETHINK         (0x570006L)
  135 
  136 
  137 struct HintInfo
  138 {
  139 	WORD    hi_GadgetID;
  140 	WORD    hi_Code;
  141 	STRPTR  hi_Text;
  142 	ULONG   hi_Flags;
  143 };
  144 
  145 
  146 #pragma pack()
  147 
  148 #endif /* CLASSES_WINDOW_H */