qdosmsq:pe:struct:apmnu

Application Sub-Window Menus

When an application sub-window has menu items the definition continues at offset $64 with a menu section.

Name     Off Size Description
-------------------------------------------------------------------------
wwa_mstt $64 long pointer to menu status block
wwa_iatt $68      item attributes          (See Notes)
wwa_ncol $90 word number of actual columns      "
wwa_nrow $92 word number of actual rows         "
wwa_xoff $94 word x offset to start of menu (section)
wwa_yoff $96 word y offset to start of menu (section)
wwa_xspc $98 long pointer to column spacing list (See Notes)
wwa_yspc $9c long pointer to row spacing list         "
         $a0      8 spare bytes
wwa_rowl $a8 long pointer to row list
wwa.mlen $48      length of menu working definition
-------------------------------------------------------------------------
  • The item attributes are shown here.
  • The menu items are arranged in a grid with a specific number of columns and rows. If the window is not large enough to hold all the items it can be panned or scrolled or both.
  • If the spacing information is the same for all columns, or for all rows, the pointer can take the form of a negative long word. The upper word will be the negative hit size and the low word the negative spacing.
  • The row list gives information about the contents of each row. See below.

Spacing lists give the hit size of an item and the spacing between items. The spacing between items must be large enough to allow both the hit size and the border (shown when the pointer is in the hit area).

Name     Off Size Description
-------------------------------------------------------------------------
wwm_size $00 word object hit size
wwm_spce $02 word object spacing
wwm.slen $04      spacing list element length
-------------------------------------------------------------------------

The row list gives, for each row, the objects it contains. The two addresses point to the start of the first object and the end of the last object.

Name     Off Size Description
-------------------------------------------------------------------------
wwm_rows $00 long pointer to first object in the row
wwm_rowe $04 long pointer to end of last object in the row
wwm.rlen $08      menu row list element length
-------------------------------------------------------------------------
Name     Off Size Description
-------------------------------------------------------------------------
wwm_xjst $00 byte x justification rule
wwm_yjst $01 byte y justification rule
wwm_type $02 byte object type 0 = text
                              2 = sprite
                              4 = blob
                              6 = pattern
wwm_skey $03 byte selection key
wwm_pobj $04 long pointer to object
wwm_item $08 word item number
wwm_pact $0a long pointer to action routine (or 0)
wwm.olen $0e      length of object list entry
-------------------------------------------------------------------------
  • qdosmsq/pe/struct/apmnu.txt
  • Last modified: 2011/11/09 11:32
  • by george.gwilt