📄 menu.h
字号:
#ifndef common_menu_h#define common_menu_h#include <pspctrl.h>#ifdef __cplusplusextern "C" {#endiftypedef enum{ MenuContainer, RadioButton, ToggleButton, TriggerButton} MenuItemType;typedef struct MenuItem{ const char* name; MenuItemType type; int id; int data; int state; struct MenuItem* parent; struct MenuItem* next; struct MenuItem* children; // for radio-button parents struct MenuItem* selected;} MenuItem;typedef struct MenuContext{ int open; SceCtrlData lastState; MenuItem* root; MenuItem* active;} MenuContext;// initialize menu for useMenuContext* initMenu();// destroy menuvoid destroyMenu(MenuContext* context);// add menu-item into treeMenuItem* addMenuItem(MenuContext* context, MenuItem* parent, MenuItem* item, int id, int data);// process menu input// - kills input while menu is open, pass the input-structure you intend to use with the rest of input// - returns triggered MenuItemMenuItem* handleMenu(MenuContext* context, SceCtrlData* input);void renderMenu(MenuContext* context,int startx, int starty);MenuItem* createMenuContainer(const char* name);MenuItem* createRadioButton(const char* name, int state);MenuItem* createTriggerButton(const char* name);#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -