From 213820b56ee3bca977e8f083534677a6d3d6cc84 Mon Sep 17 00:00:00 2001 From: Robert Vokac Date: Fri, 20 Sep 2024 17:41:23 +0200 Subject: [PATCH] Bug 18: Refactor and separate Pixel Api and LibGDX and Open Eggbert Core --- .../api/{DisplayMode.java => ViewMode.java} | 2 +- .../api/{utils => app}/ClipBoard.java | 2 +- .../api/{utils => app}/LogLevel.java | 2 +- .../api/{utils => app}/Preferences.java | 2 +- .../api/{utils => audio}/AudioDevice.java | 2 +- .../api/{utils => audio}/AudioRecorder.java | 2 +- .../api/{utils => graphics}/Animation.java | 2 +- .../api/{utils => graphics}/Camera.java | 2 +- .../api/{utils => graphics}/Color.java | 2 +- .../api/{utils => graphics}/Cursor.java | 2 +- .../CursorViewWithoutMouse.java | 2 +- .../api/{utils => graphics}/Monitor.java | 49 +++++++++++++++++-- .../MonitorMode.java} | 15 +++--- .../api/{utils => graphics}/PixMap.java | 2 +- .../{utils => graphics}/ShapeRenderer.java | 2 +- .../api/{utils => graphics}/Sprite.java | 2 +- .../api/{utils => graphics}/SpriteBatch.java | 2 +- .../api/{utils => graphics}/Texture.java | 2 +- .../api/{utils => graphics}/TextureAtlas.java | 2 +- .../{utils => graphics}/TextureRegion.java | 2 +- .../api/{utils => input}/VibrationType.java | 4 +- .../pixelgamelibrary/api/interfaces/App.java | 6 +-- .../api/interfaces/Files.java | 30 ++++++++++-- .../api/interfaces/Graphics.java | 10 ++-- .../api/storage/StorageType.java | 1 + .../api/storage/map/MapStorageTest.java | 6 +-- 26 files changed, 114 insertions(+), 43 deletions(-) rename src/main/java/com/pixelgamelibrary/api/{DisplayMode.java => ViewMode.java} (97%) rename src/main/java/com/pixelgamelibrary/api/{utils => app}/ClipBoard.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => app}/LogLevel.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => app}/Preferences.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => audio}/AudioDevice.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => audio}/AudioRecorder.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Animation.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Camera.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Color.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Cursor.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/CursorViewWithoutMouse.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Monitor.java (50%) rename src/main/java/com/pixelgamelibrary/api/{utils/DisplayMode.java => graphics/MonitorMode.java} (86%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/PixMap.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/ShapeRenderer.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Sprite.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/SpriteBatch.java (98%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/Texture.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/TextureAtlas.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => graphics}/TextureRegion.java (96%) rename src/main/java/com/pixelgamelibrary/api/{utils => input}/VibrationType.java (93%) diff --git a/src/main/java/com/pixelgamelibrary/api/DisplayMode.java b/src/main/java/com/pixelgamelibrary/api/ViewMode.java similarity index 97% rename from src/main/java/com/pixelgamelibrary/api/DisplayMode.java rename to src/main/java/com/pixelgamelibrary/api/ViewMode.java index 782f4ca..b7550b5 100644 --- a/src/main/java/com/pixelgamelibrary/api/DisplayMode.java +++ b/src/main/java/com/pixelgamelibrary/api/ViewMode.java @@ -24,7 +24,7 @@ package com.pixelgamelibrary.api; * * @author robertvokac */ -public enum DisplayMode { +public enum ViewMode { WINDOW, FULLSCREEN; } diff --git a/src/main/java/com/pixelgamelibrary/api/utils/ClipBoard.java b/src/main/java/com/pixelgamelibrary/api/app/ClipBoard.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/ClipBoard.java rename to src/main/java/com/pixelgamelibrary/api/app/ClipBoard.java index 1b1fe23..0ea696d 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/ClipBoard.java +++ b/src/main/java/com/pixelgamelibrary/api/app/ClipBoard.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.app; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/LogLevel.java b/src/main/java/com/pixelgamelibrary/api/app/LogLevel.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/LogLevel.java rename to src/main/java/com/pixelgamelibrary/api/app/LogLevel.java index fced463..6325bc2 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/LogLevel.java +++ b/src/main/java/com/pixelgamelibrary/api/app/LogLevel.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.app; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Preferences.java b/src/main/java/com/pixelgamelibrary/api/app/Preferences.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Preferences.java rename to src/main/java/com/pixelgamelibrary/api/app/Preferences.java index 4bb17b6..95be628 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Preferences.java +++ b/src/main/java/com/pixelgamelibrary/api/app/Preferences.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.app; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/AudioDevice.java b/src/main/java/com/pixelgamelibrary/api/audio/AudioDevice.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/AudioDevice.java rename to src/main/java/com/pixelgamelibrary/api/audio/AudioDevice.java index d48d5a9..3a10c86 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/AudioDevice.java +++ b/src/main/java/com/pixelgamelibrary/api/audio/AudioDevice.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.audio; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/AudioRecorder.java b/src/main/java/com/pixelgamelibrary/api/audio/AudioRecorder.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/AudioRecorder.java rename to src/main/java/com/pixelgamelibrary/api/audio/AudioRecorder.java index 465b090..2da200b 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/AudioRecorder.java +++ b/src/main/java/com/pixelgamelibrary/api/audio/AudioRecorder.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.audio; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Animation.java b/src/main/java/com/pixelgamelibrary/api/graphics/Animation.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Animation.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Animation.java index c2076bc..84f8cc4 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Animation.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Animation.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Camera.java b/src/main/java/com/pixelgamelibrary/api/graphics/Camera.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Camera.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Camera.java index 3edfcc6..25ceff2 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Camera.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Camera.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Color.java b/src/main/java/com/pixelgamelibrary/api/graphics/Color.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Color.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Color.java index 25bfa5e..2245b67 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Color.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Color.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Cursor.java b/src/main/java/com/pixelgamelibrary/api/graphics/Cursor.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Cursor.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Cursor.java index 428b28b..a680d78 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Cursor.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Cursor.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/CursorViewWithoutMouse.java b/src/main/java/com/pixelgamelibrary/api/graphics/CursorViewWithoutMouse.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/CursorViewWithoutMouse.java rename to src/main/java/com/pixelgamelibrary/api/graphics/CursorViewWithoutMouse.java index 174c1cd..9392bce 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/CursorViewWithoutMouse.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/CursorViewWithoutMouse.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Monitor.java b/src/main/java/com/pixelgamelibrary/api/graphics/Monitor.java similarity index 50% rename from src/main/java/com/pixelgamelibrary/api/utils/Monitor.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Monitor.java index a8d3dd8..905c791 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Monitor.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Monitor.java @@ -17,16 +17,57 @@ // or write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// +package com.pixelgamelibrary.api.graphics; -package com.pixelgamelibrary.api.utils; +import com.pixelgamelibrary.api.ViewMode; +import java.util.List; /** * * @author robertvokac */ -public class Monitor { - public Monitor() { -//todo +public interface Monitor { + + String getName(); + + int getVirtualWidth(); + + int getVirtualHeight(); + + MonitorMode getMonitorMode(); + + List listSupportedMonitorModes(); + + boolean setMonitorMode(MonitorMode monitorMode); + + boolean setToOriginalMonitorMode(); + + default void setViewMode(ViewMode displayMode) { + setViewMode(displayMode, 0, 0); + } + void setViewMode(ViewMode displayMode, int width, int height); + + default void setFullScreenMode() { + setViewMode(ViewMode.FULLSCREEN); + } + + default void setWindowedMode(int width, int height) { + setViewMode(ViewMode.WINDOW, width, height); + } + + default boolean isFullscreen() { + return getViewMode() == ViewMode.FULLSCREEN; + } + + default boolean isWindowed() { + return getViewMode() == ViewMode.WINDOW; } + ViewMode getViewMode(); + + boolean isMonitorInUse(); + + boolean isMonitorModeChangeSupported(); + + } diff --git a/src/main/java/com/pixelgamelibrary/api/utils/DisplayMode.java b/src/main/java/com/pixelgamelibrary/api/graphics/MonitorMode.java similarity index 86% rename from src/main/java/com/pixelgamelibrary/api/utils/DisplayMode.java rename to src/main/java/com/pixelgamelibrary/api/graphics/MonitorMode.java index 322df6f..6825361 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/DisplayMode.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/MonitorMode.java @@ -18,17 +18,20 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.ToString; /** * * @author robertvokac */ -public class DisplayMode { +@Data +@AllArgsConstructor +@ToString +public class MonitorMode { private int width, height, refreshRate, bitsPerPixel; - public DisplayMode() { - - } - } diff --git a/src/main/java/com/pixelgamelibrary/api/utils/PixMap.java b/src/main/java/com/pixelgamelibrary/api/graphics/PixMap.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/PixMap.java rename to src/main/java/com/pixelgamelibrary/api/graphics/PixMap.java index 9e6a66d..779caad 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/PixMap.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/PixMap.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/ShapeRenderer.java b/src/main/java/com/pixelgamelibrary/api/graphics/ShapeRenderer.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/ShapeRenderer.java rename to src/main/java/com/pixelgamelibrary/api/graphics/ShapeRenderer.java index 6d9e487..2576b4a 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/ShapeRenderer.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/ShapeRenderer.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Sprite.java b/src/main/java/com/pixelgamelibrary/api/graphics/Sprite.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Sprite.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Sprite.java index 66a478e..b1d9a72 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Sprite.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Sprite.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/SpriteBatch.java b/src/main/java/com/pixelgamelibrary/api/graphics/SpriteBatch.java similarity index 98% rename from src/main/java/com/pixelgamelibrary/api/utils/SpriteBatch.java rename to src/main/java/com/pixelgamelibrary/api/graphics/SpriteBatch.java index 4faa466..dc47c30 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/SpriteBatch.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/SpriteBatch.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/Texture.java b/src/main/java/com/pixelgamelibrary/api/graphics/Texture.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/Texture.java rename to src/main/java/com/pixelgamelibrary/api/graphics/Texture.java index 5dd7873..70ddc97 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/Texture.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/Texture.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/TextureAtlas.java b/src/main/java/com/pixelgamelibrary/api/graphics/TextureAtlas.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/TextureAtlas.java rename to src/main/java/com/pixelgamelibrary/api/graphics/TextureAtlas.java index 77803ae..40d3c9c 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/TextureAtlas.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/TextureAtlas.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/TextureRegion.java b/src/main/java/com/pixelgamelibrary/api/graphics/TextureRegion.java similarity index 96% rename from src/main/java/com/pixelgamelibrary/api/utils/TextureRegion.java rename to src/main/java/com/pixelgamelibrary/api/graphics/TextureRegion.java index 25380ad..3da11f2 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/TextureRegion.java +++ b/src/main/java/com/pixelgamelibrary/api/graphics/TextureRegion.java @@ -18,7 +18,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.graphics; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/utils/VibrationType.java b/src/main/java/com/pixelgamelibrary/api/input/VibrationType.java similarity index 93% rename from src/main/java/com/pixelgamelibrary/api/utils/VibrationType.java rename to src/main/java/com/pixelgamelibrary/api/input/VibrationType.java index 9b4f359..e64ef84 100644 --- a/src/main/java/com/pixelgamelibrary/api/utils/VibrationType.java +++ b/src/main/java/com/pixelgamelibrary/api/input/VibrationType.java @@ -18,12 +18,12 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. /////////////////////////////////////////////////////////////////////////////////////////////// -package com.pixelgamelibrary.api.utils; +package com.pixelgamelibrary.api.input; /** * * @author robertvokac */ public enum VibrationType { - NONE, ERROR, INFO, WARN, DEBUG; + } diff --git a/src/main/java/com/pixelgamelibrary/api/interfaces/App.java b/src/main/java/com/pixelgamelibrary/api/interfaces/App.java index 1ba6b4f..36fa795 100644 --- a/src/main/java/com/pixelgamelibrary/api/interfaces/App.java +++ b/src/main/java/com/pixelgamelibrary/api/interfaces/App.java @@ -22,9 +22,9 @@ package com.pixelgamelibrary.api.interfaces; import com.pixelgamelibrary.api.PixelFeature; import com.pixelgamelibrary.api.Platform; import com.pixelgamelibrary.api.game.Game; -import com.pixelgamelibrary.api.utils.ClipBoard; -import com.pixelgamelibrary.api.utils.LogLevel; -import com.pixelgamelibrary.api.utils.Preferences; +import com.pixelgamelibrary.api.app.ClipBoard; +import com.pixelgamelibrary.api.app.LogLevel; +import com.pixelgamelibrary.api.app.Preferences; /** * diff --git a/src/main/java/com/pixelgamelibrary/api/interfaces/Files.java b/src/main/java/com/pixelgamelibrary/api/interfaces/Files.java index c48d256..77d15a6 100644 --- a/src/main/java/com/pixelgamelibrary/api/interfaces/Files.java +++ b/src/main/java/com/pixelgamelibrary/api/interfaces/Files.java @@ -24,6 +24,7 @@ import com.pixelgamelibrary.api.storage.Storage; import com.pixelgamelibrary.api.storage.StorageException; import com.pixelgamelibrary.api.storage.StorageType; import static com.pixelgamelibrary.api.storage.StorageType.ASSETS; +import static com.pixelgamelibrary.api.storage.StorageType.EXTERNAL; /** * @@ -31,17 +32,38 @@ import static com.pixelgamelibrary.api.storage.StorageType.ASSETS; */ public interface Files { - Storage local(); - Storage assets(); + + Storage local(); Storage external(); - Storage relative(String absolutePath); + Storage relative(); Storage absolute(); Storage tmp(); + + default FileHandle assetsFile(String path) { + return assets().file(path); + } + default FileHandle localFile(String path) { + return local().file(path); + } + default FileHandle externalFile(String path) { + return external().file(path); + } + default FileHandle relativeFile(String path) { + return relative().file(path); + } + default FileHandle absoluteFile(String path) { + return absolute().file(path); + } + default FileHandle tmpFile(String path) { + return tmp().file(path); + } + + default FileHandle file​(java.lang.String path, StorageType type) { switch (type) { @@ -51,6 +73,8 @@ public interface Files { return local().file(path); case EXTERNAL: return external().file(path); + case RELATIVE: + return relative().file(path); case ABSOLUTE: return absolute().file(path); case TMP: diff --git a/src/main/java/com/pixelgamelibrary/api/interfaces/Graphics.java b/src/main/java/com/pixelgamelibrary/api/interfaces/Graphics.java index 84958ae..7102ae1 100644 --- a/src/main/java/com/pixelgamelibrary/api/interfaces/Graphics.java +++ b/src/main/java/com/pixelgamelibrary/api/interfaces/Graphics.java @@ -19,8 +19,7 @@ /////////////////////////////////////////////////////////////////////////////////////////////// package com.pixelgamelibrary.api.interfaces; -import com.pixelgamelibrary.api.DisplayMode; -import com.pixelgamelibrary.api.utils.Monitor; +import com.pixelgamelibrary.api.graphics.Monitor; import java.util.List; /** @@ -28,8 +27,11 @@ import java.util.List; * @author robertvokac */ public interface Graphics { - boolean setToOriginalDisplayMode(); - DisplayMode setDisplayMode(boolean fullscreen, boolean window); + List getMonitors(); + Monitor getMonitor(); + Monitor getPrimaryMonitor(); + String getTitle(); + void setTitle(String title); } diff --git a/src/main/java/com/pixelgamelibrary/api/storage/StorageType.java b/src/main/java/com/pixelgamelibrary/api/storage/StorageType.java index e5721dd..52c260e 100644 --- a/src/main/java/com/pixelgamelibrary/api/storage/StorageType.java +++ b/src/main/java/com/pixelgamelibrary/api/storage/StorageType.java @@ -27,6 +27,7 @@ public enum StorageType { ASSETS, LOCAL, EXTERNAL, + RELATIVE, ABSOLUTE, TMP, UNDEFINED; diff --git a/src/test/java/com/pixelgamelibrary/api/storage/map/MapStorageTest.java b/src/test/java/com/pixelgamelibrary/api/storage/map/MapStorageTest.java index c06dc4e..8ff82ce 100644 --- a/src/test/java/com/pixelgamelibrary/api/storage/map/MapStorageTest.java +++ b/src/test/java/com/pixelgamelibrary/api/storage/map/MapStorageTest.java @@ -21,9 +21,9 @@ import com.pixelgamelibrary.api.interfaces.Utils; import com.pixelgamelibrary.api.interfaces.App; import com.pixelgamelibrary.api.game.Game; import com.pixelgamelibrary.api.PixelFeature; -import com.pixelgamelibrary.api.utils.ClipBoard; -import com.pixelgamelibrary.api.utils.LogLevel; -import com.pixelgamelibrary.api.utils.Preferences; +import com.pixelgamelibrary.api.app.ClipBoard; +import com.pixelgamelibrary.api.app.LogLevel; +import com.pixelgamelibrary.api.app.Preferences; // Tests for MapStorage class public class MapStorageTest {