mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-13 17:47:12 -04:00
Move more menus to new init method
This commit is contained in:
parent
db9b620bc0
commit
4be7d08f20
137
src/Menus.c
137
src/Menus.c
@ -54,13 +54,6 @@ static void Menu_AddButtons(void* screen, struct ButtonWidget* btns, int width,
|
||||
}
|
||||
}
|
||||
|
||||
static void Menu_InitButtons(struct ButtonWidget* btns, int width, const struct SimpleButtonDesc* descs, int count) {
|
||||
int i;
|
||||
for (i = 0; i < count; i++) {
|
||||
ButtonWidget_Init(&btns[i], width, descs[i].onClick);
|
||||
}
|
||||
}
|
||||
|
||||
static void Menu_LayoutButtons(struct ButtonWidget* btns, const struct SimpleButtonDesc* descs, int count) {
|
||||
int i;
|
||||
for (i = 0; i < count; i++) {
|
||||
@ -2391,7 +2384,7 @@ static struct MenuOptionsScreen {
|
||||
const char* descriptions[MENUOPTS_MAX_OPTS + 1];
|
||||
struct ButtonWidget* activeBtn;
|
||||
InitMenuOptions DoInit, DoRecreateExtra, OnHacksChanged;
|
||||
int numButtons, numCore;
|
||||
int numButtons;
|
||||
struct FontDesc titleFont, textFont;
|
||||
struct TextGroupWidget extHelp;
|
||||
struct Texture extHelpTextures[5]; /* max lines is 5 */
|
||||
@ -2400,11 +2393,7 @@ static struct MenuOptionsScreen {
|
||||
} MenuOptionsScreen_Instance;
|
||||
|
||||
static struct MenuInputDesc menuOpts_descs[MENUOPTS_MAX_OPTS];
|
||||
static struct Widget* menuOpts_widgets[MENUOPTS_MAX_OPTS + 1] = {
|
||||
NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL,
|
||||
NULL,
|
||||
(struct Widget*)&MenuOptionsScreen_Instance.done
|
||||
};
|
||||
static struct Widget* menuOpts_widgets[MENUOPTS_MAX_OPTS + 1];
|
||||
|
||||
static void Menu_GetBool(cc_string* raw, cc_bool v) {
|
||||
String_AppendConst(raw, v ? "ON" : "OFF");
|
||||
@ -2507,14 +2496,14 @@ static int MenuOptionsScreen_PointerMove(void* screen, int id, int x, int y) {
|
||||
return true;
|
||||
}
|
||||
|
||||
static void MenuOptionsScreen_InitButtons(struct MenuOptionsScreen* s, const struct MenuOptionDesc* btns, int count, Widget_LeftClick backClick) {
|
||||
static void MenuOptionsScreen_AddButtons(struct MenuOptionsScreen* s, const struct MenuOptionDesc* btns, int count, Widget_LeftClick backClick) {
|
||||
struct ButtonWidget* btn;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
btn = &s->buttons[i];
|
||||
ButtonWidget_Make(btn, 300, btns[i].OnClick,
|
||||
ANCHOR_CENTRE, ANCHOR_CENTRE, btns[i].dir * 160, btns[i].y);
|
||||
ButtonWidget_Add(s, btn, 300, btns[i].OnClick);
|
||||
Widget_SetLocation(btn, ANCHOR_CENTRE, ANCHOR_CENTRE, btns[i].dir * 160, btns[i].y);
|
||||
|
||||
btn->optName = btns[i].name;
|
||||
btn->GetValue = btns[i].GetValue;
|
||||
@ -2523,7 +2512,7 @@ static void MenuOptionsScreen_InitButtons(struct MenuOptionsScreen* s, const str
|
||||
s->widgets[i] = (struct Widget*)btn;
|
||||
}
|
||||
s->numButtons = count;
|
||||
ButtonWidget_Init(&s->done, 400, backClick);
|
||||
ButtonWidget_Add(s, &s->done, 400, backClick);
|
||||
}
|
||||
|
||||
static void MenuOptionsScreen_Bool(void* screen, void* widget) {
|
||||
@ -2595,7 +2584,8 @@ static void MenuOptionsScreen_Init(void* screen) {
|
||||
int i;
|
||||
|
||||
s->widgets = menuOpts_widgets;
|
||||
s->numWidgets = MENUOPTS_MAX_OPTS + 1; /* always have back button */
|
||||
s->numWidgets = 0;
|
||||
s->maxWidgets = MENUOPTS_MAX_OPTS + 1; /* always have back button */
|
||||
s->maxVertices = BUTTONWIDGET_MAX;
|
||||
|
||||
/* The various menu options screens might have different number of widgets */
|
||||
@ -2769,14 +2759,12 @@ static void ClassicOptionsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
{ 0, 60, "Hacks enabled", MenuOptionsScreen_Bool,
|
||||
ClassicOptionsScreen_GetHacks, ClassicOptionsScreen_SetHacks }
|
||||
};
|
||||
s->numCore = 9 + 1;
|
||||
s->maxVertices += 9 * BUTTONWIDGET_MAX + BUTTONWIDGET_MAX;
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX + BUTTONWIDGET_MAX;
|
||||
s->DoRecreateExtra = ClassicOptionsScreen_RecreateExtra;
|
||||
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchPause);
|
||||
ButtonWidget_Make(&s->buttons[9], 400, Menu_SwitchBindsClassic,
|
||||
ANCHOR_CENTRE, ANCHOR_MAX, 0, 95);
|
||||
s->widgets[9] = (struct Widget*)&s->buttons[9];
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchPause);
|
||||
ButtonWidget_Add(s, &s->buttons[9], 400, Menu_SwitchBindsClassic);
|
||||
Widget_SetLocation(&s->buttons[9], ANCHOR_CENTRE, ANCHOR_MAX, 0, 95);
|
||||
|
||||
/* Disable certain options */
|
||||
if (!Server.IsSinglePlayer) Menu_Remove(s, 3);
|
||||
@ -2852,9 +2840,8 @@ static void EnvSettingsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
EnvSettingsScreen_GetEdgeHeight, EnvSettingsScreen_SetEdgeHeight }
|
||||
};
|
||||
|
||||
s->numCore = 10;
|
||||
s->maxVertices += 10 * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
}
|
||||
|
||||
void EnvSettingsScreen_Show(void) {
|
||||
@ -2942,9 +2929,8 @@ static void GraphicsOptionsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
ClassicOptionsScreen_GetAnaglyph, ClassicOptionsScreen_SetAnaglyph }
|
||||
};
|
||||
|
||||
s->numCore = 9;
|
||||
s->maxVertices += 9 * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
|
||||
s->descriptions[0] = "&eChange the smoothness of the smooth camera.";
|
||||
s->descriptions[1] = \
|
||||
@ -3027,9 +3013,8 @@ static void ChatOptionsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
ChatOptionsScreen_GetAutoScaleChat, ChatOptionsScreen_SetAutoScaleChat }
|
||||
};
|
||||
|
||||
s->numCore = 5;
|
||||
s->maxVertices += 5 * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
}
|
||||
|
||||
void ChatOptionsScreen_Show(void) {
|
||||
@ -3092,9 +3077,8 @@ static void GuiOptionsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
NULL, NULL }
|
||||
};
|
||||
|
||||
s->numCore = 8;
|
||||
s->maxVertices += 8 * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
}
|
||||
|
||||
void GuiOptionsScreen_Show(void) {
|
||||
@ -3214,11 +3198,10 @@ static void HacksSettingsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
{ 1, 50, "Field of view", MenuOptionsScreen_Input,
|
||||
HacksSettingsScreen_GetFOV, HacksSettingsScreen_SetFOV },
|
||||
};
|
||||
s->numCore = 10;
|
||||
s->maxVertices += 10 * BUTTONWIDGET_MAX;
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
s->OnHacksChanged = HacksSettingsScreen_CheckHacksAllowed;
|
||||
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
HacksSettingsScreen_CheckHacksAllowed(s);
|
||||
|
||||
s->descriptions[2] = "&eIf &fON&e, then the third person cameras will limit\nðeir zoom distance if they hit a solid block.";
|
||||
@ -3292,9 +3275,8 @@ static void MiscSettingsScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
{ 1, 50, "Mouse sensitivity", MenuOptionsScreen_Input,
|
||||
MiscOptionsScreen_GetSensitivity, MiscOptionsScreen_SetSensitivity }
|
||||
};
|
||||
s->numCore = 7;
|
||||
s->maxVertices += 7 * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchOptions);
|
||||
|
||||
/* Disable certain options */
|
||||
if (!Server.IsSinglePlayer) Menu_Remove(s, 0);
|
||||
@ -3430,10 +3412,9 @@ static void NostalgiaAppearanceScreen_InitWidgets(struct MenuOptionsScreen* s) {
|
||||
{ 1, 50, "Classic options", MenuOptionsScreen_Bool,
|
||||
NostalgiaScreen_GetOpts, NostalgiaScreen_SetOpts },
|
||||
};
|
||||
s->numCore = Array_Elems(buttons);
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX;
|
||||
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchNostalgia);
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchNostalgia);
|
||||
}
|
||||
|
||||
void NostalgiaAppearanceScreen_Show(void) {
|
||||
@ -3492,14 +3473,12 @@ static void NostalgiaFunctionalityScreen_InitWidgets(struct MenuOptionsScreen* s
|
||||
{ 1, 0, "Game version", NostalgiaScreen_Version,
|
||||
NostalgiaScreen_GetVersion, NostalgiaScreen_SetVersion }
|
||||
};
|
||||
s->numCore = Array_Elems(buttons) + 1;
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX + TEXTWIDGET_MAX;
|
||||
s->maxVertices += Array_Elems(buttons) * BUTTONWIDGET_MAX + TEXTWIDGET_MAX;
|
||||
s->DoRecreateExtra = NostalgiaScreen_RecreateExtra;
|
||||
|
||||
MenuOptionsScreen_InitButtons(s, buttons, Array_Elems(buttons), Menu_SwitchNostalgia);
|
||||
TextWidget_Init(&nostalgia_desc);
|
||||
MenuOptionsScreen_AddButtons(s, buttons, Array_Elems(buttons), Menu_SwitchNostalgia);
|
||||
TextWidget_Add(s, &nostalgia_desc);
|
||||
Widget_SetLocation(&nostalgia_desc, ANCHOR_CENTRE, ANCHOR_CENTRE, 0, 100);
|
||||
s->widgets[4] = (struct Widget*)&nostalgia_desc;
|
||||
|
||||
NostalgiaScreen_UpdateVersionDisabled();
|
||||
s->descriptions[3] = \
|
||||
@ -4068,11 +4047,22 @@ static const struct SimpleButtonDesc touchOnscreen_page2[ONSCREEN_PAGE_BTNS] = {
|
||||
{ -120, 100, "---", TouchOnscreen_Any }, { 120, 100, "---", TouchOnscreen_Any }
|
||||
};
|
||||
|
||||
static void TouchOnscreen_SetPage(struct TouchOnscreenScreen* s, cc_bool page1) {
|
||||
static void TouchOnscreen_Left(void* screen, void* b);
|
||||
static void TouchOnscreen_Right(void* screen, void* b);
|
||||
|
||||
static void TouchOnscreen_RemakeWidgets(struct TouchOnscreenScreen* s, cc_bool page1) {
|
||||
int i;
|
||||
int offset = page1 ? 0 : ONSCREEN_PAGE_BTNS;
|
||||
s->btnDescs = page1 ? touchOnscreen_page1 : touchOnscreen_page2;
|
||||
Menu_InitButtons(s->btns, 200, s->btnDescs, ONSCREEN_PAGE_BTNS);
|
||||
|
||||
s->widgets = touchOnscreen_widgets;
|
||||
s->numWidgets = 0;
|
||||
s->maxWidgets = Array_Elems(touchOnscreen_widgets);
|
||||
|
||||
Menu_AddButtons(s, s->btns, 200, s->btnDescs, ONSCREEN_PAGE_BTNS);
|
||||
ButtonWidget_Add(s, &s->back, 400, TouchOnscreen_More);
|
||||
ButtonWidget_Add(s, &s->left, 40, TouchOnscreen_Left);
|
||||
ButtonWidget_Add(s, &s->right, 40, TouchOnscreen_Right);
|
||||
|
||||
Widget_SetDisabled(&s->left, page1);
|
||||
Widget_SetDisabled(&s->right, !page1);
|
||||
@ -4085,14 +4075,14 @@ static void TouchOnscreen_SetPage(struct TouchOnscreenScreen* s, cc_bool page1)
|
||||
|
||||
static void TouchOnscreen_Left(void* screen, void* b) {
|
||||
struct TouchOnscreenScreen* s = (struct TouchOnscreenScreen*)screen;
|
||||
TouchOnscreen_SetPage(s, true);
|
||||
TouchOnscreen_RemakeWidgets(s, true);
|
||||
Gui_Refresh((struct Screen*)s);
|
||||
TouchOnscreen_UpdateColors(s);
|
||||
}
|
||||
|
||||
static void TouchOnscreen_Right(void* screen, void* b) {
|
||||
struct TouchOnscreenScreen* s = (struct TouchOnscreenScreen*)screen;
|
||||
TouchOnscreen_SetPage(s, false);
|
||||
TouchOnscreen_RemakeWidgets(s, false);
|
||||
Gui_Refresh((struct Screen*)s);
|
||||
TouchOnscreen_UpdateColors(s);
|
||||
}
|
||||
@ -4123,13 +4113,7 @@ static void TouchOnscreenScreen_Layout(void* screen) {
|
||||
|
||||
static void TouchOnscreenScreen_Init(void* screen) {
|
||||
struct TouchOnscreenScreen* s = (struct TouchOnscreenScreen*)screen;
|
||||
s->widgets = touchOnscreen_widgets;
|
||||
s->numWidgets = Array_Elems(touchOnscreen_widgets);
|
||||
|
||||
ButtonWidget_Init(&s->back, 400, TouchOnscreen_More);
|
||||
ButtonWidget_Init(&s->left, 40, TouchOnscreen_Left);
|
||||
ButtonWidget_Init(&s->right, 40, TouchOnscreen_Right);
|
||||
TouchOnscreen_SetPage(s, true);
|
||||
TouchOnscreen_RemakeWidgets(s, true);
|
||||
TouchOnscreen_UpdateColors(screen);
|
||||
|
||||
s->maxVertices = Screen_CalcDefaultMaxVertices(s);
|
||||
@ -4163,11 +4147,7 @@ static struct TouchCtrlsScreen {
|
||||
struct FontDesc font;
|
||||
} TouchCtrlsScreen;
|
||||
|
||||
static struct Widget* touchCtrls_widgets[1 + TOUCHCTRLS_BTNS] = {
|
||||
(struct Widget*)&TouchCtrlsScreen.back, (struct Widget*)&TouchCtrlsScreen.btns[0],
|
||||
(struct Widget*)&TouchCtrlsScreen.btns[1], (struct Widget*)&TouchCtrlsScreen.btns[2],
|
||||
(struct Widget*)&TouchCtrlsScreen.btns[3], (struct Widget*)&TouchCtrlsScreen.btns[4]
|
||||
};
|
||||
static struct Widget* touchCtrls_widgets[TOUCHCTRLS_BTNS + 1];
|
||||
|
||||
static const char* GetTapDesc(int mode) {
|
||||
if (mode == INPUT_MODE_PLACE) return "Tap: Place";
|
||||
@ -4299,11 +4279,12 @@ static void TouchCtrlsScreen_Layout(void* screen) {
|
||||
static void TouchCtrlsScreen_Init(void* screen) {
|
||||
struct TouchCtrlsScreen* s = (struct TouchCtrlsScreen*)screen;
|
||||
s->widgets = touchCtrls_widgets;
|
||||
s->numWidgets = Array_Elems(touchCtrls_widgets);
|
||||
s->numWidgets = 0;
|
||||
s->maxWidgets = Array_Elems(touchCtrls_widgets);
|
||||
|
||||
Menu_InitButtons(s->btns, 195, touchCtrls_btns, 4);
|
||||
Menu_InitButtons(s->btns + 4, 400, touchCtrls_btns + 4, 1);
|
||||
ButtonWidget_Init(&s->back, 400, TouchCtrls_More);
|
||||
Menu_AddButtons(s, s->btns, 195, touchCtrls_btns, 4);
|
||||
Menu_AddButtons(s, s->btns + 4, 400, touchCtrls_btns + 4, 1);
|
||||
ButtonWidget_Add(s, &s->back, 400, TouchCtrls_More);
|
||||
|
||||
s->maxVertices = Screen_CalcDefaultMaxVertices(s);
|
||||
}
|
||||
@ -4335,12 +4316,7 @@ static struct TouchMoreScreen {
|
||||
struct ButtonWidget btns[TOUCHMORE_BTNS];
|
||||
} TouchMoreScreen;
|
||||
|
||||
static struct Widget* touchMore_widgets[1 + TOUCHMORE_BTNS] = {
|
||||
(struct Widget*)&TouchMoreScreen.back, (struct Widget*)&TouchMoreScreen.btns[0],
|
||||
(struct Widget*)&TouchMoreScreen.btns[1], (struct Widget*)&TouchMoreScreen.btns[2],
|
||||
(struct Widget*)&TouchMoreScreen.btns[3], (struct Widget*)&TouchMoreScreen.btns[4],
|
||||
(struct Widget*)&TouchMoreScreen.btns[5]
|
||||
};
|
||||
static struct Widget* touchMore_widgets[TOUCHMORE_BTNS + 1];
|
||||
|
||||
static void TouchMore_Take(void* s, void* w) {
|
||||
Gui_Remove((struct Screen*)&TouchMoreScreen);
|
||||
@ -4393,11 +4369,12 @@ static void TouchMoreScreen_Layout(void* screen) {
|
||||
static void TouchMoreScreen_Init(void* screen) {
|
||||
struct TouchMoreScreen* s = (struct TouchMoreScreen*)screen;
|
||||
s->widgets = touchMore_widgets;
|
||||
s->numWidgets = Array_Elems(touchMore_widgets);
|
||||
s->numWidgets = 0;
|
||||
s->maxWidgets = Array_Elems(touchMore_widgets);
|
||||
|
||||
Menu_InitButtons(s->btns, 195, touchMore_btns, 4);
|
||||
Menu_InitButtons(s->btns + 4, 400, touchMore_btns + 4, 2);
|
||||
ButtonWidget_Init(&s->back, 400, TouchMore_Game);
|
||||
Menu_AddButtons(s, s->btns, 195, touchMore_btns, 4);
|
||||
Menu_AddButtons(s, s->btns + 4, 400, touchMore_btns + 4, 2);
|
||||
ButtonWidget_Add(s, &s->back, 400, TouchMore_Game);
|
||||
|
||||
s->maxVertices = Screen_CalcDefaultMaxVertices(s);
|
||||
}
|
||||
|
@ -1581,9 +1581,7 @@ static struct InventoryScreen {
|
||||
cc_bool releasedInv, deferredSelect;
|
||||
} InventoryScreen;
|
||||
|
||||
static struct Widget* inventory_widgets[] = {
|
||||
(struct Widget*)&InventoryScreen.title, (struct Widget*)&InventoryScreen.table
|
||||
};
|
||||
static struct Widget* inventory_widgets[2];
|
||||
|
||||
|
||||
static void InventoryScreen_GetTitleText(cc_string* desc, BlockID block) {
|
||||
@ -1665,10 +1663,11 @@ static void InventoryScreen_MoveToSelected(struct InventoryScreen* s) {
|
||||
static void InventoryScreen_Init(void* screen) {
|
||||
struct InventoryScreen* s = (struct InventoryScreen*)screen;
|
||||
s->widgets = inventory_widgets;
|
||||
s->numWidgets = Array_Elems(inventory_widgets);
|
||||
s->numWidgets = 0;
|
||||
s->maxWidgets = Array_Elems(inventory_widgets);
|
||||
|
||||
TextWidget_Init(&s->title);
|
||||
TableWidget_Create(&s->table, 22 * Options_GetFloat(OPT_INV_SCROLLBAR_SCALE, 0, 10, 1));
|
||||
TextWidget_Add(s, &s->title);
|
||||
TableWidget_Add(s, &s->table, 22 * Options_GetFloat(OPT_INV_SCROLLBAR_SCALE, 0, 10, 1));
|
||||
s->table.blocksPerRow = Inventory.BlocksPerRow;
|
||||
s->table.UpdateTitle = InventoryScreen_OnUpdateTitle;
|
||||
TableWidget_RecreateBlocks(&s->table);
|
||||
|
@ -232,10 +232,6 @@ static const struct WidgetVTABLE ButtonWidget_VTABLE = {
|
||||
Widget_Pointer, Widget_PointerUp, Widget_PointerMove,
|
||||
ButtonWidget_BuildMesh, ButtonWidget_Render2, ButtonWidget_MaxVertices
|
||||
};
|
||||
void ButtonWidget_Make(struct ButtonWidget* w, int minWidth, Widget_LeftClick onClick, cc_uint8 horAnchor, cc_uint8 verAnchor, int xOffset, int yOffset) {
|
||||
ButtonWidget_Init(w, minWidth, onClick);
|
||||
Widget_SetLocation(w, horAnchor, verAnchor, xOffset, yOffset);
|
||||
}
|
||||
|
||||
void ButtonWidget_Init(struct ButtonWidget* w, int minWidth, Widget_LeftClick onClick) {
|
||||
Widget_Reset(w);
|
||||
@ -1015,7 +1011,7 @@ static const struct WidgetVTABLE TableWidget_VTABLE = {
|
||||
TableWidget_BuildMesh, TableWidget_Render2, TableWidget_MaxVertices,
|
||||
TableWidget_PadAxis
|
||||
};
|
||||
void TableWidget_Create(struct TableWidget* w, int sbWidth) {
|
||||
void TableWidget_Add(void* screen, struct TableWidget* w, int sbWidth) {
|
||||
cc_bool classic;
|
||||
Widget_Reset(w);
|
||||
w->VTABLE = &TableWidget_VTABLE;
|
||||
@ -1032,6 +1028,7 @@ void TableWidget_Create(struct TableWidget* w, int sbWidth) {
|
||||
w->everCreated = true;
|
||||
w->selectedIndex = -1;
|
||||
}
|
||||
AddWidget(screen, w);
|
||||
|
||||
classic = Gui.ClassicInventory;
|
||||
w->paddingL = Display_ScaleX(classic ? 20 : 15);
|
||||
|
@ -43,9 +43,6 @@ struct ButtonWidget {
|
||||
};
|
||||
#define BUTTONWIDGET_MAX 12
|
||||
|
||||
/* Initialises a button widget. */
|
||||
CC_NOINLINE void ButtonWidget_Make(struct ButtonWidget* w, int minWidth, Widget_LeftClick onClick,
|
||||
cc_uint8 horAnchor, cc_uint8 verAnchor, int xOffset, int yOffset);
|
||||
/* Initialises a button widget. */
|
||||
CC_NOINLINE void ButtonWidget_Init(struct ButtonWidget* w, int minWidth, Widget_LeftClick onClick);
|
||||
/* Initialises then adds a button widget. */
|
||||
@ -116,7 +113,7 @@ struct TableWidget {
|
||||
int verticesCount;
|
||||
};
|
||||
|
||||
CC_NOINLINE void TableWidget_Create(struct TableWidget* w, int sbWidth);
|
||||
CC_NOINLINE void TableWidget_Add(void* screen, struct TableWidget* w, int sbWidth);
|
||||
/* Sets the selected block in the table to the given block. */
|
||||
/* Also adjusts scrollbar and moves cursor to be over the given block. */
|
||||
CC_NOINLINE void TableWidget_SetToBlock(struct TableWidget* w, BlockID block);
|
||||
|
Loading…
x
Reference in New Issue
Block a user