Add safety checks to GridLayout so we fail-fast
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
package de.johni0702.minecraft.gui.layout;
|
package de.johni0702.minecraft.gui.layout;
|
||||||
|
|
||||||
|
import com.google.common.base.Preconditions;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import de.johni0702.minecraft.gui.container.GuiContainer;
|
import de.johni0702.minecraft.gui.container.GuiContainer;
|
||||||
import de.johni0702.minecraft.gui.element.GuiElement;
|
import de.johni0702.minecraft.gui.element.GuiElement;
|
||||||
@@ -54,6 +55,7 @@ public class GridLayout implements Layout {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<GuiElement, Pair<ReadablePoint, ReadableDimension>> layOut(GuiContainer<?> container, ReadableDimension size) {
|
public Map<GuiElement, Pair<ReadablePoint, ReadableDimension>> layOut(GuiContainer<?> container, ReadableDimension size) {
|
||||||
|
Preconditions.checkState(columns != 0, "Columns may not be 0.");
|
||||||
int elements = container.getElements().size();
|
int elements = container.getElements().size();
|
||||||
int rows = (elements - 1 + columns) / columns;
|
int rows = (elements - 1 + columns) / columns;
|
||||||
if (rows < 1) {
|
if (rows < 1) {
|
||||||
@@ -91,6 +93,7 @@ public class GridLayout implements Layout {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableDimension calcMinSize(GuiContainer<?> container) {
|
public ReadableDimension calcMinSize(GuiContainer<?> container) {
|
||||||
|
Preconditions.checkState(columns != 0, "Columns may not be 0.");
|
||||||
int maxWidth = 0, maxHeight = 0;
|
int maxWidth = 0, maxHeight = 0;
|
||||||
int elements = 0;
|
int elements = 0;
|
||||||
for (Map.Entry<GuiElement, LayoutData> entry : container.getElements().entrySet()) {
|
for (Map.Entry<GuiElement, LayoutData> entry : container.getElements().entrySet()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user