2024-02-15 21:03:09 -05:00
|
|
|
with core;
|
|
|
|
|
|
|
|
package menu is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-16 09:59:19 -05:00
|
|
|
type format is (
|
|
|
|
separator, button, text_box, data_box, check_box, title_bar, scroll_bar, fill_bar
|
|
|
|
);
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
type codex is (
|
2024-02-19 18:01:52 -05:00
|
|
|
attribute_information, skill_information, resource_information, none
|
2024-02-15 21:03:09 -05:00
|
|
|
);
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-16 09:59:19 -05:00
|
|
|
type element is
|
|
|
|
record
|
2024-02-19 19:46:37 -05:00
|
|
|
kind : format;
|
|
|
|
data : integer;
|
|
|
|
text : core.short_string;
|
|
|
|
icon : core.sprite;
|
|
|
|
x : integer;
|
|
|
|
y : integer;
|
|
|
|
width : integer;
|
|
|
|
height : integer;
|
2024-02-16 09:59:19 -05:00
|
|
|
end record;
|
|
|
|
|
|
|
|
type element_array is array (natural range <>) of element;
|
|
|
|
|
|
|
|
type information is
|
|
|
|
record
|
|
|
|
title : core.short_string;
|
|
|
|
length : integer;
|
2024-02-19 16:33:45 -05:00
|
|
|
height : integer;
|
2024-02-19 18:01:52 -05:00
|
|
|
x : integer;
|
|
|
|
y : integer;
|
2024-02-16 09:59:19 -05:00
|
|
|
elements : access element_array;
|
|
|
|
end record;
|
|
|
|
|
|
|
|
type trait_array is array (codex) of information;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-19 18:15:20 -05:00
|
|
|
mouse_over_menu : codex;
|
2024-02-19 19:17:43 -05:00
|
|
|
mouse_over_menu_element : integer;
|
2024-02-19 18:01:52 -05:00
|
|
|
|
2024-02-16 09:59:19 -05:00
|
|
|
trait : trait_array;
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------
|
|
|
|
|
2024-02-15 21:03:09 -05:00
|
|
|
procedure configure;
|
2024-02-19 18:01:52 -05:00
|
|
|
procedure synchronize;
|
2024-02-15 21:03:09 -05:00
|
|
|
|
2024-02-19 16:20:38 -05:00
|
|
|
procedure draw (index : in codex; x, y : in integer; center : in boolean);
|
2024-02-15 21:03:09 -05:00
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
end menu;
|