fix: sliders not working
This commit is contained in:
@@ -1101,6 +1101,9 @@ void UIController::tickInput()
|
|||||||
panelOffsetY = pMainPanel->getYPos();
|
panelOffsetY = pMainPanel->getYPos();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool leftPressed = g_KBMInput.IsMouseButtonPressed(KeyboardMouseInput::MOUSE_LEFT);
|
||||||
|
bool leftDown = leftPressed || g_KBMInput.IsMouseButtonDown(KeyboardMouseInput::MOUSE_LEFT);
|
||||||
|
|
||||||
// Mouse hover — hit test against C++ control bounds.
|
// Mouse hover — hit test against C++ control bounds.
|
||||||
// Simple controls use SetFocusToElement; list controls
|
// Simple controls use SetFocusToElement; list controls
|
||||||
// use their own SetTouchFocus for Flash-side hit testing.
|
// use their own SetTouchFocus for Flash-side hit testing.
|
||||||
@@ -1158,7 +1161,7 @@ void UIController::tickInput()
|
|||||||
if (rowHeight > 0)
|
if (rowHeight > 0)
|
||||||
adjustedMouseY -= rowHeight;
|
adjustedMouseY -= rowHeight;
|
||||||
}
|
}
|
||||||
UIControl_MultiList *pMulti = dynamic_cast<UIControl_MultiList*>(ctrl);
|
UIControl_MultiList *pMulti = dynamic_cast<UIControl_MultiList*>(ctrl);
|
||||||
if (pMulti)
|
if (pMulti)
|
||||||
{
|
{
|
||||||
S32 adjustedY = static_cast<S32>(sceneMouseY);
|
S32 adjustedY = static_cast<S32>(sceneMouseY);
|
||||||
@@ -1169,13 +1172,14 @@ void UIController::tickInput()
|
|||||||
if (rowHeight > 0)
|
if (rowHeight > 0)
|
||||||
adjustedY -= (rowHeight * 2);
|
adjustedY -= (rowHeight * 2);
|
||||||
}
|
}
|
||||||
pMulti->SetTouchFocus(
|
|
||||||
static_cast<S32>(sceneMouseX), adjustedY, false);
|
S32 localX = static_cast<S32>(sceneMouseX) - cx;
|
||||||
|
pMulti->SetTouchFocus(localX, adjustedY, leftDown);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
static_cast<UIControl_ButtonList*>(ctrl)->SetTouchFocus(
|
static_cast<UIControl_ButtonList*>(ctrl)->SetTouchFocus(
|
||||||
static_cast<S32>(sceneMouseX), adjustedMouseY, false);
|
static_cast<S32>(sceneMouseX), adjustedMouseY, leftDown);
|
||||||
}
|
}
|
||||||
hitControlId = -1;
|
hitControlId = -1;
|
||||||
hitArea = INT_MAX;
|
hitArea = INT_MAX;
|
||||||
@@ -1247,9 +1251,6 @@ void UIController::tickInput()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool leftPressed = g_KBMInput.IsMouseButtonPressed(KeyboardMouseInput::MOUSE_LEFT);
|
|
||||||
bool leftDown = leftPressed || g_KBMInput.IsMouseButtonDown(KeyboardMouseInput::MOUSE_LEFT);
|
|
||||||
|
|
||||||
if (m_mouseDraggingSliderScene != eUIScene_COUNT && m_mouseDraggingSliderScene != pScene->getSceneType())
|
if (m_mouseDraggingSliderScene != eUIScene_COUNT && m_mouseDraggingSliderScene != pScene->getSceneType())
|
||||||
{
|
{
|
||||||
m_mouseDraggingSliderScene = eUIScene_COUNT;
|
m_mouseDraggingSliderScene = eUIScene_COUNT;
|
||||||
|
|||||||
Reference in New Issue
Block a user