mirror of
https://github.com/mi57730/a2d.git
synced 2025-08-07 18:24:58 +00:00
scrollbars
This commit is contained in:
@@ -4395,6 +4395,10 @@ ycoord: .word 0
|
|||||||
|
|
||||||
;; When event_params_coords is used for FindControl/FindWindow/ScreenToWindow
|
;; When event_params_coords is used for FindControl/FindWindow/ScreenToWindow
|
||||||
|
|
||||||
|
activatectl_params := event_params
|
||||||
|
activatectl_params_which_ctl := activatectl_params
|
||||||
|
activatectl_params_activate := activatectl_params + 1
|
||||||
|
|
||||||
trackthumb_params := event_params
|
trackthumb_params := event_params
|
||||||
trackthumb_which_ctl := trackthumb_params
|
trackthumb_which_ctl := trackthumb_params
|
||||||
trackthumb_mousex := trackthumb_params + 1
|
trackthumb_mousex := trackthumb_params + 1
|
||||||
@@ -6042,7 +6046,7 @@ L41CB: ldx cached_window_id
|
|||||||
L41E2: lda cached_window_id
|
L41E2: lda cached_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
ldx #7
|
ldx #7
|
||||||
L41F0: lda grafport2::cliprect,x
|
L41F0: lda grafport2::cliprect,x
|
||||||
sta rect_E230,x
|
sta rect_E230,x
|
||||||
@@ -6067,7 +6071,7 @@ L4227: lda #$00
|
|||||||
lda cached_window_id
|
lda cached_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
jsr L8874
|
jsr L8874
|
||||||
jmp reset_grafport3
|
jmp reset_grafport3
|
||||||
@@ -7938,7 +7942,7 @@ L516D: lda L51EB,x
|
|||||||
lda active_window_id
|
lda active_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
lda #$00
|
lda #$00
|
||||||
sta L51EF
|
sta L51EF
|
||||||
L518D: lda L51EF
|
L518D: lda L51EF
|
||||||
@@ -7953,9 +7957,9 @@ L518D: lda L51EF
|
|||||||
jmp L518D
|
jmp L518D
|
||||||
|
|
||||||
L51A7: jsr reset_grafport3
|
L51A7: jsr reset_grafport3
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
jsr DESKTOP_COPY_FROM_BUF
|
jsr DESKTOP_COPY_FROM_BUF
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
lda selected_window_index
|
lda selected_window_index
|
||||||
beq L51E3
|
beq L51E3
|
||||||
lda is_file_selected
|
lda is_file_selected
|
||||||
@@ -8022,7 +8026,7 @@ L5246: lda L5263,x
|
|||||||
sta L4152
|
sta L4152
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
jsr L6C19
|
jsr L6C19
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
lda #$00
|
lda #$00
|
||||||
sta L4152
|
sta L4152
|
||||||
rts
|
rts
|
||||||
@@ -9312,7 +9316,7 @@ done_client_click:
|
|||||||
jsr L84D1
|
jsr L84D1
|
||||||
bit L5B1B
|
bit L5B1B
|
||||||
bmi :+
|
bmi :+
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
: lda active_window_id
|
: lda active_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
@@ -9455,7 +9459,7 @@ L5DAD: cpx #$FF
|
|||||||
lda active_window_id
|
lda active_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
jsr offset_grafport2_and_set
|
jsr offset_grafport2_and_set
|
||||||
ldx is_file_selected
|
ldx is_file_selected
|
||||||
dex
|
dex
|
||||||
@@ -9471,8 +9475,8 @@ L5DC4: txa
|
|||||||
lda active_window_id
|
lda active_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
L5DEC: jsr DESKTOP_COPY_FROM_BUF
|
L5DEC: jsr DESKTOP_COPY_FROM_BUF
|
||||||
lda #$00
|
lda #$00
|
||||||
@@ -9845,9 +9849,9 @@ L619A: .byte 0
|
|||||||
lda active_window_id
|
lda active_window_id
|
||||||
sta cached_window_id
|
sta cached_window_id
|
||||||
jsr DESKTOP_COPY_TO_BUF
|
jsr DESKTOP_COPY_TO_BUF
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
lda #$00
|
lda #$00
|
||||||
sta cached_window_id
|
sta cached_window_id
|
||||||
jsr DESKTOP_COPY_TO_BUF
|
jsr DESKTOP_COPY_TO_BUF
|
||||||
@@ -10040,7 +10044,7 @@ L63C1: ldax L7B61
|
|||||||
L63C7: stax grafport2::cliprect::y1
|
L63C7: stax grafport2::cliprect::y1
|
||||||
add16_8 grafport2::cliprect::y1, L63E9, grafport2::cliprect::y2
|
add16_8 grafport2::cliprect::y1, L63E9, grafport2::cliprect::y2
|
||||||
jsr L653E
|
jsr L653E
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jmp L6556
|
jmp L6556
|
||||||
|
|
||||||
L63E8: .byte 0
|
L63E8: .byte 0
|
||||||
@@ -10060,7 +10064,7 @@ L6421: ldax L7B65
|
|||||||
L6427: stax grafport2::cliprect::y2
|
L6427: stax grafport2::cliprect::y2
|
||||||
sub16_8 grafport2::cliprect::y2, L6449, grafport2::cliprect::y1
|
sub16_8 grafport2::cliprect::y2, L6449, grafport2::cliprect::y1
|
||||||
jsr L653E
|
jsr L653E
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jmp L6556
|
jmp L6556
|
||||||
|
|
||||||
L6448: .byte 0
|
L6448: .byte 0
|
||||||
@@ -10084,7 +10088,7 @@ L6484: ldax L7B5F
|
|||||||
L648A: stax grafport2::cliprect::x1
|
L648A: stax grafport2::cliprect::x1
|
||||||
add16 grafport2::cliprect::x1, L64AC, grafport2::cliprect::x2
|
add16 grafport2::cliprect::x1, L64AC, grafport2::cliprect::x2
|
||||||
jsr L653E
|
jsr L653E
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jmp L6556
|
jmp L6556
|
||||||
|
|
||||||
L64AC: .word 0
|
L64AC: .word 0
|
||||||
@@ -10102,7 +10106,7 @@ L64E3: ldax L7B63
|
|||||||
L64E9: stax grafport2::cliprect::x2
|
L64E9: stax grafport2::cliprect::x2
|
||||||
sub16 grafport2::cliprect::x2, L650B, grafport2::cliprect::x1
|
sub16 grafport2::cliprect::x2, L650B, grafport2::cliprect::x1
|
||||||
jsr L653E
|
jsr L653E
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jmp L6556
|
jmp L6556
|
||||||
|
|
||||||
L650B: .word 0
|
L650B: .word 0
|
||||||
@@ -10110,7 +10114,7 @@ L650D: .word 0
|
|||||||
|
|
||||||
L650F: bit L5B1B
|
L650F: bit L5B1B
|
||||||
bmi L6517
|
bmi L6517
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
L6517: jsr L6523
|
L6517: jsr L6523
|
||||||
jsr L7B6B
|
jsr L7B6B
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
@@ -10145,12 +10149,15 @@ L654C: lda grafport2::cliprect::x1,x
|
|||||||
|
|
||||||
L6556: bit L5B1B
|
L6556: bit L5B1B
|
||||||
bmi L655E
|
bmi L655E
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
L655E: MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect::x1
|
L655E: MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect::x1
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
jmp L6C19
|
jmp L6C19
|
||||||
|
|
||||||
L656D: lda active_window_id
|
;;; ==================================================
|
||||||
|
|
||||||
|
.proc update_hthumb
|
||||||
|
lda active_window_id
|
||||||
jsr L7D5D
|
jsr L7D5D
|
||||||
stax L6600
|
stax L6600
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
@@ -10186,7 +10193,12 @@ L65EE: sta event_params+1
|
|||||||
L6600: .word 0
|
L6600: .word 0
|
||||||
L6602: .byte 0
|
L6602: .byte 0
|
||||||
L6603: .byte 0
|
L6603: .byte 0
|
||||||
L6604: lda active_window_id
|
.endproc
|
||||||
|
|
||||||
|
;;; ==================================================
|
||||||
|
|
||||||
|
.proc update_vthumb
|
||||||
|
lda active_window_id
|
||||||
jsr L7D5D
|
jsr L7D5D
|
||||||
sty L669F
|
sty L669F
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
@@ -10224,6 +10236,7 @@ L668D: sta event_params+1
|
|||||||
L669F: .byte 0
|
L669F: .byte 0
|
||||||
L66A0: .byte 0
|
L66A0: .byte 0
|
||||||
L66A1: .byte 0
|
L66A1: .byte 0
|
||||||
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
@@ -10771,7 +10784,7 @@ L6BB8: jsr L744B
|
|||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr draw_window_header
|
jsr draw_window_header
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
lda #$00
|
lda #$00
|
||||||
sta L6C0E
|
sta L6C0E
|
||||||
L6BDA: lda L6C0E
|
L6BDA: lda L6C0E
|
||||||
@@ -10787,8 +10800,8 @@ L6BDA: lda L6C0E
|
|||||||
|
|
||||||
L6BF4: lda cached_window_id
|
L6BF4: lda cached_window_id
|
||||||
sta active_window_id
|
sta active_window_id
|
||||||
jsr L6DB1
|
jsr update_scrollbars
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
jsr DESKTOP_COPY_FROM_BUF
|
jsr DESKTOP_COPY_FROM_BUF
|
||||||
lda #$00
|
lda #$00
|
||||||
sta cached_window_id
|
sta cached_window_id
|
||||||
@@ -10895,7 +10908,7 @@ L6CCD: lda cached_window_id
|
|||||||
bit L4152
|
bit L4152
|
||||||
bmi L6CDE
|
bmi L6CDE
|
||||||
jsr draw_window_header
|
jsr draw_window_header
|
||||||
L6CDE: jsr L6E52
|
L6CDE: jsr cached_icons_window_to_screen
|
||||||
jsr offset_grafport2_and_set
|
jsr offset_grafport2_and_set
|
||||||
ldx #$07
|
ldx #$07
|
||||||
L6CE6: lda grafport2::cliprect,x
|
L6CE6: lda grafport2::cliprect,x
|
||||||
@@ -10912,7 +10925,7 @@ L6CF3: cpx cached_window_icon_count
|
|||||||
lda cached_window_id
|
lda cached_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L6D09: txa
|
L6D09: txa
|
||||||
@@ -10987,7 +11000,7 @@ L6DB0: .byte 0
|
|||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
.proc L6DB1
|
.proc update_scrollbars
|
||||||
ldx active_window_id
|
ldx active_window_id
|
||||||
dex
|
dex
|
||||||
lda win_buf_table,x
|
lda win_buf_table,x
|
||||||
@@ -10995,87 +11008,103 @@ L6DB0: .byte 0
|
|||||||
jsr L7B6B
|
jsr L7B6B
|
||||||
jmp L6DC9
|
jmp L6DC9
|
||||||
|
|
||||||
L6DC0: jsr L6E52
|
L6DC0: jsr cached_icons_window_to_screen
|
||||||
jsr L7B6B
|
jsr L7B6B
|
||||||
jsr L6E6E
|
jsr cached_icons_screen_to_window
|
||||||
L6DC9: lda active_window_id
|
L6DC9: lda active_window_id
|
||||||
sta getwinport_params2::window_id
|
sta getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
cmp16 L7B5F, grafport2::cliprect::x1
|
|
||||||
bmi L6DFE
|
|
||||||
cmp16 grafport2::cliprect::x2, L7B63
|
|
||||||
bmi L6DFE
|
|
||||||
lda #$02
|
|
||||||
sta event_params
|
|
||||||
lda #$00
|
|
||||||
sta event_params+1
|
|
||||||
jsr L6E48
|
|
||||||
jmp L6E0E
|
|
||||||
|
|
||||||
L6DFE: lda #$02
|
;; check horizontal bounds
|
||||||
sta event_params
|
cmp16 L7B5F, grafport2::cliprect::x1
|
||||||
lda #$01
|
bmi activate_hscroll
|
||||||
sta event_params+1
|
cmp16 grafport2::cliprect::x2, L7B63
|
||||||
jsr L6E48
|
bmi activate_hscroll
|
||||||
jsr L656D
|
|
||||||
L6E0E: cmp16 L7B61, grafport2::cliprect::y1
|
;; deactivate horizontal scrollbar
|
||||||
bmi L6E38
|
lda #MGTK::ctl_horizontal_scroll_bar
|
||||||
|
sta activatectl_params_which_ctl
|
||||||
|
lda #MGTK::activatectl_deactivate
|
||||||
|
sta activatectl_params_activate
|
||||||
|
jsr activate_ctl
|
||||||
|
|
||||||
|
jmp check_vscroll
|
||||||
|
|
||||||
|
activate_hscroll:
|
||||||
|
;; activate horizontal scrollbar
|
||||||
|
lda #MGTK::ctl_horizontal_scroll_bar
|
||||||
|
sta activatectl_params_which_ctl
|
||||||
|
lda #MGTK::activatectl_activate
|
||||||
|
sta activatectl_params_activate
|
||||||
|
jsr activate_ctl
|
||||||
|
jsr update_hthumb
|
||||||
|
|
||||||
|
check_vscroll:
|
||||||
|
;; check vertical bounds
|
||||||
|
cmp16 L7B61, grafport2::cliprect::y1
|
||||||
|
bmi activate_vscroll
|
||||||
cmp16 grafport2::cliprect::y2, L7B65
|
cmp16 grafport2::cliprect::y2, L7B65
|
||||||
bmi L6E38
|
bmi activate_vscroll
|
||||||
lda #$01
|
|
||||||
sta event_params
|
;; deactivate vertical scrollbar
|
||||||
lda #$00
|
lda #MGTK::ctl_vertical_scroll_bar
|
||||||
sta event_params+1
|
sta activatectl_params_which_ctl
|
||||||
jsr L6E48
|
lda #MGTK::activatectl_deactivate
|
||||||
|
sta activatectl_params_activate
|
||||||
|
jsr activate_ctl
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L6E38: lda #$01
|
activate_vscroll:
|
||||||
sta event_params
|
;; activate vertical scrollbar
|
||||||
lda #$01
|
lda #MGTK::ctl_vertical_scroll_bar
|
||||||
sta event_params+1
|
sta activatectl_params_which_ctl
|
||||||
jsr L6E48
|
lda #MGTK::activatectl_activate
|
||||||
jmp L6604
|
sta activatectl_params_activate
|
||||||
|
jsr activate_ctl
|
||||||
|
jmp update_vthumb
|
||||||
|
|
||||||
L6E48: MGTK_RELAY_CALL MGTK::ActivateCtl, event_params ; ???
|
activate_ctl:
|
||||||
|
MGTK_RELAY_CALL MGTK::ActivateCtl, activatectl_params
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
.proc L6E52
|
.proc cached_icons_window_to_screen
|
||||||
lda #$00
|
lda #0
|
||||||
sta L6E6D
|
sta count
|
||||||
L6E57: lda L6E6D
|
loop: lda count
|
||||||
cmp cached_window_icon_count
|
cmp cached_window_icon_count
|
||||||
beq L6E6C
|
beq done
|
||||||
tax
|
tax
|
||||||
lda cached_window_icon_list,x
|
lda cached_window_icon_list,x
|
||||||
jsr icon_window_to_screen
|
jsr icon_window_to_screen
|
||||||
inc L6E6D
|
inc count
|
||||||
jmp L6E57
|
jmp loop
|
||||||
|
|
||||||
L6E6C: rts
|
done: rts
|
||||||
|
|
||||||
L6E6D: .byte 0
|
count: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
.proc L6E6E
|
.proc cached_icons_screen_to_window
|
||||||
lda #$00
|
lda #0
|
||||||
sta L6E89
|
sta index
|
||||||
L6E73: lda L6E89
|
loop: lda index
|
||||||
cmp cached_window_icon_count
|
cmp cached_window_icon_count
|
||||||
beq L6E88
|
beq done
|
||||||
tax
|
tax
|
||||||
lda cached_window_icon_list,x
|
lda cached_window_icon_list,x
|
||||||
jsr icon_screen_to_window
|
jsr icon_screen_to_window
|
||||||
inc L6E89
|
inc index
|
||||||
jmp L6E73
|
jmp loop
|
||||||
|
|
||||||
L6E88: rts
|
done: rts
|
||||||
|
|
||||||
L6E89: .byte 0
|
index: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
@@ -12956,7 +12985,7 @@ L809E: inc $0805
|
|||||||
jmp L8051
|
jmp L8051
|
||||||
|
|
||||||
.proc L80CA
|
.proc L80CA
|
||||||
lda #$00
|
lda #0
|
||||||
sta $0804
|
sta $0804
|
||||||
lda L0800
|
lda L0800
|
||||||
asl a
|
asl a
|
||||||
@@ -13410,7 +13439,7 @@ L84D0: .byte 0
|
|||||||
L84D1: jsr push_zp_addrs
|
L84D1: jsr push_zp_addrs
|
||||||
bit L5B1B
|
bit L5B1B
|
||||||
bmi L84DC
|
bmi L84DC
|
||||||
jsr L6E52
|
jsr cached_icons_window_to_screen
|
||||||
L84DC: sub16 grafport2::cliprect::x2, grafport2::cliprect::x1, L85F8
|
L84DC: sub16 grafport2::cliprect::x2, grafport2::cliprect::x1, L85F8
|
||||||
sub16 grafport2::cliprect::y2, grafport2::cliprect::y1, L85FA
|
sub16 grafport2::cliprect::y2, grafport2::cliprect::y1, L85FA
|
||||||
lda event_params_kind
|
lda event_params_kind
|
||||||
|
4
mgtk.inc
4
mgtk.inc
@@ -587,6 +587,10 @@ disableitem_disable := 1
|
|||||||
checkitem_uncheck := 0
|
checkitem_uncheck := 0
|
||||||
checkitem_check := 1
|
checkitem_check := 1
|
||||||
|
|
||||||
|
;;; Used in ActivateCtl
|
||||||
|
activatectl_deactivate := 0
|
||||||
|
activatectl_activate := 1
|
||||||
|
|
||||||
;;; Response from InRect/InPoly
|
;;; Response from InRect/InPoly
|
||||||
inrect_inside := $80
|
inrect_inside := $80
|
||||||
inrect_outside := $00
|
inrect_outside := $00
|
||||||
|
Reference in New Issue
Block a user