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