home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / Toolbox / Hdr / Menu < prev    next >
Encoding:
Text File  |  1995-09-05  |  9.4 KB  |  360 lines

  1. ;Assembler header file for Menu
  2. ;written by DefMod (Jun 30 1995) on Tue Sep  5 15:15:08 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_Toolbox
  16.         GBLS    Get_Toolbox
  17.         ]
  18.         [       :LNOT: :DEF: Toolbox_Hdr
  19. Get_Toolbox                     SETS    "GET OS:Hdr.Toolbox"
  20.         |
  21. Get_Toolbox                     SETS    ""
  22.         ]
  23.         $Get_Toolbox
  24.  
  25.         [       :LNOT: :DEF: Menu_Hdr
  26.         GBLS    Menu_Hdr
  27.  
  28. ;Symbols for constants
  29. Class_Menu                      *       &828C0
  30. Menu_GenerateAboutToBeShown     *       &1
  31. Menu_GenerateDialogueCompleted  *       &2
  32. Menu_EntryTicked                *       &1
  33. Menu_EntrySeparate              *       &2
  34. Menu_EntryFaded                 *       &100
  35. Menu_EntryIsSprite              *       &200
  36. Menu_EntrySubMenu               *       &400
  37. Menu_EntryGenerateSubMenuAction *       &800
  38. Menu_EntryIsMenu                *       &1000
  39. Action_MenuAboutToBeShown       *       &828C0
  40. Action_MenuDialogueCompleted    *       &828C1
  41. Action_MenuSubMenu              *       &828C2
  42. Action_MenuSelection            *       &828C3
  43. Error_MenuTasksActive           *       &80AA00
  44. Error_MenuAllocFailed           *       &80AA01
  45. Error_MenuShortBuffer           *       &80AA02
  46. Error_MenuNoSuchTask            *       &80AA11
  47. Error_MenuNoSuchMethod          *       &80AA12
  48. Error_MenuNoSuchMiscOpMethod    *       &80AA13
  49. Error_MenuNoSuchComponent       *       &80AA14
  50. Error_MenuSpriteNotText         *       &80AA21
  51. Error_MenuTextNotSprite         *       &80AA22
  52. Error_MenuNoTopMenu             *       &80AA31
  53. Error_MenuUnknownSubMenu        *       &80AA32
  54. Error_MenuNoSpriteName          *       &80AA33
  55. Menu_ShowPersistent             *       &0
  56. Menu_ShowTransient              *       &1
  57. Menu_AddBefore                  *       &1
  58. Menu_AddAtStart                 *       &FFFFFFFF
  59. Menu_AddAtEnd                   *       &FFFFFFFE
  60.  
  61. ;Symbols for structure offsets and sizes
  62. Menu_Flags                      *       Bits
  63.  
  64. Menu_EntryFlags                 *       Bits
  65.  
  66.                                 ^       0
  67. Menu_EntryObject_flags          #       Menu_EntryFlags
  68. Menu_EntryObject_cmp            #       Toolbox_C
  69. Menu_EntryObject_text           #       Toolbox_MsgReference
  70. Menu_EntryObject_text_limit     #       Int
  71. Menu_EntryObject_click_object_name #       Toolbox_StringReference
  72. Menu_EntryObject_sub_menu_object_name #       Toolbox_StringReference
  73. Menu_EntryObject_sub_menu_action #       Bits
  74. Menu_EntryObject_click_action   #       Bits
  75. Menu_EntryObject_help           #       Toolbox_MsgReference
  76. Menu_EntryObject_help_limit     #       Int
  77. Menu_EntryObject                *       @
  78.  
  79.                                 ^       0
  80. Menu_Object_flags               #       Menu_Flags
  81. Menu_Object_title               #       Toolbox_MsgReference
  82. Menu_Object_title_limit         #       Int
  83. Menu_Object_help                #       Toolbox_MsgReference
  84. Menu_Object_help_limit          #       Int
  85. Menu_Object_show_action         #       Bits
  86. Menu_Object_hide_action         #       Bits
  87. Menu_Object_entry_count         #       Int
  88. Menu_Object_entries             #       Menu_EntryObject
  89. Menu_Object                     *       @
  90.  
  91. Menu_Full                       *       OS_Coord
  92.  
  93.                                 ^       0
  94. Menu_ActionAboutToBeShown_tag   #       Toolbox_PositionTag
  95. Menu_ActionAboutToBeShown_position *       @
  96. Menu_ActionAboutToBeShown_position_top_left #       OS_Coord
  97.                                 ^       Menu_ActionAboutToBeShown_position
  98. Menu_ActionAboutToBeShown_position_full #       Menu_Full
  99. Menu_ActionAboutToBeShown       *       @
  100.  
  101.                                 ^       0
  102. Menu_ActionSubMenu_show_type    #       Int
  103. Menu_ActionSubMenu_pos          #       OS_Coord
  104. Menu_ActionSubMenu              *       @
  105.  
  106. Menu_ShowFlags                  *       Bits
  107.  
  108. Menu_AddFlags                   *       Bits
  109.  
  110. Menu_AddAt                      *       Toolbox_C
  111.  
  112.  
  113. ;Symbols for SWI's and SWI reason codes
  114. XMenu_ClassSWI                  *       &A28C0
  115. Menu_ClassSWI                   *       &828C0
  116.  
  117. XMenu_PostFilter                *       &A28C1
  118. Menu_PostFilter                 *       &828C1
  119.  
  120. XMenu_PreFilter                 *       &A28C2
  121. Menu_PreFilter                  *       &828C2
  122.  
  123. XMenu_UpdateTree                *       &A28C3
  124. Menu_UpdateTree                 *       &828C3
  125.    ;Entry
  126.    ;  R0 = flags (Bits)
  127.    ;Exit
  128.    ;  R0 corrupted
  129.  
  130. Menu_SetTick                    *       &0
  131.    ;Entry
  132.    ;  R0 = flags (Bits)
  133.    ;  R1 = menu (Toolbox_O)
  134.    ;  R2 = &0
  135.    ;  R3 = entry (Toolbox_C)
  136.    ;  R4 = tick (Bool)
  137.  
  138. Menu_GetTick                    *       &1
  139.    ;Entry
  140.    ;  R0 = flags (Bits)
  141.    ;  R1 = menu (Toolbox_O)
  142.    ;  R2 = &1
  143.    ;  R3 = entry (Toolbox_C)
  144.    ;Exit
  145.    ;  R0 = tick (Bool)
  146.  
  147. Menu_SetFade                    *       &2
  148.    ;Entry
  149.    ;  R0 = flags (Bits)
  150.    ;  R1 = menu (Toolbox_O)
  151.    ;  R2 = &2
  152.    ;  R3 = entry (Toolbox_C)
  153.    ;  R4 = fade (Bool)
  154.  
  155. Menu_GetFade                    *       &3
  156.    ;Entry
  157.    ;  R0 = flags (Bits)
  158.    ;  R1 = menu (Toolbox_O)
  159.    ;  R2 = &3
  160.    ;  R3 = entry (Toolbox_C)
  161.    ;Exit
  162.    ;  R0 = fade (Bool)
  163.  
  164. Menu_SetEntryText               *       &4
  165.    ;Entry
  166.    ;  R0 = flags (Bits)
  167.    ;  R1 = menu (Toolbox_O)
  168.    ;  R2 = &4
  169.    ;  R3 = entry (Toolbox_C)
  170.    ;  R4 -> text (String)
  171.  
  172. Menu_GetEntryText               *       &5
  173.    ;Entry
  174.    ;  R0 = flags (Bits)
  175.    ;  R1 = menu (Toolbox_O)
  176.    ;  R2 = &5
  177.    ;  R3 = entry (Toolbox_C)
  178.    ;  R4 = buffer (pointer to String)
  179.    ;  R5 = size (Int)
  180.    ;Exit
  181.    ;  R5 = used (Int)
  182.  
  183. Menu_SetEntrySprite             *       &6
  184.    ;Entry
  185.    ;  R0 = flags (Bits)
  186.    ;  R1 = menu (Toolbox_O)
  187.    ;  R2 = &6
  188.    ;  R3 = entry (Toolbox_C)
  189.    ;  R4 -> sprite_name (String)
  190.  
  191. Menu_GetEntrySprite             *       &7
  192.    ;Entry
  193.    ;  R0 = flags (Bits)
  194.    ;  R1 = menu (Toolbox_O)
  195.    ;  R2 = &7
  196.    ;  R3 = entry (Toolbox_C)
  197.    ;  R4 = buffer (pointer to String)
  198.    ;  R5 = size (Int)
  199.    ;Exit
  200.    ;  R5 = used (Int)
  201.  
  202. Menu_SetSubMenuShow             *       &8
  203.    ;Entry
  204.    ;  R0 = flags (Bits)
  205.    ;  R1 = menu (Toolbox_O)
  206.    ;  R2 = &8
  207.    ;  R3 = entry (Toolbox_C)
  208.    ;  R4 = sub_menu (Toolbox_O)
  209.  
  210. Menu_GetSubMenuShow             *       &9
  211.    ;Entry
  212.    ;  R0 = flags (Bits)
  213.    ;  R1 = menu (Toolbox_O)
  214.    ;  R2 = &9
  215.    ;  R3 = entry (Toolbox_C)
  216.    ;Exit
  217.    ;  R0 = sub_menu (Toolbox_O)
  218.  
  219. Menu_SetSubMenuAction           *       &A
  220.    ;Entry
  221.    ;  R0 = flags (Bits)
  222.    ;  R1 = menu (Toolbox_O)
  223.    ;  R2 = &A
  224.    ;  R3 = entry (Toolbox_C)
  225.    ;  R4 = action (Bits)
  226.  
  227. Menu_GetSubMenuAction           *       &B
  228.    ;Entry
  229.    ;  R0 = flags (Bits)
  230.    ;  R1 = menu (Toolbox_O)
  231.    ;  R2 = &B
  232.    ;  R3 = entry (Toolbox_C)
  233.    ;Exit
  234.    ;  R0 = action (Bits)
  235.  
  236. Menu_SetClickShow               *       &C
  237.    ;Entry
  238.    ;  R0 = flags (Bits)
  239.    ;  R1 = menu (Toolbox_O)
  240.    ;  R2 = &C
  241.    ;  R3 = entry (Toolbox_C)
  242.    ;  R4 = show (Toolbox_O)
  243.    ;  R5 = show_flags (Menu_ShowFlags)
  244.  
  245. Menu_GetClickShow               *       &D
  246.    ;Entry
  247.    ;  R0 = flags (Bits)
  248.    ;  R1 = menu (Toolbox_O)
  249.    ;  R2 = &D
  250.    ;  R3 = entry (Toolbox_C)
  251.    ;Exit
  252.    ;  R0 = show (Toolbox_O)
  253.    ;  R1 = show_flags (Menu_ShowFlags)
  254.  
  255. Menu_SetClickAction             *       &E
  256.    ;Entry
  257.    ;  R0 = flags (Bits)
  258.    ;  R1 = menu (Toolbox_O)
  259.    ;  R2 = &E
  260.    ;  R3 = entry (Toolbox_C)
  261.    ;  R4 = action (Bits)
  262.  
  263. Menu_GetClickAction             *       &F
  264.    ;Entry
  265.    ;  R0 = flags (Bits)
  266.    ;  R1 = menu (Toolbox_O)
  267.    ;  R2 = &F
  268.    ;  R3 = entry (Toolbox_C)
  269.    ;Exit
  270.    ;  R0 = action (Bits)
  271.  
  272. Menu_SetHelpMessage             *       &10
  273.    ;Entry
  274.    ;  R0 = flags (Bits)
  275.    ;  R1 = menu (Toolbox_O)
  276.    ;  R2 = &10
  277.    ;  R3 -> help (String)
  278.  
  279. Menu_GetHelpMessage             *       &11
  280.    ;Entry
  281.    ;  R0 = flags (Bits)
  282.    ;  R1 = menu (Toolbox_O)
  283.    ;  R2 = &11
  284.    ;  R3 = buffer (pointer to String)
  285.    ;  R4 = size (Int)
  286.    ;Exit
  287.    ;  R4 = used (Int)
  288.  
  289. Menu_SetEntryHelpMessage        *       &12
  290.    ;Entry
  291.    ;  R0 = flags (Bits)
  292.    ;  R1 = menu (Toolbox_O)
  293.    ;  R2 = &12
  294.    ;  R3 = entry (Toolbox_C)
  295.    ;  R4 -> help (String)
  296.  
  297. Menu_GetEntryHelpMessage        *       &13
  298.    ;Entry
  299.    ;  R0 = flags (Bits)
  300.    ;  R1 = menu (Toolbox_O)
  301.    ;  R2 = &13
  302.    ;  R3 = entry (Toolbox_C)
  303.    ;  R4 = buffer (pointer to String)
  304.    ;  R5 = size (Int)
  305.    ;Exit
  306.    ;  R5 = used (Int)
  307.  
  308. Menu_AddEntry                   *       &14
  309.    ;Entry
  310.    ;  R0 = flags (Menu_AddFlags)
  311.    ;  R1 = menu (Toolbox_O)
  312.    ;  R2 = &14
  313.    ;  R3 = at (Menu_AddAt)
  314.    ;  R4 -> entry (Menu_EntryObject)
  315.    ;Exit
  316.    ;  R0 = entry (Toolbox_C)
  317.  
  318. Menu_RemoveEntry                *       &15
  319.    ;Entry
  320.    ;  R0 = flags (Bits)
  321.    ;  R1 = menu (Toolbox_O)
  322.    ;  R2 = &15
  323.    ;  R3 = entry (Toolbox_C)
  324.  
  325. Menu_GetHeight                  *       &16
  326.    ;Entry
  327.    ;  R0 = flags (Bits)
  328.    ;  R1 = menu (Toolbox_O)
  329.    ;  R2 = &16
  330.    ;Exit
  331.    ;  R0 = height (Int)
  332.  
  333. Menu_GetWidth                   *       &17
  334.    ;Entry
  335.    ;  R0 = flags (Bits)
  336.    ;  R1 = menu (Toolbox_O)
  337.    ;  R2 = &17
  338.    ;Exit
  339.    ;  R0 = width (Int)
  340.  
  341. Menu_SetTitle                   *       &18
  342.    ;Entry
  343.    ;  R0 = flags (Bits)
  344.    ;  R1 = menu (Toolbox_O)
  345.    ;  R2 = &18
  346.    ;  R3 -> title (String)
  347.  
  348. Menu_GetTitle                   *       &19
  349.    ;Entry
  350.    ;  R0 = flags (Bits)
  351.    ;  R1 = menu (Toolbox_O)
  352.    ;  R2 = &19
  353.    ;  R3 = buffer (pointer to String)
  354.    ;  R4 = size (Int)
  355.    ;Exit
  356.    ;  R4 = used (Int)
  357.  
  358.         ]
  359.         END
  360.