GUI: new pattern cursor logic, part 4

fix a couple bugs
This commit is contained in:
tildearrow 2025-06-28 03:49:15 -05:00
parent 9646eb9028
commit 608dc375ea
3 changed files with 4 additions and 7 deletions

View file

@ -539,21 +539,18 @@ void FurnaceGUI::drawPattern() {
// wrap around and go to previous/next pattern if we're about to go beyond the view
if (newScroll<0.0f && curOrder>0) {
ImGui::SetScrollY(ImGui::GetScrollMaxY()+newScroll);
setOrder(curOrder-1);
curOrder--;
} else if (newScroll>ImGui::GetScrollMaxY() && curOrder<(e->curSubSong->ordersLen-1)) {
ImGui::SetScrollY(newScroll-ImGui::GetScrollMaxY());
setOrder(curOrder+1);
curOrder++;
} else {
ImGui::SetScrollY(newScroll);
}
// select in empty space
logV("T: %d,%d B: %d,%d",topMostOrder,topMostRow,bottomMostOrder,bottomMostRow);
if (nextAddScroll>0.0f) {
logW("DOWN");
updateSelection(selEnd.xCoarse,selEnd.xFine,bottomMostRow,bottomMostOrder);
} else {
logW("UP");
updateSelection(selEnd.xCoarse,selEnd.xFine,topMostRow,topMostOrder);
}