remove assertion in ButtonMeta::setPos, reduce potential impact of imprecision

This commit is contained in:
Gregor Parzefall 2024-08-19 15:20:10 +02:00
parent e0d607b68c
commit 7cc65fd0b1
2 changed files with 3 additions and 6 deletions

View File

@ -272,12 +272,11 @@ void GUITouchscreenLayout::drawMenu()
void GUITouchscreenLayout::updateDragState(v2u32 screensize, v2s32 mouse_movement) void GUITouchscreenLayout::updateDragState(v2u32 screensize, v2s32 mouse_movement)
{ {
ButtonMeta &meta = m_layout.layout.at(m_selected_btn);
meta.setPos(meta.getPos(screensize, m_button_size) + mouse_movement,
screensize, m_button_size);
core::recti rect = m_layout.getRect(m_selected_btn, screensize, m_button_size, m_tsrc); core::recti rect = m_layout.getRect(m_selected_btn, screensize, m_button_size, m_tsrc);
rect += mouse_movement;
rect.constrainTo(core::recti(v2s32(0, 0), core::dimension2du(screensize))); rect.constrainTo(core::recti(v2s32(0, 0), core::dimension2du(screensize)));
ButtonMeta &meta = m_layout.layout.at(m_selected_btn);
meta.setPos(rect.getCenter(), screensize, m_button_size); meta.setPos(rect.getCenter(), screensize, m_button_size);
rect = m_layout.getRect(m_selected_btn, screensize, m_button_size, m_tsrc); rect = m_layout.getRect(m_selected_btn, screensize, m_button_size, m_tsrc);

View File

@ -133,8 +133,6 @@ void ButtonMeta::setPos(v2s32 pos, v2u32 screensize, s32 button_size)
offset.X = (pos.X - (anchor.X * screensize.X)) / button_size; offset.X = (pos.X - (anchor.X * screensize.X)) / button_size;
offset.Y = (pos.Y - (anchor.Y * screensize.Y)) / button_size; offset.Y = (pos.Y - (anchor.Y * screensize.Y)) / button_size;
assert(getPos(screensize, button_size) == pos);
} }
bool ButtonLayout::isButtonAllowed(touch_gui_button_id id) bool ButtonLayout::isButtonAllowed(touch_gui_button_id id)