The size of the definition of an application sub-window depends on its use. It is not practical therefore to have a list of the definitions. Instead there is a list of long word pointers to the definitions. This list is terminated by a zero long word.
The smallest definition consists of a window definition followed by two control definitions.
Name Off Size Description ------------------------------------------------------------------------- wwa_xsiz $00 word width in pixels wwa_ysiz $02 word height in pixels wwa_xorg $04 word x origin wwa_yorg $06 word y origin wwa_watt $08 sub-window attributes (See Note) wwa_pspr $10 long pointer to sprite for this sub-window wwa_draw $1c long pointer to draw routine wwa_hit $18 long pointer to hit routine wwa_ctrl $1c long pointer to control routine (or 0) wwa_nxsc $20 word maximum number of x control sections wwa_nysc $22 word maximum number of y control sections wwa_skey $24 byte selection key wwa.blen $28 length of basic definition -------------------------------------------------------------------------
Two control definitions follow. The first is for pannable sub-windows and the second for scrollable sub-windows. If there is no panning or scrolling the appropriate definition is filled with zeros.
The first definition starts at offset $28 and the second wwa.clen bytes later at offset $48.
Name Off Size Description ------------------------------------------------------------------------- wwa_part $28 long pointer to control block (or 0) $2c 20 unused bytes wwa_psac $40 word pan or scroll arrow colour wwa_psbc $42 word pan or scroll bar colour wwa_pssc $44 word pan or scroll bar section colour wwa.clen $1e control definition length -------------------------------------------------------------------------
The operation of pannable or scrollable windows is governed by the relevant control block. Such a window can be divided into sections by a DO on the pan or scroll bar. The maximum number of possible sections is given in wwa_nxsc and wwa_nysc for panning and scrolling.