diff --git a/app/src/main/java/gui/SudokuRenderer.java b/app/src/main/java/gui/SudokuRenderer.java index 6501b99..62894e5 100644 --- a/app/src/main/java/gui/SudokuRenderer.java +++ b/app/src/main/java/gui/SudokuRenderer.java @@ -11,6 +11,7 @@ import imgui.ImVec2; import imgui.ImVec4; import imgui.flag.ImGuiCol; import imgui.flag.ImGuiStyleVar; +import imgui.flag.ImGuiWindowFlags; import sudoku.structure.Block; import sudoku.structure.Cell; import sudoku.structure.MultiDoku; @@ -71,8 +72,12 @@ public class SudokuRenderer { public void render() { final float sudokuViewWidth = cellSize.x * doku.getWidth(); final float displayWidth = ImGui.getIO().getDisplaySizeX(); - ImGui.setCursorPosX(displayWidth / 2.0f - sudokuViewWidth / 2.0f); - ImGui.beginChild(1, new ImVec2(cellSize.x * doku.getWidth(), cellSize.y * doku.getHeight())); + float offsetX = displayWidth / 2.0f - sudokuViewWidth / 2.0f; + // if the grid is too big, don't offset it + if (offsetX > 0) { + ImGui.setCursorPosX(offsetX); + } + ImGui.beginChild(1, new ImVec2(cellSize.x * doku.getWidth(), cellSize.y * doku.getHeight()), ImGuiWindowFlags.HorizontalScrollbar); ImGui.pushStyleVar(ImGuiStyleVar.FrameBorderSize, 2.0f); ImGui.pushStyleVar(ImGuiStyleVar.ItemSpacing, new ImVec2(0.0f, 0.0f));