mirror of
https://github.com/mi57730/a2d.git
synced 2024-11-29 22:49:28 +00:00
Center volume icons using icon defs
This commit is contained in:
parent
e403bef725
commit
1a0fe7ec55
@ -2704,13 +2704,6 @@ LA923: lda setportbits_params2::cliprect::x2
|
|||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
;; 5.25" Floppy Disk
|
|
||||||
floppy140_icon:
|
|
||||||
.addr floppy140_pixels; mapbits
|
|
||||||
.byte 4 ; mapwidth
|
|
||||||
.byte 0 ; reserved
|
|
||||||
DEFINE_RECT 0, 0, 26, 14 ; maprect
|
|
||||||
|
|
||||||
floppy140_pixels:
|
floppy140_pixels:
|
||||||
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
|
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
|
||||||
.byte px(%1100000),px(%0000011),px(%1000000),px(%0000110)
|
.byte px(%1100000),px(%0000011),px(%1000000),px(%0000110)
|
||||||
@ -2728,13 +2721,6 @@ floppy140_pixels:
|
|||||||
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000110)
|
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000110)
|
||||||
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
|
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111)
|
||||||
|
|
||||||
;; RAM Disk
|
|
||||||
ramdisk_icon:
|
|
||||||
.addr ramdisk_pixels ; mapbits
|
|
||||||
.byte 6 ; mapwidth
|
|
||||||
.byte 0 ; reserved
|
|
||||||
DEFINE_RECT 0, 0, 39, 11 ; maprect
|
|
||||||
|
|
||||||
ramdisk_pixels:
|
ramdisk_pixels:
|
||||||
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111101)
|
.byte px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111101)
|
||||||
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0001110)
|
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0001110)
|
||||||
@ -2749,13 +2735,6 @@ ramdisk_pixels:
|
|||||||
.byte px(%1010101),px(%0101010),px(%1010101),px(%0110011),px(%0011001),px(%1001101)
|
.byte px(%1010101),px(%0101010),px(%1010101),px(%0110011),px(%0011001),px(%1001101)
|
||||||
.byte px(%0101010),px(%1010101),px(%0101010),px(%1111111),px(%1111111),px(%1111110)
|
.byte px(%0101010),px(%1010101),px(%0101010),px(%1111111),px(%1111111),px(%1111110)
|
||||||
|
|
||||||
;; 3.5" Floppy Disk
|
|
||||||
floppy800_icon:
|
|
||||||
.addr floppy800_pixels; mapbits
|
|
||||||
.byte 3 ; mapwidth
|
|
||||||
.byte 0 ; reserved
|
|
||||||
DEFINE_RECT 0, 0, 20, 11 ; maprect
|
|
||||||
|
|
||||||
floppy800_pixels:
|
floppy800_pixels:
|
||||||
.byte px(%1111111),px(%1111111),px(%1111110)
|
.byte px(%1111111),px(%1111111),px(%1111110)
|
||||||
.byte px(%1100011),px(%0000000),px(%1100111)
|
.byte px(%1100011),px(%0000000),px(%1100111)
|
||||||
@ -2770,13 +2749,6 @@ floppy800_pixels:
|
|||||||
.byte px(%1100110),px(%0000000),px(%0110011)
|
.byte px(%1100110),px(%0000000),px(%0110011)
|
||||||
.byte px(%1111111),px(%1111111),px(%1111111)
|
.byte px(%1111111),px(%1111111),px(%1111111)
|
||||||
|
|
||||||
;; Hard Disk
|
|
||||||
profile_icon:
|
|
||||||
.addr profile_pixels ; mapbits
|
|
||||||
.byte 8 ; mapwidth
|
|
||||||
.byte 0 ; reserved
|
|
||||||
DEFINE_RECT 0, 0, 52, 9 ; maprect
|
|
||||||
|
|
||||||
profile_pixels:
|
profile_pixels:
|
||||||
.byte px(%0111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1110101)
|
.byte px(%0111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1110101)
|
||||||
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0011010)
|
.byte px(%1100000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0011010)
|
||||||
@ -2789,13 +2761,6 @@ profile_pixels:
|
|||||||
.byte px(%0111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1110101)
|
.byte px(%0111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1111111),px(%1110101)
|
||||||
.byte px(%1010111),px(%0101010),px(%1010101),px(%0101010),px(%1010101),px(%0101010),px(%1010111),px(%0101010)
|
.byte px(%1010111),px(%0101010),px(%1010101),px(%0101010),px(%1010101),px(%0101010),px(%1010111),px(%0101010)
|
||||||
|
|
||||||
;; Trash Can
|
|
||||||
trash_icon:
|
|
||||||
.addr trash_pixels ; mapbits
|
|
||||||
.byte 3 ; mapwidth
|
|
||||||
.byte 0 ; reserved
|
|
||||||
DEFINE_RECT 0, 0, 20, 17 ; maprect
|
|
||||||
|
|
||||||
trash_pixels:
|
trash_pixels:
|
||||||
.byte px(%1010101),px(%1111111),px(%1010101)
|
.byte px(%1010101),px(%1111111),px(%1010101)
|
||||||
.byte px(%0101011),px(%1000001),px(%1101010)
|
.byte px(%0101011),px(%1000001),px(%1101010)
|
||||||
@ -3183,7 +3148,6 @@ str_on_system_disk:
|
|||||||
show_alert_indirection:
|
show_alert_indirection:
|
||||||
jmp show_alert_dialog
|
jmp show_alert_dialog
|
||||||
|
|
||||||
;;; TODO: Dedupe with alert_bitmap2 in desktop_res
|
|
||||||
alert_bitmap:
|
alert_bitmap:
|
||||||
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
|
.byte px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
|
||||||
.byte px(%0111111),px(%1111100),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
|
.byte px(%0111111),px(%1111100),px(%0000000),px(%0000000),px(%0000000),px(%0000000),px(%0000000)
|
||||||
|
@ -8575,11 +8575,11 @@ pos_win: .word 0, 0
|
|||||||
;;; 4 = unknown / RAM-based driver
|
;;; 4 = unknown / RAM-based driver
|
||||||
|
|
||||||
device_type_to_icon_address_table:
|
device_type_to_icon_address_table:
|
||||||
.addr desktop_aux::floppy140_icon
|
.addr floppy140_icon
|
||||||
.addr desktop_aux::ramdisk_icon
|
.addr ramdisk_icon
|
||||||
.addr desktop_aux::profile_icon
|
.addr profile_icon
|
||||||
.addr desktop_aux::floppy800_icon
|
.addr floppy800_icon
|
||||||
.addr desktop_aux::profile_icon ; unknown
|
.addr profile_icon ; unknown
|
||||||
|
|
||||||
.proc get_device_type
|
.proc get_device_type
|
||||||
slot_addr := $0A
|
slot_addr := $0A
|
||||||
@ -8685,6 +8685,8 @@ buffer: .res 16, 0 ; length overwritten with '/'
|
|||||||
|
|
||||||
DEFINE_ON_LINE_PARAMS on_line_params,, cvi_data_buffer
|
DEFINE_ON_LINE_PARAMS on_line_params,, cvi_data_buffer
|
||||||
|
|
||||||
|
max_icon_width = 53
|
||||||
|
|
||||||
.proc create_volume_icon
|
.proc create_volume_icon
|
||||||
sta unit_number
|
sta unit_number
|
||||||
dex ; icon numbers are 1-based, and Trash is #1,
|
dex ; icon numbers are 1-based, and Trash is #1,
|
||||||
@ -8714,6 +8716,7 @@ success:
|
|||||||
|
|
||||||
create_icon:
|
create_icon:
|
||||||
icon_ptr := $6
|
icon_ptr := $6
|
||||||
|
icon_defn_ptr := $8
|
||||||
|
|
||||||
jsr push_pointers
|
jsr push_pointers
|
||||||
jsr DESKTOP_ALLOC_ICON
|
jsr DESKTOP_ALLOC_ICON
|
||||||
@ -8754,16 +8757,14 @@ create_icon:
|
|||||||
lda unit_number
|
lda unit_number
|
||||||
jsr get_device_type
|
jsr get_device_type
|
||||||
asl ; * 2
|
asl ; * 2
|
||||||
tay
|
tax
|
||||||
copy16 device_type_to_icon_offset_table,y, offset_x
|
ldy #IconEntry::iconbits
|
||||||
lda device_type_to_icon_address_table,y
|
lda device_type_to_icon_address_table,x
|
||||||
ldx device_type_to_icon_address_table+1,y
|
sta icon_defn_ptr
|
||||||
|
|
||||||
;; Assign icon bitmap
|
|
||||||
assign: ldy #IconEntry::iconbits
|
|
||||||
sta (icon_ptr),y
|
sta (icon_ptr),y
|
||||||
txa
|
|
||||||
iny
|
iny
|
||||||
|
lda device_type_to_icon_address_table+1,x
|
||||||
|
sta icon_defn_ptr+1
|
||||||
sta (icon_ptr),y
|
sta (icon_ptr),y
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
@ -8788,8 +8789,11 @@ assign: ldy #IconEntry::iconbits
|
|||||||
bne :-
|
bne :-
|
||||||
|
|
||||||
;; Center it horizontally
|
;; Center it horizontally
|
||||||
|
ldy #IconDefinition::maprect + MGTK::Rect::x2
|
||||||
|
sub16in #max_icon_width, (icon_defn_ptr),y, offset
|
||||||
|
lsr16 offset ; offset = (max_width - icon_width) / 2
|
||||||
ldy #IconEntry::iconx
|
ldy #IconEntry::iconx
|
||||||
add16in (icon_ptr),y, offset_x, (icon_ptr),y
|
add16in (icon_ptr),y, offset, (icon_ptr),y
|
||||||
|
|
||||||
;; Assign icon number
|
;; Assign icon number
|
||||||
ldx cached_window_icon_count
|
ldx cached_window_icon_count
|
||||||
@ -8803,16 +8807,7 @@ assign: ldy #IconEntry::iconbits
|
|||||||
unit_number: .byte 0
|
unit_number: .byte 0
|
||||||
devlst_index: .byte 0
|
devlst_index: .byte 0
|
||||||
icon_index: .byte 0
|
icon_index: .byte 0
|
||||||
offset_x: .word 0
|
offset: .word 0
|
||||||
|
|
||||||
;;; Table of icon widths (/2) for centering icons
|
|
||||||
;;; TODO: Keep this up to date with icon bitmaps in desktop_aux
|
|
||||||
device_type_to_icon_offset_table:
|
|
||||||
.word (53 - 27) / 2 ; floppy140
|
|
||||||
.word (53 - 38) / 2 ; ramdisk
|
|
||||||
.word (53 - 53) / 2 ; profile
|
|
||||||
.word (53 - 21) / 2 ; floppy800
|
|
||||||
.word (53 - 53) / 2 ; profile
|
|
||||||
|
|
||||||
|
|
||||||
;;; Icons are placed places in order as specified by caller
|
;;; Icons are placed places in order as specified by caller
|
||||||
@ -15101,7 +15096,7 @@ trash_name: PASCAL_STRING " Trash "
|
|||||||
ldy #IconEntry::win_type
|
ldy #IconEntry::win_type
|
||||||
copy #icon_entry_type_trash, (ptr),y
|
copy #icon_entry_type_trash, (ptr),y
|
||||||
ldy #IconEntry::iconbits
|
ldy #IconEntry::iconbits
|
||||||
copy16in #desktop_aux::trash_icon, (ptr),y
|
copy16in #trash_icon, (ptr),y
|
||||||
iny
|
iny
|
||||||
ldx #0
|
ldx #0
|
||||||
: lda trash_name,x
|
: lda trash_name,x
|
||||||
|
@ -832,6 +832,8 @@ delete_a_file_label:
|
|||||||
file_to_delete_label:
|
file_to_delete_label:
|
||||||
PASCAL_STRING "File to delete:"
|
PASCAL_STRING "File to delete:"
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
pos_clock:
|
pos_clock:
|
||||||
DEFINE_POINT 500, 10
|
DEFINE_POINT 500, 10
|
||||||
|
|
||||||
@ -841,6 +843,46 @@ str_clock:
|
|||||||
is_iic_plus_flag:
|
is_iic_plus_flag:
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
;;; 5.25" Floppy Disk
|
||||||
|
floppy140_icon:
|
||||||
|
.addr desktop_aux::floppy140_pixels; mapbits
|
||||||
|
.byte 4 ; mapwidth
|
||||||
|
.byte 0 ; reserved
|
||||||
|
DEFINE_RECT 0, 0, 26, 14 ; maprect
|
||||||
|
|
||||||
|
;;; RAM Disk
|
||||||
|
ramdisk_icon:
|
||||||
|
.addr desktop_aux::ramdisk_pixels ; mapbits
|
||||||
|
.byte 6 ; mapwidth
|
||||||
|
.byte 0 ; reserved
|
||||||
|
DEFINE_RECT 0, 0, 39, 11 ; maprect
|
||||||
|
|
||||||
|
;;; 3.5" Floppy Disk
|
||||||
|
floppy800_icon:
|
||||||
|
.addr desktop_aux::floppy800_pixels; mapbits
|
||||||
|
.byte 3 ; mapwidth
|
||||||
|
.byte 0 ; reserved
|
||||||
|
DEFINE_RECT 0, 0, 20, 11 ; maprect
|
||||||
|
|
||||||
|
;;; Hard Disk
|
||||||
|
profile_icon:
|
||||||
|
.addr desktop_aux::profile_pixels ; mapbits
|
||||||
|
.byte 8 ; mapwidth
|
||||||
|
.byte 0 ; reserved
|
||||||
|
DEFINE_RECT 0, 0, 52, 9 ; maprect
|
||||||
|
|
||||||
|
;;; Trash Can
|
||||||
|
trash_icon:
|
||||||
|
.addr desktop_aux::trash_pixels ; mapbits
|
||||||
|
.byte 3 ; mapwidth
|
||||||
|
.byte 0 ; reserved
|
||||||
|
DEFINE_RECT 0, 0, 20, 17 ; maprect
|
||||||
|
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
PAD_TO $DB00
|
PAD_TO $DB00
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
Loading…
Reference in New Issue
Block a user