Window params includes text box params, which defines initial window bounds

This commit is contained in:
Joshua Bell 2017-09-03 10:44:42 -07:00
parent 467a1783c6
commit 454d2db7f6
4 changed files with 69 additions and 16 deletions

View File

@ -36,6 +36,8 @@ A2D_TEXT_BOX2 := $06 ; Not sure what BOX1 vs. BOX2 is for
;; .word width pixels
;; .word height
A2D_UNK_07 := $07 ; Unknown - used in calculator
A2D_SET_PATTERN := $08
;; .byte r0...r7 8x8 pixel pattern for A2D_CLEAR_BOX calls
@ -52,15 +54,23 @@ A2D_CLEAR_BOX := $11 ; To window background pattern
;; .word height
A2D_UNK_14 := $14 ; Unknown - draws push button (calculator)
A2D_UNK_19 := $19 ; Unknown - draws button label (calculator)
A2D_DRAW_TEXT := $19
;; .addr data
;; .byte length
A2D_UNK_1A := $1A ; Unknown - used in calculator before window creation
A2D_UNK_24 := $24 ; Unknown - used in calculator
A2D_GET_BUTTON := $2A
;; .byte state (0=up, 1=pressed, 2=held???)
A2D_UNK_2B := $2B ; Unknown
;; no parameters (pass $0000 as address)
A2D_UNK_2D := $2D ; Unknown - used in calculator
A2D_CREATE_WINDOW := $38
;; .byte id
;; 0 = desktop
@ -79,16 +89,27 @@ A2D_CREATE_WINDOW := $38
;; .byte vscroll_pos
;; .byte ???
;; .byte ???
;; .byte ???
;; .byte ???
;; .byte ???
;; .byte ???
;; .word width
;; .word width_a ???
;; .word height_a ???
;; .word width_b (of scroll area?)
;; .word height_b (of scroll area?)
;; - next section is identical to that for TEXT_BOX
;; .word left pixels from screen edge
;; .word top
;; .word $2000 ???
;; .word $80 ???
;; .word hoffset pixels scrolled
;; .word voffset
;; .word width pixels
;; .word height
A2D_DESTROY_WINDOW := $39
;; pass the same block as passed to A2D_CREATE_WINDOW
A2D_UNK_3C := $3C ; Unknown, used in calculator
A2D_GET_MOUSE := $40
;; .word x
;; .word y
@ -112,6 +133,10 @@ A2D_DRAG_RESIZE := $45
;; .word ycoord of mouse
;; .byte ?? (likely: moved? 0 = no change, 1 = moved)
A2D_UNK_44 := $44 ; Unknown - used in calculator
A2D_UNK_46 := $46 ; Unknown - used in calculator
A2D_QUERY_CLIENT:= $48
;; .word xcoord of query
;; .word ycoord of query

View File

@ -113,6 +113,8 @@ Current file: stf.s
000800 2 ;; .word width pixels
000800 2 ;; .word height
000800 2
000800 2 A2D_UNK_07 := $07 ; Unknown - used in calculator
000800 2
000800 2 A2D_SET_PATTERN := $08
000800 2 ;; .byte r0...r7 8x8 pixel pattern for A2D_CLEAR_BOX calls
000800 2
@ -129,15 +131,23 @@ Current file: stf.s
000800 2 ;; .word height
000800 2
000800 2 A2D_UNK_14 := $14 ; Unknown - draws push button (calculator)
000800 2 A2D_UNK_19 := $19 ; Unknown - draws button label (calculator)
000800 2
000800 2 A2D_DRAW_TEXT := $19
000800 2 ;; .addr data
000800 2 ;; .byte length
000800 2
000800 2 A2D_UNK_1A := $1A ; Unknown - used in calculator before window creation
000800 2
000800 2 A2D_UNK_24 := $24 ; Unknown - used in calculator
000800 2
000800 2 A2D_GET_BUTTON := $2A
000800 2 ;; .byte state (0=up, 1=pressed, 2=held???)
000800 2
000800 2 A2D_UNK_2B := $2B ; Unknown
000800 2 ;; no parameters (pass $0000 as address)
000800 2
000800 2 A2D_UNK_2D := $2D ; Unknown - used in calculator
000800 2
000800 2 A2D_CREATE_WINDOW := $38
000800 2 ;; .byte id
000800 2 ;; 0 = desktop
@ -156,16 +166,27 @@ Current file: stf.s
000800 2 ;; .byte vscroll_pos
000800 2 ;; .byte ???
000800 2 ;; .byte ???
000800 2 ;; .byte ???
000800 2 ;; .byte ???
000800 2 ;; .byte ???
000800 2 ;; .byte ???
000800 2 ;; .word width
000800 2 ;; .word width_a ???
000800 2 ;; .word height_a ???
000800 2 ;; .word width_b (of scroll area?)
000800 2 ;; .word height_b (of scroll area?)
000800 2 ;; - next section is identical to that for TEXT_BOX
000800 2 ;; .word left pixels from screen edge
000800 2 ;; .word top
000800 2 ;; .word $2000 ???
000800 2 ;; .word $80 ???
000800 2 ;; .word hoffset pixels scrolled
000800 2 ;; .word voffset
000800 2 ;; .word width pixels
000800 2 ;; .word height
000800 2
000800 2
000800 2
000800 2 A2D_DESTROY_WINDOW := $39
000800 2 ;; pass the same block as passed to A2D_CREATE_WINDOW
000800 2
000800 2 A2D_UNK_3C := $3C ; Unknown, used in calculator
000800 2
000800 2 A2D_GET_MOUSE := $40
000800 2 ;; .word x
000800 2 ;; .word y
@ -189,6 +210,10 @@ Current file: stf.s
000800 2 ;; .word ycoord of mouse
000800 2 ;; .byte ?? (likely: moved? 0 = no change, 1 = moved)
000800 2
000800 2 A2D_UNK_44 := $44 ; Unknown - used in calculator
000800 2
000800 2 A2D_UNK_46 := $46 ; Unknown - used in calculator
000800 2
000800 2 A2D_QUERY_CLIENT:= $48
000800 2 ;; .word xcoord of query
000800 2 ;; .word ycoord of query
@ -262,6 +287,10 @@ Current file: stf.s
000800 2 .endmacro
000800 2
000800 1
000800 1 ;; Big questions:
000800 1 ;; * How can we hide/show the cursor on demand?
000800 1 ;; * Can we trigger menu redraw? (if not, need to preserve for fullscreen)
000800 1
000800 1 4C 04 08 start: jmp copy2aux
000803 1
000803 1 00 save_stack:.byte 0
@ -596,7 +625,7 @@ Current file: stf.s
0009A4 1 00 02 width: .word default_width
0009A6 1 96 00 height: .word default_height
0009A8 1 .endproc
0009A8 1
0009A8 1 ;; window_params continues into text_box
0009A8 1 .proc text_box ; or whole window ??
0009A8 1 0A 00 left: .word 10
0009AA 1 1C 00 top: .word 28

Binary file not shown.

View File

@ -6,9 +6,8 @@
.include "a2d.inc"
;; Big questions:
;; * How is initial window position specified?
;; * How can we hide/show the cursor on demand?
;; * Can we trigger menu redraw?
;; * Can we trigger menu redraw? (if not, need to preserve for fullscreen)
start: jmp copy2aux
@ -328,7 +327,7 @@ vscroll_pos:
width: .word default_width
height: .word default_height
.endproc
;; window_params continues into text_box
.proc text_box ; or whole window ??
left: .word 10
top: .word 28