mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 12:05:14 -04:00
Touch controls should be positioned at bottom of screen instead
This commit is contained in:
parent
f9b610fc0d
commit
117a4ebd66
@ -1606,13 +1606,13 @@ static const struct TouchBindDesc {
|
|||||||
cc_uint8 bind, width;
|
cc_uint8 bind, width;
|
||||||
cc_int16 xOffset, yOffset;
|
cc_int16 xOffset, yOffset;
|
||||||
} touchDescs[7] = {
|
} touchDescs[7] = {
|
||||||
{ "<", KEYBIND_LEFT, 40, 10, 90 },
|
{ "<", KEYBIND_LEFT, 40, 10, 50 },
|
||||||
{ ">", KEYBIND_RIGHT, 40, 150, 90 },
|
{ ">", KEYBIND_RIGHT, 40, 150, 50 },
|
||||||
{ "^", KEYBIND_FORWARD, 40, 80, 50 },
|
{ "^", KEYBIND_FORWARD, 40, 80, 90 },
|
||||||
{ "\\/", KEYBIND_BACK, 40, 80, 130 },
|
{ "\\/", KEYBIND_BACK, 40, 80, 10 },
|
||||||
{ "Jump", KEYBIND_JUMP, 100, 50, 50 },
|
{ "Jump", KEYBIND_JUMP, 100, 50, 90 },
|
||||||
{ "", KEYBIND_COUNT, 100, 50, 90 },
|
{ "", KEYBIND_COUNT, 100, 50, 50 },
|
||||||
{ "More", KEYBIND_COUNT, 100, 50, 130 },
|
{ "More", KEYBIND_COUNT, 100, 50, 10 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void TouchScreen_ContextLost(void* screen) {
|
static void TouchScreen_ContextLost(void* screen) {
|
||||||
@ -1705,7 +1705,7 @@ static void TouchScreen_Init(void* screen) {
|
|||||||
for (i = 0; i < s->numWidgets; i++) {
|
for (i = 0; i < s->numWidgets; i++) {
|
||||||
desc = &touchDescs[i];
|
desc = &touchDescs[i];
|
||||||
ButtonWidget_Make(&s->btns[i], desc->width, NULL, i < 4 ? ANCHOR_MIN : ANCHOR_MAX,
|
ButtonWidget_Make(&s->btns[i], desc->width, NULL, i < 4 ? ANCHOR_MIN : ANCHOR_MAX,
|
||||||
ANCHOR_MIN, desc->xOffset, desc->yOffset);
|
ANCHOR_MAX, desc->xOffset, desc->yOffset);
|
||||||
s->binds[i] = desc->bind;
|
s->binds[i] = desc->bind;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1713,12 +1713,26 @@ static void TouchScreen_Init(void* screen) {
|
|||||||
s->btns[6].MenuClick = TouchScreen_MoreClick;
|
s->btns[6].MenuClick = TouchScreen_MoreClick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void TouchScreen_Layout(void* screen) {
|
||||||
|
struct TouchScreen* s;
|
||||||
|
int i, height;
|
||||||
|
|
||||||
|
s = (struct TouchScreen*)screen;
|
||||||
|
HUDScreen_Layout(Gui_HUD);
|
||||||
|
height = Gui_HUD->hotbar.height;
|
||||||
|
|
||||||
|
for (i = 0; i < s->numWidgets; i++) {
|
||||||
|
s->btns[i].yOffset = height + Display_ScaleY(touchDescs[i].yOffset);
|
||||||
|
}
|
||||||
|
Screen_Layout(screen);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct ScreenVTABLE TouchScreen_VTABLE = {
|
static const struct ScreenVTABLE TouchScreen_VTABLE = {
|
||||||
TouchScreen_Init, Screen_NullUpdate, Screen_NullFunc,
|
TouchScreen_Init, Screen_NullUpdate, Screen_NullFunc,
|
||||||
TouchScreen_Render, Screen_BuildMesh,
|
TouchScreen_Render, Screen_BuildMesh,
|
||||||
Screen_FInput, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
Screen_FInput, Screen_FInput, Screen_FKeyPress, Screen_FText,
|
||||||
TouchScreen_PointerDown, TouchScreen_PointerUp, Screen_FPointer, Screen_FMouseScroll,
|
TouchScreen_PointerDown, TouchScreen_PointerUp, Screen_FPointer, Screen_FMouseScroll,
|
||||||
Screen_Layout, TouchScreen_ContextLost, TouchScreen_ContextRecreated
|
TouchScreen_Layout, TouchScreen_ContextLost, TouchScreen_ContextRecreated
|
||||||
};
|
};
|
||||||
void TouchScreen_Show(void) {
|
void TouchScreen_Show(void) {
|
||||||
struct TouchScreen* s = &TouchScreen;
|
struct TouchScreen* s = &TouchScreen;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user