mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-22 23:33:04 +01:00
Merge pull request #20545 from mrmbernardi/resize_spinners
Add a window method to resize spinners
This commit is contained in:
@@ -1907,22 +1907,13 @@ public:
|
|||||||
widgets[WIDX_SPEED_SETTING_SPINNER].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY;
|
widgets[WIDX_SPEED_SETTING_SPINNER].text = STR_RIDE_CONSTRUCTION_BRAKE_SPEED_VELOCITY;
|
||||||
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER].type = WindowWidgetType::Spinner;
|
widgets[WIDX_SPEED_SETTING_SPINNER].type = WindowWidgetType::Spinner;
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER].left = 12;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER].right = 96;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER].top = 138;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER].bottom = 149;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].type = WindowWidgetType::Button;
|
widgets[WIDX_SPEED_SETTING_SPINNER_UP].type = WindowWidgetType::Button;
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].text = STR_NUMERIC_UP;
|
widgets[WIDX_SPEED_SETTING_SPINNER_UP].text = STR_NUMERIC_UP;
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].left = 84;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].right = 95;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].top = 139;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_UP].bottom = 148;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].type = WindowWidgetType::Button;
|
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].type = WindowWidgetType::Button;
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].text = STR_NUMERIC_DOWN;
|
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].text = STR_NUMERIC_DOWN;
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].left = 72;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].right = 83;
|
ResizeSpinner(WIDX_SPEED_SETTING_SPINNER, { 12, 138 }, { 85, SPINNER_HEIGHT });
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].top = 139;
|
|
||||||
widgets[WIDX_SPEED_SETTING_SPINNER_DOWN].bottom = 148;
|
|
||||||
hold_down_widgets |= (1uLL << WIDX_SPEED_SETTING_SPINNER_UP) | (1uLL << WIDX_SPEED_SETTING_SPINNER_DOWN);
|
hold_down_widgets |= (1uLL << WIDX_SPEED_SETTING_SPINNER_UP) | (1uLL << WIDX_SPEED_SETTING_SPINNER_DOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2148,3 +2148,23 @@ void WindowBase::ResizeFrameWithPage()
|
|||||||
widgets[3].right = width - 1;
|
widgets[3].right = width - 1;
|
||||||
widgets[3].bottom = height - 1;
|
widgets[3].bottom = height - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WindowBase::ResizeSpinner(WidgetIndex widgetIndex, const ScreenCoordsXY& origin, const ScreenSize& size)
|
||||||
|
{
|
||||||
|
auto right = origin.x + size.width - 1;
|
||||||
|
auto bottom = origin.y + size.height - 1;
|
||||||
|
widgets[widgetIndex].left = origin.x;
|
||||||
|
widgets[widgetIndex].top = origin.y;
|
||||||
|
widgets[widgetIndex].right = right;
|
||||||
|
widgets[widgetIndex].bottom = bottom;
|
||||||
|
|
||||||
|
widgets[widgetIndex + 1].left = right - size.height;
|
||||||
|
widgets[widgetIndex + 1].top = origin.y + 1;
|
||||||
|
widgets[widgetIndex + 1].right = right - 1;
|
||||||
|
widgets[widgetIndex + 1].bottom = bottom - 1;
|
||||||
|
|
||||||
|
widgets[widgetIndex + 2].left = right - size.height * 2;
|
||||||
|
widgets[widgetIndex + 2].top = origin.y + 1;
|
||||||
|
widgets[widgetIndex + 2].right = right - size.height - 1;
|
||||||
|
widgets[widgetIndex + 2].bottom = bottom - 1;
|
||||||
|
}
|
||||||
@@ -44,6 +44,7 @@ constexpr uint8_t CloseButtonWidth = 10;
|
|||||||
#define LIST_ROW_HEIGHT 12
|
#define LIST_ROW_HEIGHT 12
|
||||||
#define TABLE_CELL_HEIGHT 12
|
#define TABLE_CELL_HEIGHT 12
|
||||||
#define BUTTON_FACE_HEIGHT 12
|
#define BUTTON_FACE_HEIGHT 12
|
||||||
|
#define SPINNER_HEIGHT 12
|
||||||
|
|
||||||
#define TEXT_INPUT_SIZE 1024
|
#define TEXT_INPUT_SIZE 1024
|
||||||
#define TOP_TOOLBAR_HEIGHT 27
|
#define TOP_TOOLBAR_HEIGHT 27
|
||||||
|
|||||||
@@ -170,6 +170,8 @@ struct WindowBase
|
|||||||
|
|
||||||
void ResizeFrame();
|
void ResizeFrame();
|
||||||
void ResizeFrameWithPage();
|
void ResizeFrameWithPage();
|
||||||
|
|
||||||
|
void ResizeSpinner(WidgetIndex widgetIndex, const ScreenCoordsXY& origin, const ScreenSize& size);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __WARN_SUGGEST_FINAL_METHODS__
|
#ifdef __WARN_SUGGEST_FINAL_METHODS__
|
||||||
|
|||||||
Reference in New Issue
Block a user