fix: properly offset the mouse position in containers (#327)
This commit is contained in:
@@ -214,8 +214,8 @@ void UIScene_AbstractContainerMenu::tick()
|
|||||||
scrollDelta = KMInput.ConsumeScrollDelta();
|
scrollDelta = KMInput.ConsumeScrollDelta();
|
||||||
|
|
||||||
// Convert mouse position to movie coordinates using the movie/client ratio
|
// Convert mouse position to movie coordinates using the movie/client ratio
|
||||||
float mx = (float)mouseX * ((float)m_movieWidth / (float)clientWidth);
|
float mx = (float)mouseX * ((float)m_movieWidth / (float)clientWidth) - (float)m_controlMainPanel.getXPos();
|
||||||
float my = (float)mouseY * ((float)m_movieHeight / (float)clientHeight);
|
float my = (float)mouseY * ((float)m_movieHeight / (float)clientHeight) - (float)m_controlMainPanel.getYPos();
|
||||||
|
|
||||||
rawMouseMovieX = mx;
|
rawMouseMovieX = mx;
|
||||||
rawMouseMovieY = my;
|
rawMouseMovieY = my;
|
||||||
@@ -306,8 +306,13 @@ void UIScene_AbstractContainerMenu::tick()
|
|||||||
// Scale mouse client coords to the Iggy display space (which was set to getRenderDimensions())
|
// Scale mouse client coords to the Iggy display space (which was set to getRenderDimensions())
|
||||||
RECT clientRect;
|
RECT clientRect;
|
||||||
GetClientRect(KMInput.GetHWnd(), &clientRect);
|
GetClientRect(KMInput.GetHWnd(), &clientRect);
|
||||||
x = (S32)((float)KMInput.GetMouseX() * ((float)width / (float)clientRect.right));
|
float mouseMovieX = (float)KMInput.GetMouseX() * ((float)m_movieWidth / (float)clientRect.right);
|
||||||
y = (S32)((float)KMInput.GetMouseY() * ((float)height / (float)clientRect.bottom));
|
float mouseMovieY = (float)KMInput.GetMouseY() * ((float)m_movieHeight / (float)clientRect.bottom);
|
||||||
|
float mouseLocalX = mouseMovieX - (float)m_controlMainPanel.getXPos();
|
||||||
|
float mouseLocalY = mouseMovieY - (float)m_controlMainPanel.getYPos();
|
||||||
|
|
||||||
|
x = (S32)(mouseLocalX * ((float)width / m_movieWidth));
|
||||||
|
y = (S32)(mouseLocalY * ((float)height / m_movieHeight));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user