diff --git a/include/button_handler.h b/include/button_handler.h index 79e3348..b17d870 100644 --- a/include/button_handler.h +++ b/include/button_handler.h @@ -7,8 +7,8 @@ class Button { public: Button(); - Button(OBJ_ATTR *L, OBJ_ATTR *R, u32 tidL, u32 tidR); // wide buttons - Button(OBJ_ATTR *B, u32 ntidB); // short button + Button(OBJ_ATTR *L, OBJ_ATTR *R); // wide buttons + Button(OBJ_ATTR *B); // short button bool isWide; void set_location(int x, int y); void set_highlight(bool highlight); @@ -21,8 +21,6 @@ private: bool highlighted; OBJ_ATTR *button_L; OBJ_ATTR *button_R; - u32 tidL; - u32 tidR; }; #endif \ No newline at end of file diff --git a/include/dex_handler.h b/include/dex_handler.h index 08e7e86..feccb22 100644 --- a/include/dex_handler.h +++ b/include/dex_handler.h @@ -7,9 +7,8 @@ class Dex { public: Dex(); - Dex(OBJ_ATTR *L, OBJ_ATTR *M, OBJ_ATTR *R, u32 tidL, u32 tidM, u32 tidR); + Dex(OBJ_ATTR *L, OBJ_ATTR *M, OBJ_ATTR *R); void set_location(int x, int y); - void set_highlight(bool highlight); void hide(); void show(); @@ -20,9 +19,6 @@ private: OBJ_ATTR *dex_L; OBJ_ATTR *dex_M; OBJ_ATTR *dex_R; - u32 tidL; - u32 tidM; - u32 tidR; }; #endif \ No newline at end of file diff --git a/include/main_menu.h b/include/main_menu.h index 8ac3e1f..3a32412 100644 --- a/include/main_menu.h +++ b/include/main_menu.h @@ -2,6 +2,7 @@ #define MAIN_MENU_H #include +#include #include "button_handler.h" @@ -26,15 +27,33 @@ #define EXITING -2 #define DISABLE -3 -void main_menu_btn_init(Button nButton, int index); -int main_menu_loop(); -void main_menu_enter(); -void main_menu_exit(); -void show_lang_btns(); -void hide_lang_btns(); -void show_main_btns(); -void hide_main_btns(); -void highlight_lang_btn(int index, bool highlight); -void set_arrow_point(int index); + +class Button_Menu +{ +public: + Button_Menu(int nRows, int nColumns, int nButton_width, int nButton_height); + int button_main(); + void add_button(Button btn, int return_val); + void hide_buttons(); + void show_buttons(); + void organize_buttons(); + unsigned int get_pos_from_xy(int nX, int nY); + unsigned int get_x_from_pos(int nPos); + unsigned int get_y_from_pos(int nPos); + void set_xy_min_max(int nX_min, int nX_max, int nY_min, int nY_max); + +private: + std::vector