mirror of
https://github.com/mi57730/a2d.git
synced 2024-11-26 02:49:18 +00:00
refine menu item macros
This commit is contained in:
parent
6315aab0f7
commit
57c5c09e26
@ -54,18 +54,6 @@ INVOKER_FILENAME := $280 ; File to invoke (PREFIX must be set)
|
||||
jmp target
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_RECT left, top, right, bottom
|
||||
.word left
|
||||
.word top
|
||||
.word right
|
||||
.word bottom
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_POINT left, top
|
||||
.word left
|
||||
.word top
|
||||
.endmacro
|
||||
|
||||
.macro MGTK_RELAY_CALL call, addr
|
||||
.if .paramcount > 1
|
||||
yax_call MGTK_RELAY, (call), (addr)
|
||||
@ -3437,47 +3425,15 @@ label_get_size:
|
||||
label_rename_icon:
|
||||
PASCAL_STRING "Rename an Icon ..."
|
||||
|
||||
;;; Top-level menus
|
||||
.macro DEFINE_TL_MENU count
|
||||
.word count
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_TL_MENU_ITEM id, label, menu
|
||||
.word id
|
||||
.addr label
|
||||
.addr menu
|
||||
.word 0, 0, 0
|
||||
.endmacro
|
||||
|
||||
;;; Drop-down menus
|
||||
.macro DEFINE_MENU count
|
||||
.word count, 0, 0
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_MENU_ITEM saddr, shortcut1, shortcut2
|
||||
.if .paramcount > 1
|
||||
.word 1
|
||||
.byte shortcut1
|
||||
.byte shortcut2
|
||||
.else
|
||||
.word 0
|
||||
.byte 0
|
||||
.byte 0
|
||||
.endif
|
||||
.addr saddr
|
||||
.endmacro
|
||||
.macro DEFINE_MENU_SEPARATOR
|
||||
.word 64, 19, 0
|
||||
.endmacro
|
||||
|
||||
desktop_menu:
|
||||
DEFINE_TL_MENU 6
|
||||
DEFINE_TL_MENU_ITEM 1, label_apple, apple_menu
|
||||
DEFINE_TL_MENU_ITEM 2, label_file, file_menu
|
||||
DEFINE_TL_MENU_ITEM 4, label_view, view_menu
|
||||
DEFINE_TL_MENU_ITEM 5, label_special, special_menu
|
||||
DEFINE_TL_MENU_ITEM 8, label_startup, startup_menu
|
||||
DEFINE_TL_MENU_ITEM 3, label_selector, selector_menu
|
||||
DEFINE_MENU_BAR 6
|
||||
DEFINE_MENU_BAR_ITEM 1, label_apple, apple_menu
|
||||
DEFINE_MENU_BAR_ITEM 2, label_file, file_menu
|
||||
DEFINE_MENU_BAR_ITEM 4, label_view, view_menu
|
||||
DEFINE_MENU_BAR_ITEM 5, label_special, special_menu
|
||||
DEFINE_MENU_BAR_ITEM 8, label_startup, startup_menu
|
||||
DEFINE_MENU_BAR_ITEM 3, label_selector, selector_menu
|
||||
|
||||
file_menu:
|
||||
DEFINE_MENU 12
|
||||
@ -5586,12 +5542,12 @@ label_about:
|
||||
buf: .res $80, 0
|
||||
|
||||
splash_menu:
|
||||
DEFINE_TL_MENU 1
|
||||
DEFINE_TL_MENU_ITEM 1, splash_menu_label, dummy_dd_menu
|
||||
DEFINE_MENU_BAR 1
|
||||
DEFINE_MENU_BAR_ITEM 1, splash_menu_label, dummy_dd_menu
|
||||
|
||||
blank_menu:
|
||||
DEFINE_TL_MENU 1
|
||||
DEFINE_TL_MENU_ITEM 1, blank_dd_label, dummy_dd_menu
|
||||
DEFINE_MENU_BAR 1
|
||||
DEFINE_MENU_BAR_ITEM 1, blank_dd_label, dummy_dd_menu
|
||||
|
||||
dummy_dd_menu:
|
||||
DEFINE_MENU 1
|
||||
|
69
mgtk.inc
69
mgtk.inc
@ -566,6 +566,14 @@ scroll_option_thumb := 1 << 6
|
||||
scroll_option_active := 1 << 0
|
||||
scroll_option_normal := scroll_option_present | scroll_option_thumb | scroll_option_active
|
||||
|
||||
;;; Used in menu structs
|
||||
menuopt_mod_open_apple := 1 << 0
|
||||
menuopt_mod_solid_apple := 1 << 1
|
||||
menuopt_has_mark := 1 << 2
|
||||
menuopt_is_checked := 1 << 5
|
||||
menuopt_is_filler := 1 << 6
|
||||
menuopt_disabled_flag := 1 << 7
|
||||
|
||||
.endscope ; MGTK
|
||||
|
||||
;;; ==================================================
|
||||
@ -593,6 +601,18 @@ scroll_option_normal := scroll_option_present | scroll_option_thumb | scroll_
|
||||
|
||||
;;; ------------------------------------
|
||||
|
||||
.macro DEFINE_RECT left, top, right, bottom
|
||||
.word left
|
||||
.word top
|
||||
.word right
|
||||
.word bottom
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_POINT left, top
|
||||
.word left
|
||||
.word top
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_STRING str, label ; String definition, for use with TextWidth/DrawText
|
||||
.local data ; Call as DEFINE_STRING "abc"
|
||||
.local end ; Can include control chars by using:
|
||||
@ -606,6 +626,55 @@ data: .byte str
|
||||
end:
|
||||
.endmacro
|
||||
|
||||
;;; Menus (common cases; other options are possible)
|
||||
|
||||
.macro DEFINE_MENU_BAR count
|
||||
.byte count ; num menus
|
||||
.byte 0 ; reserved
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_MENU_BAR_ITEM id, label, menu
|
||||
.byte id ; menu id
|
||||
.byte 0 ; disable flag
|
||||
.addr label ; title pointer
|
||||
.addr menu ; pointer to menu
|
||||
.res 6, 0 ; 6 reserved bytes
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_MENU count
|
||||
.byte count ; num items
|
||||
.res 5, 0 ; 5 reserved bytes
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_MENU_ITEM saddr, shortcut1, shortcut2
|
||||
.if .paramcount > 1
|
||||
|
||||
.byte MGTK::menuopt_mod_open_apple ; option byte
|
||||
.byte 0 ; mark character
|
||||
.byte shortcut1 ; char 1
|
||||
.byte shortcut2 ; char 2
|
||||
.addr saddr ; name pointer
|
||||
|
||||
.else
|
||||
|
||||
.byte 0 ; option byte
|
||||
.byte 0 ; mark character
|
||||
.byte 0 ; char 1
|
||||
.byte 0 ; char 2
|
||||
.addr saddr ; name pointer
|
||||
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
.macro DEFINE_MENU_SEPARATOR
|
||||
.byte MGTK::menuopt_is_filler ; option byte
|
||||
.byte 0 ; mark character
|
||||
.byte 19 ; char 1 - Ctrl+S for separator ???
|
||||
.byte 0 ; char 2
|
||||
.addr 0 ; name pointer
|
||||
.endmacro
|
||||
|
||||
;;; ------------------------------------
|
||||
|
||||
;;; Define pattern for PaintBits - low 7 bits are reversed
|
||||
;;; e.g. .byte px(%1000000)
|
||||
|
Loading…
Reference in New Issue
Block a user