home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.3 / debug / debugger / s / wack / intuition.macros < prev    next >
Text File  |  1992-09-01  |  19KB  |  476 lines

  1. ;intuition.macros V1.10
  2.  
  3. ;INTUITION IntuitionBase structure
  4. (macro IntuitionBase
  5.     (Node (@l (+ (@l 4) 17a)))    ;ExecBase.LibList
  6.     (while (and (!= (strcmp (@l ln_Name) "intuition.library") 0)
  7.       (!= (@l ln_Succ) 0))
  8.     (Node (@l ln_Succ)))
  9.  
  10.     (addsymbol ib_LibNode ln_Succ)
  11.     (addsymbol ib_ViewLord (+ ib_LibNode 22))
  12.     (addsymbol ib_ActiveWindow (+ ib_ViewLord 12))
  13.     (addsymbol ib_ActiveScreen (+ ib_ActiveWindow 4))
  14.     (addsymbol ib_FirstScreen (+ ib_ActiveScreen 4))
  15.     (addsymbol ib_Flags (+ ib_FirstScreen 4))
  16.     (addsymbol ib_MouseY (+ ib_Flags 4))
  17.     (addsymbol ib_MouseX (+ ib_MouseY 2))
  18.     (addsymbol ib_Seconds (+ ib_MouseX 2))
  19.     (addsymbol ib_Micros (+ ib_Seconds 4))
  20.     (addsymbol ib_MinXMouse (+ ib_Micros 4))
  21.     (addsymbol ib_MaxXMouse (+ ib_MinXMouse 2))
  22.     (addsymbol ib_MinYMouse (+ ib_MaxXMouse 2))
  23.     (addsymbol ib_MaxYMouse (+ ib_MinYMouse 2))
  24.     (addsymbol ib_StartSecs (+ ib_MaxYMouse 2))
  25.     (addsymbol ib_StartMicros (+ ib_StartSecs 4))
  26.     (addsymbol ib_SysBase (+ ib_StartMicros 4))
  27.     (addsymbol ib_GfxBase (+ ib_SysBase 4))
  28.     (addsymbol ib_LayersBase (+ ib_GfxBase 4))
  29.     (addsymbol ib_ConsoleDevice (+ ib_LayersBase 4))
  30.     (addsymbol ib_APointer (+ ib_ConsoleDevice 4))
  31.     (addsymbol ib_APtrHeight (+ ib_APointer 4))
  32.     (addsymbol ib_APtrWidth (+ ib_APtrHeight 1))
  33.     (addsymbol ib_AXOffset (+ ib_APtrWidth 1))
  34.     (addsymbol ib_AYOffset (+ ib_AXOffset 1))
  35.     (addsymbol ib_MenuDrawn (+ ib_AYOffset 1))
  36.     (addsymbol ib_MenuSelected (+ ib_MenuDrawn 2))
  37.     (addsymbol ib_OptionList (+ ib_MenuSelected 2))
  38.     (addsymbol ib_MenuRPort (+ ib_OptionList 2))
  39.     (addsymbol ib_MenuTmpRas (+ ib_MenuRPort 64))
  40.     (addsymbol ib_ItemCRect (+ ib_MenuTmpRas 8))
  41.     (addsymbol ib_SubCRect (+ ib_ItemCRect 24))
  42.     (addsymbol ib_IBitMap (+ ib_SubCRect 24))
  43.     (addsymbol ib_SBitMap (+ ib_IBitMap 28))
  44.     (addsymbol ib_InputRequest (+ ib_SBitMap 28))
  45.     (addsymbol ib_InputInterrupt (+ ib_InputRequest 30))
  46.     (addsymbol ib_EventKey (+ ib_InputInterrupt 16))
  47.     (addsymbol ib_IEvents (+ ib_EventKey 4))
  48.     (addsymbol ib_EventCount (+ ib_IEvents 4))
  49.     (addsymbol ib_IEBuffer (+ ib_EventCount 2))
  50.     (addsymbol ib_ActiveGadget (+ ib_IEBuffer 58))
  51.     (addsymbol ib_ActivePInfo (+ ib_ActiveGadget 4))
  52.     (addsymbol ib_ActiveImage (+ ib_ActivePInfo 4))
  53.     (addsymbol ib_GadgetEnv (+ ib_ActiveImage 4))
  54.     (addsymbol ib_GadgetInfo (+ ib_GadgetEnv 2a))
  55.     (addsymbol ib_KnobOffset (+ ib_GadgetInfo 24))
  56.     (addsymbol ib_getOKWindow (+ ib_KnobOffset 4))
  57.     (addsymbol ib_getOKMessage (+ ib_getOKWindow 4))
  58.     (addsymbol ib_setWExcept (+ ib_getOKMessage 4))
  59.     (addsymbol ib_GadgetReturn (+ ib_setWExcept 2))
  60.     (addsymbol ib_StateReturn (+ ib_GadgetReturn 2))
  61.     (addsymbol ib_RP (+ ib_StateReturn 2))
  62.     (addsymbol ib_ITmpRas (+ ib_RP 4))
  63.     (addsymbol ib_OldClipRegion (+ ib_ITmpRas 8))
  64.     (addsymbol ib_OldScroll (+ ib_OldClipRegion 4))
  65.     (addsymbol ib_IFrame (+ ib_OldScroll 4))
  66.     (addsymbol ib_hthick (+ ib_IFrame 8))
  67.     (addsymbol ib_vthick (+ ib_hthick 2))
  68.     (addsymbol ib_frameChange (+ ib_vthick 2))
  69.     (addsymbol ib_sizeDrag (+ ib_frameChange 4))
  70.     (addsymbol ib_FirstPt (+ ib_sizeDrag 4))
  71.     (addsymbol ib_OldPt (+ ib_FirstPt 4))
  72.     (addsymbol ib_SysGadgets (+ ib_OldPt 4))
  73.     (addsymbol ib_CheckImage (+ ib_SysGadgets 40))
  74.     (addsymbol ib_AmigaIcon (+ ib_CheckImage 8))
  75.     (addsymbol ib_apattern (+ ib_AmigaIcon 8))
  76.     (addsymbol ib_bpattern (+ ib_apattern 10))
  77.     (addsymbol ib_IPointer (+ ib_bpattern 8))
  78.     (addsymbol ib_IPtrHeight (+ ib_IPointer 4))
  79.     (addsymbol ib_IPtrWidth (+ ib_IPtrHeight 1))
  80.     (addsymbol ib_IXOffset (+ ib_IPtrWidth 1))
  81.     (addsymbol ib_IYOffset (+ ib_IXOffset 1))
  82.     (addsymbol ib_DoubleSeconds (+ ib_IYOffset 1))
  83.     (addsymbol ib_DoubleMicros (+ ib_DoubleSeconds 4))
  84.     (addsymbol ib_WBorLeft (+ ib_DoubleMicros 4))
  85.     (addsymbol ib_WBorTop (+ ib_WBorLeft 2))
  86.     (addsymbol ib_WBorRight (+ ib_WBorTop 2))
  87.     (addsymbol ib_WBorBottom (+ ib_WBorRight 2))
  88.     (addsymbol ib_BarVBorder (+ ib_WBorBottom 2))
  89.     (addsymbol ib_BarHBorder (+ ib_BarVBorder 2))
  90.     (addsymbol ib_MenuVBorder (+ ib_BarHBorder 2))
  91.     (addsymbol ib_MenuHBorder (+ ib_MenuVBorder 2))
  92.     (addsymbol ib_color0 (+ ib_MenuHBorder 2))
  93.     (addsymbol ib_color1 (+ ib_color0 2))
  94.     (addsymbol ib_color2 (+ ib_color1 2))
  95.     (addsymbol ib_color3 (+ ib_color2 2))
  96.     (addsymbol ib_color17 (+ ib_color3 2))
  97.     (addsymbol ib_color18 (+ ib_color17 2))
  98.     (addsymbol ib_color19 (+ ib_color18 2))
  99.     (addsymbol ib_SysFont (+ ib_color19 2))
  100.     (addsymbol ib_Preferences (+ ib_SysFont 8))
  101.     (addsymbol ib_Echoes (+ ib_Preferences 4))
  102.     (addsymbol ib_ViewInitX (+ ib_Echoes 4))
  103.     (addsymbol ib_ViewInitY (+ ib_ViewInitX 2))
  104.     (addsymbol ib_CursorDX (+ ib_ViewInitY 2))
  105.     (addsymbol ib_CursorDY (+ ib_CursorDX 2))
  106.     (addsymbol ib_KeyMap (+ ib_CursorDY 2))
  107.     (addsymbol ib_MouseYMinimum (+ ib_KeyMap 4))
  108.     (addsymbol ib_ErrorX (+ ib_MouseYMinimum 2))
  109.     (addsymbol ib_ErrorY (+ ib_ErrorX 2))
  110.     (addsymbol ib_IOExcess (+ ib_ErrorY 2))
  111.     (addsymbol ib_HoldMinYMouse (+ ib_IOExcess 28))
  112.     (addsymbol ib_WBPort (+ ib_HoldMinYMouse 2))
  113.     (addsymbol ib_iqd_FNKUHDPort (+ ib_WBPort 4))
  114.     (addsymbol ib_WBMessage (+ ib_iqd_FNKUHDPort 4))
  115.     (addsymbol ib_HitScreen (+ ib_WBMessage 34))
  116.     (addsymbol ib_SimpleSprite (+ ib_HitScreen 4))
  117.     (addsymbol ib_AttachedSSprite (+ ib_SimpleSprite 4))
  118.     (addsymbol ib_GotSprite1 (+ ib_AttachedSSprite 4))
  119.     (addsymbol ib_SemaphoreList (+ ib_GotSprite1 2))
  120.     (addsymbol ib_ISemaphore (+ ib_SemaphoreList e))
  121.     (addsymbol ib_MaxDisplayHeight (+ ib_ISemaphore 142))
  122.     (addsymbol ib_MaxDisplayRow (+ ib_MaxDisplayHeight 2))
  123.     (addsymbol ib_MaxDisplayWidth (+ ib_MaxDisplayRow 2))
  124.     (addsymbol ib_Reserved (+ ib_MaxDisplayWidth 2))
  125. )
  126.  
  127. ;INTUITION Screen structure
  128. (macro Screen
  129.     (if (!= (nargs) 0)
  130.     (addsymbol s_NextScreen (arg 1))
  131.     (addsymbol s_NextScreen (current)))
  132.     (addsymbol s_FirstWindow (+ s_NextScreen 4))
  133.     (addsymbol s_LeftEdge (+ s_FirstWindow 4))
  134.     (addsymbol s_TopEdge (+ s_LeftEdge 2))
  135.     (addsymbol s_Width (+ s_TopEdge 2))
  136.     (addsymbol s_Height (+ s_Width 2))
  137.     (addsymbol s_MouseY (+ s_Height 2))
  138.     (addsymbol s_MouseX (+ s_MouseY 2))
  139.     (addsymbol s_Flags (+ s_MouseX 2))
  140.     (addsymbol s_Title (+ s_Flags 2))
  141.     (addsymbol s_DefaultTitle (+ s_Title 4))
  142.     (addsymbol s_BarHeight (+ s_DefaultTitle 4))
  143.     (addsymbol s_BarVBorder (+ s_BarHeight 1))
  144.     (addsymbol s_BarHBorder (+ s_BarVBorder 1))
  145.     (addsymbol s_MenuVBorder (+ s_BarHBorder 1))
  146.     (addsymbol s_MenuHBorder (+ s_MenuVBorder 1))
  147.     (addsymbol s_WBorTop (+ s_MenuHBorder 1))
  148.     (addsymbol s_WBorLeft (+ s_WBorTop 1))
  149.     (addsymbol s_WBorRight (+ s_WBorLeft 1))
  150.     (addsymbol s_WBorBottom (+ s_WBorRight 1))
  151.     (addsymbol s_Font (+ s_WBorBottom 2))
  152.     (addsymbol s_ViewPort (+ s_Font 4))
  153.     (addsymbol s_RastPort (+ s_ViewPort 28))
  154.     (addsymbol s_BitMap (+ s_RastPort 64))
  155.     (addsymbol s_LayerInfo (+ s_BitMap 28))
  156.     (addsymbol s_FirstGadget (+ s_LayerInfo 66))
  157.     (addsymbol s_DetailPen (+ s_FirstGadget 4))
  158.     (addsymbol s_BlockPen (+ s_DetailPen 1))
  159.     (addsymbol s_SaveColor0 (+ s_BlockPen 1))
  160.     (addsymbol s_BarLayer (+ s_SaveColor0 2))
  161.     (addsymbol s_ExtData (+ s_BarLayer 4))
  162.     (addsymbol s_UserData (+ s_ExtData 4))
  163. )
  164.  
  165. ;INTUITION Window structure
  166. (macro Window
  167.     (if (!= (nargs) 0)
  168.     (addsymbol w_NextWindow (arg 1)) 
  169.     (addsymbol w_NextWindow (current)))
  170.     (addsymbol w_LeftEdge (+ w_NextWindow 4))
  171.     (addsymbol w_TopEdge (+ w_LeftEdge 2))
  172.     (addsymbol w_Width (+ w_TopEdge 2))
  173.     (addsymbol w_Height (+ w_Width 2))
  174.     (addsymbol w_MouseY (+ w_Height 2))
  175.     (addsymbol w_MouseX (+ w_MouseY 2))
  176.     (addsymbol w_MinWidth (+ w_MouseX 2))
  177.     (addsymbol w_MinHeight (+ w_MinWidth 2))
  178.     (addsymbol w_MaxWidth (+ w_MinHeight 2))
  179.     (addsymbol w_MaxHeight (+ w_MaxWidth 2))
  180.     (addsymbol w_Flags (+ w_MaxHeight 2))
  181.     (addsymbol w_MenuStrip (+ w_Flags 4))
  182.     (addsymbol w_Title (+ w_MenuStrip 4))
  183.     (addsymbol w_FirstRequest (+ w_Title 4))
  184.     (addsymbol w_DMRequest (+ w_FirstRequest 4))
  185.     (addsymbol w_ReqCount (+ w_DMRequest 4))
  186.     (addsymbol w_WScreen (+ w_ReqCount 2))
  187.     (addsymbol w_RPort (+ w_WScreen 4))
  188.     (addsymbol w_BorderLeft (+ w_RPort 4))
  189.     (addsymbol w_BorderTop (+ w_BorderLeft 1))
  190.     (addsymbol w_BorderRight (+ w_BorderTop 1))
  191.     (addsymbol w_BorderBottom (+ w_BorderRight 1))
  192.     (addsymbol w_BorderRPort (+ w_BorderBottom 1))
  193.     (addsymbol w_FirstGadget (+ w_BorderRPort 4))
  194.     (addsymbol w_Parent (+ w_FirstGadget 4))
  195.     (addsymbol w_Descendant (+ w_Parent 4))
  196.     (addsymbol w_Pointer (+ w_Descendant 4))
  197.     (addsymbol w_PtrHeight (+ w_Pointer 4))
  198.     (addsymbol w_PtrWidth (+ w_PtrHeight 1))
  199.     (addsymbol w_XOffset (+ w_PtrWidth 1))
  200.     (addsymbol w_YOffset (+ w_XOffset 1))
  201.     (addsymbol w_IDCMPFlags (+ w_YOffset 1))
  202.     (addsymbol w_UserPort (+ w_IDCMPFlags 4))
  203.     (addsymbol w_WindowPort (+ w_UserPort 4))
  204.     (addsymbol w_MessageKey (+ w_WindowPort 4))
  205.     (addsymbol w_DetailPen (+ w_MessageKey 4))
  206.     (addsymbol w_BlockPen (+ w_DetailPen 1))
  207.     (addsymbol w_CheckMark (+ w_BlockPen 1))
  208.     (addsymbol w_ScreenTitle (+ w_CheckMark 4))
  209.     (addsymbol w_GZZMouseX (+ w_ScreenTitle 4))
  210.     (addsymbol w_GZZMouseY (+ w_GZZMouseX 2))
  211.     (addsymbol w_GZZWidth (+ w_GZZMouseY 2))
  212.     (addsymbol w_GZZHeight (+ w_GZZWidth 2))
  213.     (addsymbol w_ExtData (+ w_GZZHeight 2))
  214.     (addsymbol w_UserData (+ w_ExtData 4))
  215.     (addsymbol w_WLayer (+ w_UserData 4))
  216.     (addsymbol w_IFont (+ w_WLayer 4))
  217. )
  218.  
  219. ;INTUITION Menu structure
  220. (macro Menu
  221.     (if (!= (nargs) 0)
  222.     (addsymbol m_NextMenu (arg 1))
  223.     (addsymbol m_NextMenu (current)))
  224.     (addsymbol m_LeftEdge (+ m_NextMenu 4))
  225.     (addsymbol m_TopEdge (+ m_LeftEdge 2))
  226.     (addsymbol m_Width (+ m_TopEdge 2))
  227.     (addsymbol m_Height (+ m_Width 2))
  228.     (addsymbol m_Flags (+ m_Height 2))
  229.     (addsymbol m_MenuName (+ m_Flags 2))
  230.     (addsymbol m_FirstItem (+ m_MenuName 4))
  231.     (addsymbol m_JazzX (+ m_FirstItem 4))
  232.     (addsymbol m_JazzY (+ m_JazzX 2))
  233.     (addsymbol m_BeatX (+ m_JazzY 2))
  234.     (addsymbol m_BeatY (+ m_BeatX 2))
  235. )
  236.  
  237. ;INTUITION MenuItem structure
  238. (macro MenuItem 
  239.     (if (!= (nargs) 0)
  240.     (addsymbol mi_NextItem (arg 1))
  241.     (addsymbol mi_NextItem (current)))
  242.     (addsymbol mi_LeftEdge (+ mi_NextItem 4))
  243.     (addsymbol mi_TopEdge (+ mi_LeftEdge 2))
  244.     (addsymbol mi_Width (+ mi_TopEdge 2))
  245.     (addsymbol mi_Height (+ mi_Width 2))
  246.     (addsymbol mi_Flags (+ mi_Height 2))
  247.     (addsymbol mi_MutualExclude (+ mi_Flags 2))
  248.     (addsymbol mi_ItemFill (+ mi_MutualExclude 4))
  249.     (addsymbol mi_SelectFill (+ mi_ItemFill 4))
  250.     (addsymbol mi_Command (+ mi_SelectFill 4))
  251.     (addsymbol mi_SubItem (+ mi_Command 1))
  252.     (addsymbol mi_NextSelect (+ mi_SubItem 4))
  253. )
  254.  
  255. ;INTUITION Gadget structure
  256. (macro Gadget
  257.     (if (!= (nargs) 0)
  258.     (addsymbol g_NextGadget (arg 1))
  259.     (addsymbol g_NextGadget (current)))
  260.     (addsymbol g_LeftEdge  (+ g_NextGadget 4))
  261.     (addsymbol g_TopEdge (+ g_LeftEdge 2))
  262.     (addsymbol g_Width (+ g_TopEdge 2))
  263.     (addsymbol g_Height (+ g_Width 2))
  264.     (addsymbol g_Flags (+ g_Height 2))
  265.     (addsymbol g_Activation (+ g_Flags 2))
  266.     (addsymbol g_GadgetType (+ g_Activation 2))
  267.     (addsymbol g_GadgetRender (+ g_GadgetType 2))
  268.     (addsymbol g_SelectRender (+ g_GadgetRender 4))
  269.     (addsymbol g_GadgetText (+ g_SelectRender 4))
  270.     (addsymbol g_MutualExclude (+ g_GadgetText 4))
  271.     (addsymbol g_SpecialInfo (+ g_MutualExclude 4))
  272.     (addsymbol g_GadgetID (+ g_SpecialInfo 4))
  273.     (addsymbol g_UserData (+ g_GadgetID 2))
  274. )
  275.  
  276. ;INTUITION IntuiText structure
  277. (macro IntuiText
  278.     (if (!= (nargs) 0)
  279.     (addsymbol it_FrontPen (arg 1))
  280.     (addsymbol it_FrontPen (current)))
  281.     (addsymbol it_BackPen (+ it_FrontPen 1))
  282.     (addsymbol it_DrawMode (+ it_BackPen 1))
  283.     (addsymbol it_LeftEdge (+ it_DrawMode 2))
  284.     (addsymbol it_TopEdge (+ it_LeftEdge 2))
  285.     (addsymbol it_ITextFont (+ it_TopEdge 2))
  286.     (addsymbol it_IText (+ it_ITextFont 4))
  287.     (addsymbol it_NextText (+ it_IText 4))
  288. )
  289.  
  290. ;INTUITION Image structure
  291. (macro Image
  292.     (if (!= (nargs) 0)
  293.     (addsymbol i_LeftEdge (arg 1))
  294.     (addsymbol i_LeftEdge (current)))
  295.     (addsymbol i_TopEdge (+ i_LeftEdge 2))
  296.     (addsymbol i_Width (+ i_TopEdge 2))
  297.     (addsymbol i_Height (+ i_Width 2))
  298.     (addsymbol i_Depth (+ i_Height 2))
  299.     (addsymbol i_ImageData (+ i_Depth 2))
  300.     (addsymbol i_PlanePick (+ i_ImageData 4))
  301.     (addsymbol i_PlaneOnOff (+ i_PlanePick 1))
  302.     (addsymbol i_NextImage (+ i_PlaneOnOff 1))
  303. )
  304.  
  305. ;show some important IntuitionBase members
  306. (macro ibase
  307.     (IntuitionBase)
  308.     (print "IntuitionBase at %8lx    Flags:           $%08lx\n"
  309.       ib_LibNode (@l ib_Flags))
  310.     (print "setWExcept: $%04lx   GadgetReturn: $%04lx   StateReturn: $%04lx\n"
  311.       (@ ib_setWExcept) (@ ib_GadgetReturn) (@ ib_StateReturn))
  312.     (print "SemaphoreList at %8lx\n\n" ib_SemaphoreList)
  313.  
  314.     (print "Mouse X/Y         %ld/%ld\n" (@ ib_MouseX) (@ ib_MouseY))
  315.     (print "  Minimum X/Y   %ld/%ld   Maximum X/Y %ld/%ld\n"
  316.       (@ ib_MinXMouse) (@ ib_MinYMouse) (@ ib_MaxXMouse) (@ ib_MaxYMouse))
  317.     (print "ActivePointer at %8lx\n" (@l ib_APointer))
  318.     (print "  Width/Height %ld, %ld    AX/YOffset %d, %d\n\n"
  319.       (@b ib_APtrWidth) (@b ib_APtrHeight) (@b ib_AXOffset) (@b ib_AYOffset))
  320.  
  321.     (print "View at          %8lx    FirstScreen at   %8lx\n"
  322.       ib_ViewLord (@l ib_FirstScreen))
  323.     (print "ActiveScreen at  %8lx    ActiveWindow at  %8lx\n\n"
  324.       (@l ib_ActiveScreen) (@l ib_ActiveWindow))
  325.  
  326.     (print "ActiveGadget at  %8lx\n" (@l ib_ActiveGadget))
  327.     (print "ActivePInfo at   %8lx    ActiveImage at   %8lx\n"
  328.       (@l ib_ActivePInfo) (@l ib_ActiveImage))
  329.     (print "GadgetEnv at     %8lx    GadgetInfo at    %8lx\n\n"
  330.       ib_GadgetEnv ib_GadgetInfo)
  331.  
  332.     (print "MenuDrawn: $%04lx    MenuSelected: $%04lx\n"
  333.       (@ ib_MenuDrawn) (@ ib_MenuSelected))
  334.     (print "MenuRPort at     %8lx\n" ib_MenuRPort)
  335.     (print "ItemCRect at     %8lx    SubCRect at      %8lx\n"
  336.       ib_ItemCRect ib_SubCRect)
  337.     (print "IBitMap at       %8lx    SBitMap at       %8lx\n"
  338.       ib_IBitMap ib_SBitMap)
  339.  
  340. )
  341.  
  342. ;format given address or current frame as a Screen structure
  343. (macro screen
  344.     (if (!= (nargs) 0)
  345.     (Screen (arg 1))
  346.     (Screen (current)))
  347.     (print "Screen %8lx\n" s_NextScreen)
  348.     (print "Flags: $%04lx, NextScreen at %8lx, FirstWindow at %8lx\n"
  349.       (@ s_Flags) (@l s_NextScreen) (@l s_FirstWindow))
  350.     (print "LayerInfo at %8lx, ViewPort at %8lx\n" s_LayerInfo s_ViewPort)
  351. )
  352.  
  353. ;format given address or current frame as a Window structure
  354. (macro window
  355.     (if (!= (nargs) 0)
  356.     (Window (arg 1))
  357.     (Window (current)))
  358.     (print "Window '%s' at %8lx\n" (@l w_Title) w_NextWindow)
  359.     (print "Left/Top/Width/Height: %ld/%ld/%ld/%ld\n"
  360.       (@ w_LeftEdge) (@ w_TopEdge) (@ w_Width) (@ w_Height))
  361.     (print "Minimum Width/Height:  %ld/%ld\n" (@ w_MinWidth) (@ w_MinHeight))
  362.     (print "Maximum Width/Height:  %ld/%ld\n" (@ w_MaxWidth) (@ w_MaxHeight))
  363.     (print "Title %8lx,        NextWindow at %8lx\n"
  364.       (@l w_Title) (@l w_NextWindow))
  365.     (print "WScreen at %8lx,   RPort at %8lx,        WLayer at %8lx\n"
  366.       (@l w_WScreen) (@l w_RPort) (@l w_WLayer))
  367.     (print "Flags: $%08lx,      Mouse X/Y: %ld/%ld\n"
  368.       (@l w_Flags) (@ w_MouseX) (@ w_MouseY))
  369.     (print "ReqCount: %4lx,        FirstRequest at %8lx, DMRequest at %8lx\n"
  370.       (@ w_ReqCount) (@l w_FirstRequest) (@l w_DMRequest))
  371.     (print "Parent at %8lx,    Descendant at %8lx\n"
  372.       (@l w_Parent) (@l w_Descendant))
  373.     (print "IDCMPFlags: $%08lx, IDCMP user port at %8lx\n"
  374.       (@l w_IDCMPFlags) (@l w_UserPort))
  375.     (print "MenuStrip at %8lx, FirstGadget at %8lx\n"
  376.       (@l w_MenuStrip) (@l w_FirstGadget))
  377.     (print "Border Left/Top/Right/Bottom: %ld/%ld/%ld/%ld\n" (@b w_BorderLeft)
  378.       (@b w_BorderTop) (@b w_BorderRight) (@b w_BorderBottom))
  379.     (print "BorderRPort at %8lx\n" (@l w_BorderRPort))
  380. )
  381.  
  382. ;format given address or current frame as a Menu structure
  383. (macro menu
  384.     (if (!= (nargs) 0)
  385.     (Menu (arg 1))
  386.     (Menu (current)))
  387.     (print "Menu '%s' at %8lx\n" (@l m_MenuName) m_NextMenu)
  388.     (print "NextMenu at %8lx\n" (@l m_NextMenu))
  389.     (print "Left/Top/Width/Height: %ld/%ld/%ld/%ld\n"
  390.       (@ m_LeftEdge) (@ m_TopEdge) (@ m_Width) (@ m_Height ))
  391.     (print "Flags: %04lx\n" (@ m_Flags))
  392.     (print "MenuName at %8lx\n" (@l m_MenuName))
  393.     (print "FirstItem at %8lx\n" (@l m_FirstItem))
  394.     (print "JazzX/Y: %ld/%ld,  BeatX/Y: %ld/%ld\n"
  395.       (@ m_JazzX) (@ m_JazzY) (@ m_BeatX) (@ m_BeatY))
  396.  
  397. ;format given address or current frame as a linked list of Menu structures
  398. (macro menus
  399.     (for (if (!= (nargs) 0) (menu (arg 1)) (menu))
  400.       (!= (@l m_NextMenu) 0) ((print "\n") menu (@l m_NextMenu)))
  401. )
  402.  
  403. ;format given address or current frame as a MenuItem structure
  404. (macro menuitem
  405.     (if (!= (nargs) 0)
  406.     (MenuItem (arg 1))
  407.     (MenuItem (current)))
  408.     (print "MenuItem at %8lx\n" mi_NextItem)
  409.     (print "NextItem at %8lx, SubItem at %8lx\n"
  410.       (@l mi_NextItem) (@l mi_SubItem))
  411.     (print "Left/Top/Width/Height: %ld/%ld/%ld/%ld\n"
  412.       (@ mi_LeftEdge) (@ mi_TopEdge) (@ mi_Width) (@ mi_Height ))
  413.     (print "Flags: %04lx, MutualExclude: %8lx\n"
  414.       (@ mi_Flags) (@l mi_MutualExclude))
  415.     (print "ItemFill: %8lx, SelectFill: %8lx\n"
  416.       (@l mi_ItemFill) (@l mi_SelectFill))
  417. )
  418.  
  419. ;format given address or current frame as a linked list of MenuItem structures
  420. (macro menuitems
  421.     (for (if (!= (nargs) 0) (menuitem (arg 1)) (menuitem))
  422.       (!= (@l mi_NextItem) 0) ((print "\n") menuitem (@l mi_NextItem)))
  423. )
  424.  
  425. ;format given address or current frame as a Gadget structure
  426. (macro gadget
  427.     (if (!= (nargs) 0)
  428.     (Gadget (arg 1))
  429.     (Gadget (current)))
  430.     (print "Gadget at %8lx,    ID: %04lx\n" g_NextGadget (@ g_GadgetID))
  431.     (print "NextGadget at %8lx\n" (@l g_NextGadget))
  432.     (print "Left/Top/Width/Height: %ld/%ld/%ld/%ld\n"
  433.       (@ g_LeftEdge) (@ g_TopEdge) (@ g_Width) (@ g_Height))
  434.     (print "Flags: %04lx, Activation: %04lx, GadgetType: %04lx\n"
  435.       (@ g_Flags) (@ g_Activation) (@ g_GadgetType))
  436.     (print "GadgetRender %8lx, SelectRender %8lx\n"
  437.       (@l g_GadgetRender) (@l g_SelectRender))
  438.     (print "SpecialInfo at %8lx\n" (@l g_SpecialInfo))
  439.     (print "UserData at %8lx\n" (@l g_UserData))
  440. )
  441.  
  442. ;format given address or current frame as a linked list of Gadget structures
  443. (macro gadgets
  444.     (for (if (!= (nargs) 0) (gadget (arg 1)) (gadget))
  445.       (!= (@l g_NextGadget) 0) ((print "\n") gadget (@l g_NextGadget)))
  446. )
  447.  
  448. ;format given address or current frame as an IntuiText structure
  449. (macro itext
  450.     (if (!= (nargs) 0)
  451.     (IntuiText (arg 1))
  452.     (IntuiText (current)))
  453.     (print "IntuiText '%s' at %8lx\n" (@l it_IText) it_FrontPen)
  454.     (print "LeftEdge: %ld, TopEdge: %ld\n" (@ it_LeftEdge) (@ it_TopEdge))
  455.     (print "FrontPen: %02lx, BackPen: %02lx, DrawMode: %02lx\n"
  456.       (@b it_FrontPen) (@b it_BackPen) (@b it_DrawMode))
  457.     (print "Next Text at: %8lx\n" (@l it_NextText))
  458. )
  459.  
  460. ;format given address or current frame as an Image structure
  461. (macro image
  462.     (if (!= (nargs) 0)
  463.     (Image (arg 1))
  464.     (Image (current)))
  465.     (print "Image at %8lx\n" i_LeftEdge)
  466.     (print "Left/Top/Width/Height: %ld/%ld/%ld/%ld\n"
  467.       (@ i_LeftEdge) (@ i_TopEdge) (@ i_Width) (@ i_Height ))
  468.     (print "Depth: %ld, ImageData at %8lx\n" (@ i_Depth) (@l i_ImageData))
  469.     (print "PlanePick: %ld, PlaneOnOff: %ld\n"
  470.       (@b i_PlanePick) (@b i_PlaneOnOff))
  471.     (print "Next Image at: %8lx\n" (@l i_NextImage))
  472. )
  473.  
  474.  
  475.