gui: Use right-stick to move around image if bigger than 960x544

This commit is contained in:
Joel16 2020-12-29 23:18:05 -05:00
parent aa5654dcce
commit f8168764c2
3 changed files with 7 additions and 10 deletions

View File

@ -8741,7 +8741,7 @@ static void ImGui::NavUpdate()
// *Normal* Manual scroll with NavScrollXXX keys
// Next movement request will clamp the NavId reference rectangle to the visible area, so navigation will resume within those bounds.
ImVec2 scroll_dir = GetNavInputAmount2d(ImGuiNavDirSourceFlags_PadLStick, ImGuiInputReadMode_Down, 1.0f / 10.0f, 10.0f);
if (scroll_dir.x != 0.0f && window->ScrollbarX)
if (scroll_dir.x != 0.0f)
{
SetScrollX(window, ImFloor(window->Scroll.x + scroll_dir.x * scroll_speed));
g.NavMoveFromClampedRefRect = true;

View File

@ -299,8 +299,8 @@ static void ImGui_ImplVitaGL_UpdateGamepads() {
SceCtrlData pad;
sceCtrlPeekBufferPositive(0, &pad, 1);
int lstick_x = (pad.lx - 127) * 256;
int lstick_y = (pad.ly - 127) * 256;
int rstick_x = (pad.rx - 127) * 256;
int rstick_y = (pad.ry - 127) * 256;
// Update gamepad inputs
#define MAP_BUTTON(NAV_NO, BUTTON_NO) { io.NavInputs[NAV_NO] = pad.buttons & BUTTON_NO? 1.0f : 0.0f; }
@ -318,12 +318,10 @@ static void ImGui_ImplVitaGL_UpdateGamepads() {
MAP_BUTTON(ImGuiNavInput_FocusNext, SCE_CTRL_RTRIGGER); // R1 / RB
MAP_BUTTON(ImGuiNavInput_TweakSlow, SCE_CTRL_LTRIGGER); // L1 / LB
MAP_BUTTON(ImGuiNavInput_TweakFast, SCE_CTRL_RTRIGGER); // R1 / RB
MAP_ANALOG(ImGuiNavInput_LStickLeft, lstick_x, -thumb_dead_zone, -32768);
MAP_ANALOG(ImGuiNavInput_LStickRight, lstick_x, +thumb_dead_zone, +32767);
MAP_ANALOG(ImGuiNavInput_LStickUp, lstick_y, -thumb_dead_zone, -32767);
MAP_ANALOG(ImGuiNavInput_LStickDown, lstick_y, +thumb_dead_zone, +32767);
MAP_ANALOG(ImGuiNavInput_DpadLeft, lstick_x, -thumb_dead_zone, -32768);
MAP_ANALOG(ImGuiNavInput_DpadRight, lstick_x, +thumb_dead_zone, +32767);
MAP_ANALOG(ImGuiNavInput_LStickLeft, rstick_x, -thumb_dead_zone, -32768);
MAP_ANALOG(ImGuiNavInput_LStickRight, rstick_x, +thumb_dead_zone, +32767);
MAP_ANALOG(ImGuiNavInput_LStickUp, rstick_y, -thumb_dead_zone, -32767);
MAP_ANALOG(ImGuiNavInput_LStickDown, rstick_y, +thumb_dead_zone, +32767);
io.BackendFlags |= ImGuiBackendFlags_HasGamepad;
#undef MAP_BUTTON

View File

@ -144,7 +144,6 @@ namespace GUI {
}
else if (pressed & SCE_CTRL_RTRIGGER) {
GUI::ClearTextures(&item);
if (!GUI::HandleNext(&item))
item.state = GUI_STATE_HOME;
}