wworkdef
rem * Window Working Definition
rem nolist
rem *
ww_shadx% = 4: rem $4 x shadow multiplier
ww_shady% = 3: rem $3 y shadow multiplier
ww_scarr% = 4: rem $4 scroll arrow height
ww_scasp% = 24: rem $18 scroll arrow spacing
ww_scawd% = 10: rem $a scroll arrow width
ww_pnarr% = 8: rem $8 pan arrow width
ww_pnasp% = 12: rem $c pan arrow spacing
ww_pnaht% = 5: rem $5 pan arrow height
ww_scbar% = 6: rem $6 width of scroll bar
ww_pnbar% = 4: rem $4 height of pan bar
ww_ptoff = 131074: rem $20002 offset of pointer for keystroke hits
rem *
ww_wstat = 0: rem .l $00 pointer to window status area
ww_wdef = 4: rem .l $04 pointer to window definition
ww_chid = 8: rem .l $08 channel ID for window
rem *
ww_pprec = 12: rem .l $0c pointer to pointer record (24 bytes)
ww_psave = 16: rem .l $10 saved pointer position (absolute)
rem *
ww_spar1 = 20: rem .l $14 window spare 1
ww_spar2 = 24: rem .w $18 window spare 2
ww_spar3 = 26: rem .b $1a window spare 3
ww_pulld = 27: rem .b $1b flag set if window is pulled down
ww_splst = 28: rem .l $1c pointer to sub-window sprite list
rem *
ww_xsize = 32: rem .w $20 window x size (width) in pixels
ww_ysize = 34: rem .w $22 window y size (height) in pixels
ww_xorg = 36: rem .w $24 x origin of window
ww_yorg = 38: rem .w $26 y origin of window
ww_wattr = 40: rem $28 window attributes
ww_psprt = 48: rem .l $30 pointer to pointer sprite for this window
ww_lattr = 52: rem $34 loose menu item attributes
ww_help = 92: rem .l $5c pointer to help definition
ww_head = 96: rem $60 - end of header
rem *
ww_ninfo = 96: rem .w $60 number of information sub-windows
ww_ninob = 98: rem .w $62 number of information sub-window objects
ww_pinfo = 100: rem .l $64 pointer to information sub-window definition list
ww_nlitm = 104: rem .w $68 number of loose menu items
ww_plitm = 106: rem .l $6a pointer to loose menu item list
ww_nappl = 110: rem .w $6e number of application sub-windows
ww_pappl = 112: rem .l $70 pointer to application sub-window definition list
ww_lists = 116: rem $74 - start of definition lists
rem *
rem * Window Attributes
rem *
wwa_clfg = 0: rem .b $00 clear flag
wwa__cfl% = 7: rem 7 ... in bit 7
wwa_kflg = 0: rem .b $00 cursor key flag
wwa__kfl% = 0: rem 0 ... in bit 0
wwa_shdd = 1: rem .b $01 shadow depth
wwa_borw = 2: rem .w $02 border width
wwa_borc = 4: rem .w $04 border colour
wwa_papr = 6: rem .w $06 paper colour
rem *
rem * Menu Item Attributes
rem *
wwa_curw = 0: rem .w $00 current item border width
wwa_curc = 2: rem .w $02 current item border colour
wwa_attr = 4: rem $04 attribute records
wwa_unav = 4: rem $04 item unavailable
wwa_aval = 16: rem $10 item available
wwa_selc = 28: rem $1c item selected
wwa_elen% = 40: rem $28 - menu item attribute entry length
rem *
rem * attribute record
wwa_back = 0: rem .w $00 item background colour
wwa_ink = 2: rem .w $02 text object ink colour
wwa_blob = 4: rem .l $04 pointer to blob for pattern
wwa_patt = 8: rem .l $08 pointer to pattern for blob
wwa_alen% = 12: rem $0c - attribute record length
rem *
rem * Loose Menu Items List
rem *
wwl_xsiz = 0: rem .w $00 hit area x size (width)
wwl_ysiz = 2: rem .w $02 hit area y size (height)
wwl_xorg = 4: rem .w $04 hit area x origin
wwl_yorg = 6: rem .w $06 hit area y origin
wwl_xjst = 8: rem .b $08 object x justification rule
wwl_yjst = 9: rem .b $09 object y justification rule
wwl_type = 10: rem .b $0a object type (0=text, 2=sprite, 4=blob, 6=pattern)
wwl_skey = 11: rem .b $0b selection keystroke
wwl_pobj = 12: rem .l $0c pointer to object
wwl_item = 16: rem .w $10 item number
wwl_pact = 18: rem .l $12 pointer to action routine
wwl_elen% = 22: rem $16 - loose menu item list entry length
rem *
rem * Information Sub-Window
rem *
wwi_xsiz = 0: rem .w $00 sub-window x size (width) in pixels
wwi_ysiz = 2: rem .w $02 sub-window y size (height) in pixels
wwi_xorg = 4: rem .w $04 sub-window x origin
wwi_yorg = 6: rem .w $06 sub-window y origin
wwi_watt = 8: rem $08 sub-window attributes
wwi_pobl = 16: rem .l $10 pointer to information object list
wwi_elen% = 20: rem $14 - information list entry length
rem *
rem * Information Object List
rem *
wwo_xsiz = 0: rem .w $00 object x size (width) in pixels
wwo_ysiz = 2: rem .w $02 object y size (height) in pixels
wwo_xorg = 4: rem .w $04 object x origin
wwo_yorg = 6: rem .w $06 object y origin
wwo_type = 8: rem .b $08 object type (0=text, 2=sprite, 4=blob, 6=pattern)
wwo_spar = 9: rem .b $09 spare
wwo_ink = 10: rem .w $0a text ink colour
wwo_csiz = 12: rem .w $0c text character size (two bytes)
wwo_comb = 10: rem .l $0a pattern or blob to combine
wwo_pobj = 14: rem .l $0e pointer to object
wwo_elen% = 18: rem $12 - information object list entry length
rem *
rem * Application sub-window definition
rem *
wwa_xsiz = 0: rem .w $00 sub-window x size (width) in pixels
wwa_ysiz = 2: rem .w $02 sub-window y size (height) in pixels
wwa_xorg = 4: rem .w $04 sub-window x origin
wwa_yorg = 6: rem .w $06 sub-window y origin
wwa_watt = 8: rem $08 sub-window attributes
wwa_pspr = 16: rem .l $10 pointer to pointer sprite for this sub window
wwa_draw = 20: rem .l $14 pointer to application sub-window draw routine
wwa_hit = 24: rem .l $18 pointer to application sub-window hit routine
wwa_ctrl = 28: rem .l $1c pointer to sub-window control routine (or 0)
wwa_nxsc = 32: rem .w $20 maximum number of x control sections
wwa_nysc = 34: rem .w $22 maximum number of y control sections
wwa_skey = 36: rem .b $24 application sub-window selection key
wwa_blen% = 40: rem $28 - application sub-window basic definition length
rem *
rem * pannable and scrollable sub-windows only (wwa_nxsc or wwa_nysc <>0)
rem *
wwa_part = 40: rem .l $28 pointer to the part window control block (or 0)
wwa_insz = 44: rem .w $2c index hit size
wwa_insp = 46: rem .w $2e index spacing left or above sub-window
wwa_icur = 48: rem .l $30 index current item attribute (border width, colour)
wwa_iiat = 52: rem $34 index item attribute record
wwa_psac = 64: rem .w $40 pan or scroll arrow colour
wwa_psbc = 66: rem .w $42 pan or scroll bar colour
wwa_pssc = 68: rem .w $44 pan or scroll bar section colour
wwa_clen% = 30: rem $1e - application sub-window control definition length
rem *
rem * menu sub-windows only
rem *
wwa_mstt = 100: rem .l $64 pointer to the menu status block
wwa_iatt = 104: rem $68 item attributes
wwa_ncol = 144: rem .w $90 number of actual columns
wwa_nrow = 146: rem .w $92 number of actual rows
wwa_xoff = 148: rem .w $94 x offset of start of menu (section)
wwa_yoff = 150: rem .w $96 y offset of start of menu (section)
wwa_xspc = 152: rem .l $98 pointer to x (column) spacing list or -ve spacings
wwa_yspc = 156: rem .l $9c pointer to y (row) spacing list or -ve spacings
wwa_xind = 160: rem .l $a0 pointer to x (column) index list
wwa_yind = 164: rem .l $a4 pointer to y (row) index list
wwa_rowl = 168: rem .l $a8 pointer to menu row list
wwa_mlen% = 72: rem $48 - length of menu working definition
rem *
rem * menu object spacing list
rem *
wwm_size = 0: rem .w $00 object hit size
wwm_spce = 2: rem .w $02 object spacing
wwm_slen% = 4: rem $04 - object spacing list element length
rem *
rem * menu row list
rem *
wwm_rows = 0: rem .l $00 pointer to object row list start
wwm_rowe = 4: rem .l $04 pointer to object row list end
wwm_rlen% = 8: rem $08 - menu row list element length
rem *
rem * menu object / index list
wwm_xjst = 0: rem .b $00 object x justification rule
wwm_yjst = 1: rem .b $01 object y justification rule
wwm_type = 2: rem .b $02 object type (0=text, 2=sprite, 4=blob, 6=pattern)
wwm_skey = 3: rem .b $03 selection keystroke
wwm_pobj = 4: rem .l $04 pointer to object
wwm_item = 8: rem .w $08 item number (-ve for index)
wwm_pact = 10: rem .l $0a pointer to action routine (zero for index)
wwm_olen% = 14: rem $0e - menu object / index list entry length
rem *
Generated with sb2htm on 2019 Mar 12
©pjwitte March 2oi9
QL Software
