Difference between revisions of "Modules/game menu"
From MSX Game Library
< Modules
(Created page with "The {{MOD|game_menu}} module automatically manages menus based on tables representing each page and its interactions. == Dependencies == * {{MOD|input}} * {{MOD|print}} == S...") |
(→Settings) |
||
Line 6: | Line 6: | ||
== Settings == | == Settings == | ||
+ | #define MENU_USE_DEFAULT_CALLBACK TRUE // Use default input/print callback | ||
+ | #define MENU_SCREEN_WIDTH MENU_VARIABLE // Screen width | ||
+ | #define MENU_FRAME_X 0 // Frame position X | ||
+ | #define MENU_FRAME_Y 6 // Frame position Y | ||
+ | #define MENU_FRAME_WIDTH 32 // Frame width | ||
+ | #define MENU_FRAME_HEIGHT 8 // Frame height | ||
+ | #define MENU_CHAR_CLEAR '\0' // Clear character | ||
+ | #define MENU_CHAR_CURSOR '@' // Cursor character | ||
+ | #define MENU_CHAR_TRUE 'O' // True character | ||
+ | #define MENU_CHAR_FALSE 'X' // False character | ||
+ | #define MENU_CHAR_LEFT '<' // Left edit character | ||
+ | #define MENU_CHAR_RIGHT '>' // Right edit character | ||
+ | #define MENU_TITLE_X 4 // Title position X | ||
+ | #define MENU_TITLE_Y 6 // Title position Y | ||
+ | #define MENU_ITEM_X 6 // Item label X position | ||
+ | #define MENU_ITEM_Y 8 // Item label X position | ||
+ | #define MENU_ITEM_X_GOTO 6 // Goto type item label X position | ||
+ | #define MENU_ITEM_ALIGN MENU_ITEM_ALIGN_LEFT // Item label alignment | ||
+ | #define MENU_ITEM_ALIGN_GOTO MENU_ITEM_ALIGN_LEFT // Goto type item label alignment | ||
+ | #define MENU_VALUE_X 14 // Item value X position | ||
+ | // Type of cursor | ||
+ | // - MENU_CURSOR_MODE_NONE No cursor | ||
+ | // - MENU_CURSOR_MODE_CHAR Character cursor | ||
+ | // - MENU_CURSOR_MODE_SPRT Sprite cursor | ||
+ | #define MENU_CURSOR_MODE MENU_CURSOR_MODE_CHAR | ||
+ | #define MENU_CURSOR_OFFSET (-2) // Cursor X position offset | ||
== Usage == | == Usage == |
Revision as of 23:26, 31 October 2023
The game_menu module automatically manages menus based on tables representing each page and its interactions.
Dependencies
Settings
#define MENU_USE_DEFAULT_CALLBACK TRUE // Use default input/print callback #define MENU_SCREEN_WIDTH MENU_VARIABLE // Screen width #define MENU_FRAME_X 0 // Frame position X #define MENU_FRAME_Y 6 // Frame position Y #define MENU_FRAME_WIDTH 32 // Frame width #define MENU_FRAME_HEIGHT 8 // Frame height #define MENU_CHAR_CLEAR '\0' // Clear character #define MENU_CHAR_CURSOR '@' // Cursor character #define MENU_CHAR_TRUE 'O' // True character #define MENU_CHAR_FALSE 'X' // False character #define MENU_CHAR_LEFT '<' // Left edit character #define MENU_CHAR_RIGHT '>' // Right edit character #define MENU_TITLE_X 4 // Title position X #define MENU_TITLE_Y 6 // Title position Y #define MENU_ITEM_X 6 // Item label X position #define MENU_ITEM_Y 8 // Item label X position #define MENU_ITEM_X_GOTO 6 // Goto type item label X position #define MENU_ITEM_ALIGN MENU_ITEM_ALIGN_LEFT // Item label alignment #define MENU_ITEM_ALIGN_GOTO MENU_ITEM_ALIGN_LEFT // Goto type item label alignment #define MENU_VALUE_X 14 // Item value X position // Type of cursor // - MENU_CURSOR_MODE_NONE No cursor // - MENU_CURSOR_MODE_CHAR Character cursor // - MENU_CURSOR_MODE_SPRT Sprite cursor #define MENU_CURSOR_MODE MENU_CURSOR_MODE_CHAR #define MENU_CURSOR_OFFSET (-2) // Cursor X position offset
Usage
Annexe
- See also: Sample program s_menu
Documentation