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 */