diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenClasses.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenClasses.java new file mode 100644 index 0000000000000000000000000000000000000000..469d628a724f3761c23b14fc85f602966e3d0720 --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenClasses.java @@ -0,0 +1,28 @@ +package de.hdm_stuttgart.battlearena.Controller.Utilities; + +public enum ScreenClasses { +// enums have a range because the screen calculations are not precise, especially with screen scaling in the OS settings + INCH27(26, 28), + INCH24(23, 25), + INCH13_SURFACE(12, 14); + + final int lBound, uBound; + + ScreenClasses(int lBound, int uBound) { + this.lBound = lBound; + this.uBound = uBound; + } + + public static ScreenClasses inRange(int inches) { + for (ScreenClasses screens : ScreenClasses.values()) { + if (screens.isInRange(inches)) { + return screens; + } + } + return null; + } + + private boolean isInRange(int inches) { + return inches >= lBound && inches <= uBound; + } +} diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenDimensionCalculator.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenDimensionCalculator.java new file mode 100644 index 0000000000000000000000000000000000000000..4dee18cfe414ec04cc2323954e0ae0d77a128902 --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/Utilities/ScreenDimensionCalculator.java @@ -0,0 +1,12 @@ +package de.hdm_stuttgart.battlearena.Controller.Utilities; + +public class ScreenDimensionCalculator { + public double calculateDiagonalInches(double width, double height, double dpi) { + double diagonalPixels = Math.sqrt(Math.pow(width, 2) + Math.pow(height, 2)); + double diagonalInches = diagonalPixels / dpi; + System.out.println("diagonal pixels: " + diagonalPixels); + System.out.println("width: " + width); + System.out.println("height: " + height); + return diagonalInches; + } +}