Bug 18: Refactor and separate Pixel Api and LibGDX and Open Eggbert Core

This commit is contained in:
Robert Vokac 2024-09-20 17:41:23 +02:00 committed by Robert Vokac
parent 9529743d22
commit 213820b56e
Signed by: robertvokac
GPG Key ID: FB9CE8E20AADA55F
26 changed files with 114 additions and 43 deletions

View File

@ -24,7 +24,7 @@ package com.pixelgamelibrary.api;
*
* @author robertvokac
*/
public enum DisplayMode {
public enum ViewMode {
WINDOW, FULLSCREEN;
}

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -17,16 +17,57 @@
// <https://www.gnu.org/licenses/> 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<MonitorMode> 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();
}

View File

@ -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() {
}
}

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
/**
*

View File

@ -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;
}

View File

@ -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;
/**
*

View File

@ -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:

View File

@ -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<Monitor> getMonitors();
Monitor getMonitor();
Monitor getPrimaryMonitor();
String getTitle();
void setTitle(String title);
}

View File

@ -27,6 +27,7 @@ public enum StorageType {
ASSETS,
LOCAL,
EXTERNAL,
RELATIVE,
ABSOLUTE,
TMP,
UNDEFINED;

View File

@ -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 {