mirror of
https://github.com/mi57730/a2d.git
synced 2025-01-05 18:29:21 +00:00
Adjust vertical spacing in Selector Entry picker (Issue #126)
This commit is contained in:
parent
910d11b688
commit
2546a639db
@ -442,6 +442,7 @@ winfo_about_dialog_port := winfo_about_dialog::port
|
||||
|
||||
.proc winfo_entry_picker
|
||||
width = 350
|
||||
height = 118
|
||||
|
||||
window_id: .byte $1B
|
||||
options: .byte MGTK::Option::dialog_box
|
||||
@ -459,10 +460,10 @@ mincontlength: .word 50
|
||||
maxcontwidth: .word 500
|
||||
maxcontlength: .word 140
|
||||
port:
|
||||
viewloc: DEFINE_POINT (screen_width - width) / 2, 25
|
||||
viewloc: DEFINE_POINT (screen_width - width) / 2, (screen_height - height) / 2
|
||||
mapbits: .addr MGTK::screen_mapbits
|
||||
mapwidth: .word MGTK::screen_mapwidth
|
||||
cliprect: DEFINE_RECT 0, 0, width, 110
|
||||
cliprect: DEFINE_RECT 0, 0, width, height
|
||||
penpattern: .res 8, $FF
|
||||
colormasks: .byte MGTK::colormask_and, MGTK::colormask_or
|
||||
penloc: DEFINE_POINT 0, 0
|
||||
@ -498,11 +499,12 @@ dialog_label_pos:
|
||||
DEFINE_RECT 0, 0, 358, 100
|
||||
.endproc
|
||||
|
||||
entry_picker_item_height = 9 ; default font height
|
||||
|
||||
entry_picker_outer_rect:
|
||||
DEFINE_RECT 4,2,346,108
|
||||
DEFINE_RECT 4,2,winfo_entry_picker::width-4,winfo_entry_picker::height-2
|
||||
entry_picker_inner_rect:
|
||||
DEFINE_RECT 5,3,345,107
|
||||
DEFINE_RECT 5,3,winfo_entry_picker::width-5,winfo_entry_picker::height-3
|
||||
|
||||
;; Line endpoints
|
||||
entry_picker_line1_start:
|
||||
@ -512,20 +514,20 @@ entry_picker_line1_end:
|
||||
|
||||
;; Line endpoints
|
||||
entry_picker_line2_start:
|
||||
DEFINE_POINT 6,89
|
||||
DEFINE_POINT 6,winfo_entry_picker::height-21
|
||||
entry_picker_line2_end:
|
||||
DEFINE_POINT 344,89
|
||||
DEFINE_POINT 344,winfo_entry_picker::height-21
|
||||
|
||||
entry_picker_ok_rect:
|
||||
DEFINE_RECT 210,92,310,103
|
||||
DEFINE_RECT 210,winfo_entry_picker::height-18,310,winfo_entry_picker::height-7
|
||||
|
||||
entry_picker_cancel_rect:
|
||||
DEFINE_RECT 40,92,140,103
|
||||
DEFINE_RECT 40,winfo_entry_picker::height-18,140,winfo_entry_picker::height-7
|
||||
|
||||
entry_picker_ok_pos:
|
||||
DEFINE_POINT 215,102
|
||||
DEFINE_POINT 215,winfo_entry_picker::height-8
|
||||
entry_picker_cancel_pos:
|
||||
DEFINE_POINT 45,102
|
||||
DEFINE_POINT 45,winfo_entry_picker::height-8
|
||||
|
||||
;; ???
|
||||
.word 130,7,220,19
|
||||
@ -568,7 +570,7 @@ entry_picker_item_rect:
|
||||
DEFINE_RECT 0,0,0,0,entry_picker_item_rect
|
||||
|
||||
entry_picker_all_items_rect:
|
||||
DEFINE_RECT 6,23,344,87
|
||||
DEFINE_RECT 6,23,344,winfo_entry_picker::height-23
|
||||
|
||||
LD887:
|
||||
.byte 0
|
||||
|
@ -435,62 +435,63 @@ L9423: addr_call L94F0, run_an_entry_label
|
||||
|
||||
L942B: stx $07
|
||||
sta $06
|
||||
lda dialog_label_pos
|
||||
lda dialog_label_pos::xcoord
|
||||
sta L94A8
|
||||
tya
|
||||
pha
|
||||
cmp #$10
|
||||
cmp #16 ; 3rd column (16-24)
|
||||
bcc L9441
|
||||
sec
|
||||
sbc #$10
|
||||
sbc #16
|
||||
jmp L9448
|
||||
|
||||
L9441: cmp #$08
|
||||
;; 8 rows
|
||||
L9441: cmp #8 ; 2nd column (8-15)
|
||||
bcc L9448
|
||||
sec
|
||||
sbc #$08
|
||||
L9448: ldx #$00
|
||||
stx L94A7
|
||||
asl a
|
||||
rol L94A7
|
||||
asl a
|
||||
rol L94A7
|
||||
asl a
|
||||
rol L94A7
|
||||
sbc #8
|
||||
|
||||
;; A has row
|
||||
L9448: ldx #0
|
||||
ldy #entry_picker_item_height
|
||||
jsr Multiply_16_8_16 ; A,X = A,X * Y
|
||||
clc
|
||||
adc #$20
|
||||
sta dialog_label_pos+2
|
||||
lda L94A7
|
||||
adc #0
|
||||
sta dialog_label_pos+3
|
||||
pla
|
||||
cmp #$08
|
||||
bcs L9471
|
||||
lda #$00
|
||||
tax
|
||||
beq L947F
|
||||
L9471: cmp #$10
|
||||
bcs L947B
|
||||
ldx #$00
|
||||
lda #$73
|
||||
bne L947F
|
||||
L947B: ldax #220
|
||||
L947F: clc
|
||||
adc #10
|
||||
sta dialog_label_pos
|
||||
adc #32
|
||||
sta dialog_label_pos::ycoord
|
||||
txa
|
||||
adc #0
|
||||
sta dialog_label_pos+1
|
||||
sta dialog_label_pos::ycoord+1
|
||||
pla
|
||||
|
||||
cmp #8
|
||||
bcs :+
|
||||
lda #0 ; col 1
|
||||
tax
|
||||
beq L947F ; always
|
||||
|
||||
: cmp #16
|
||||
bcs :+
|
||||
ldx #0
|
||||
lda #115 ; col 2
|
||||
bne L947F ; always
|
||||
|
||||
: ldax #220 ; col 3
|
||||
|
||||
L947F: clc
|
||||
adc #10
|
||||
sta dialog_label_pos::xcoord
|
||||
txa
|
||||
adc #0
|
||||
sta dialog_label_pos::xcoord+1
|
||||
MGTK_RELAY_CALL MGTK::MoveTo, dialog_label_pos
|
||||
ldax $06
|
||||
jsr L94CB
|
||||
lda L94A8
|
||||
sta dialog_label_pos
|
||||
sta dialog_label_pos::xcoord
|
||||
lda #0
|
||||
sta dialog_label_pos+1
|
||||
sta dialog_label_pos::xcoord+1
|
||||
rts
|
||||
|
||||
L94A7: .byte 0
|
||||
L94A8: .byte 0
|
||||
|
||||
L94A9: MGTK_RELAY_CALL MGTK::MoveTo, entry_picker_ok_pos
|
||||
@ -677,17 +678,19 @@ L9716: cmp16 screentowindow_windowx, #110
|
||||
L9732: lda #1
|
||||
bne L9738
|
||||
L9736: lda #0
|
||||
|
||||
;; Determine row
|
||||
L9738: pha
|
||||
lsr16 screentowindow_windowy
|
||||
lsr16 screentowindow_windowy
|
||||
lsr16 screentowindow_windowy
|
||||
lda screentowindow_windowy
|
||||
ldax screentowindow_windowy
|
||||
ldy #entry_picker_item_height
|
||||
jsr Divide_16_8_16
|
||||
stax screentowindow_windowy
|
||||
cmp #8
|
||||
bcc L9756
|
||||
bcc :+
|
||||
pla
|
||||
return #$FF
|
||||
|
||||
L9756: pla
|
||||
: pla
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
@ -754,17 +757,17 @@ L97B6: clc
|
||||
|
||||
L97D1: sec
|
||||
sbc #16
|
||||
L97D4: asl a
|
||||
asl a
|
||||
asl a
|
||||
L97D4: ldx #0
|
||||
ldy #entry_picker_item_height
|
||||
jsr Multiply_16_8_16
|
||||
clc
|
||||
adc #24
|
||||
sta entry_picker_item_rect::y1
|
||||
lda #0
|
||||
txa
|
||||
adc #0
|
||||
sta entry_picker_item_rect::y1+1
|
||||
add16 entry_picker_item_rect::x1, #106, entry_picker_item_rect::x2
|
||||
add16 entry_picker_item_rect::y1, #7, entry_picker_item_rect::y2
|
||||
add16 entry_picker_item_rect::y1, #entry_picker_item_height-1, entry_picker_item_rect::y2
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, entry_picker_item_rect
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, pencopy
|
||||
|
Loading…
Reference in New Issue
Block a user