Refactored renderer model;
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>de.extio</groupId>
|
<groupId>de.extio</groupId>
|
||||||
<artifactId>game-engine</artifactId>
|
<artifactId>game-engine</artifactId>
|
||||||
<version>1.0.1</version>
|
<version>1.0.2</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>25</java.version>
|
<java.version>25</java.version>
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import de.extio.game_engine.keyboard.KeyModifiers;
|
import de.extio.game_engine.keyboard.KeyModifiers;
|
||||||
import de.extio.game_engine.keyboard.KeycodeRegistration;
|
import de.extio.game_engine.keyboard.KeycodeRegistration;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
import de.extio.game_engine.renderer.model.options.VideoOptions;
|
import de.extio.game_engine.renderer.model.options.VideoOptions;
|
||||||
|
|
||||||
public class RendererLoop implements Runnable {
|
public class RendererLoop implements Runnable {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package de.extio.game_engine.renderer;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.resource.StaticResource;
|
import de.extio.game_engine.resource.StaticResource;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
|
|
||||||
public interface ThemeManager {
|
public interface ThemeManager {
|
||||||
|
|
||||||
|
|||||||
@@ -47,9 +47,9 @@ import de.extio.game_engine.renderer.g2d.theme.NeonThemeFactoryBean;
|
|||||||
import de.extio.game_engine.renderer.g2d.theme.NoirThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.NoirThemeFactoryBean;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.SpacecraftThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.SpacecraftThemeFactoryBean;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.SteampunkThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.SteampunkThemeFactoryBean;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
import de.extio.game_engine.renderer.g2d.theme.UrbanThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.UrbanThemeFactoryBean;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.VintageThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.VintageThemeFactoryBean;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.TerminalThemeFactoryBean;
|
import de.extio.game_engine.renderer.g2d.theme.TerminalThemeFactoryBean;
|
||||||
import de.extio.game_engine.resource.StaticResourceService;
|
import de.extio.game_engine.resource.StaticResourceService;
|
||||||
import de.extio.game_engine.storage.StorageService;
|
import de.extio.game_engine.storage.StorageService;
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class CustomButton extends CustomAbstractButton {
|
public class CustomButton extends CustomAbstractButton {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.renderer.model.bo.HorizontalAlignment;
|
import de.extio.game_engine.renderer.model.bo.HorizontalAlignment;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import java.util.function.Consumer;
|
|||||||
|
|
||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.Objects;
|
|||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.PopupMenuItem;
|
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.PopupMenuItem;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import java.util.function.Consumer;
|
|||||||
|
|
||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.awt.event.MouseEvent;
|
|||||||
import java.awt.event.MouseMotionListener;
|
import java.awt.event.MouseMotionListener;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class CustomSwitch extends CustomAbstractButton {
|
public class CustomSwitch extends CustomAbstractButton {
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import java.awt.event.MouseWheelEvent;
|
|||||||
import java.awt.event.MouseWheelListener;
|
import java.awt.event.MouseWheelListener;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.G2DMainFrame;
|
import de.extio.game_engine.renderer.g2d.G2DMainFrame;
|
||||||
import de.extio.game_engine.renderer.g2d.theme.Theme;
|
|
||||||
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
import de.extio.game_engine.renderer.g2d.theme.G2DThemeManager;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||||
|
|
||||||
public class CustomWindowPanel extends Component {
|
public class CustomWindowPanel extends Component {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class AsciiPatternRenderer implements PatternRenderer {
|
public class AsciiPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class AsciiThemeFactoryBean implements FactoryBean<Theme> {
|
public class AsciiThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class BevelDarkThemeFactoryBean implements FactoryBean<Theme> {
|
public class BevelDarkThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class BevelLightThemeFactoryBean implements FactoryBean<Theme> {
|
public class BevelLightThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class BevelPatternRenderer implements PatternRenderer {
|
public class BevelPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.Stroke;
|
import java.awt.Stroke;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class BlueprintPatternRenderer implements PatternRenderer {
|
public class BlueprintPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class BlueprintThemeFactoryBean implements FactoryBean<Theme> {
|
public class BlueprintThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.awt.Stroke;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class ChroniclePatternRenderer implements PatternRenderer {
|
public class ChroniclePatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class ChronicleThemeFactoryBean implements FactoryBean<Theme> {
|
public class ChronicleThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.awt.geom.RoundRectangle2D;
|
import java.awt.geom.RoundRectangle2D;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class ContemporaryPatternRenderer implements PatternRenderer {
|
public class ContemporaryPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class ContemporaryThemeFactoryBean implements FactoryBean<Theme> {
|
public class ContemporaryThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class DreamPatternRenderer implements PatternRenderer {
|
public class DreamPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class DreamThemeFactoryBean implements FactoryBean<Theme> {
|
public class DreamThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.awt.GradientPaint;
|
|||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class FantasyPatternRenderer implements PatternRenderer {
|
public class FantasyPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class FantasyThemeFactoryBean implements FactoryBean<Theme> {
|
public class FantasyThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import de.extio.game_engine.renderer.ThemeManager;
|
import de.extio.game_engine.renderer.ThemeManager;
|
||||||
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
||||||
import de.extio.game_engine.renderer.g2d.G2DRendererControl;
|
import de.extio.game_engine.renderer.g2d.G2DRendererControl;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.resource.StaticResource;
|
import de.extio.game_engine.resource.StaticResource;
|
||||||
import de.extio.game_engine.resource.StaticResourceService;
|
import de.extio.game_engine.resource.StaticResourceService;
|
||||||
import de.extio.game_engine.storage.StorageService;
|
import de.extio.game_engine.storage.StorageService;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.awt.GradientPaint;
|
|||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class MetroPatternRenderer implements PatternRenderer {
|
public class MetroPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class ModernPatternRenderer implements PatternRenderer {
|
public class ModernPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class ModernThemeFactoryBean implements FactoryBean<Theme> {
|
public class ModernThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class NeonThemeFactoryBean implements FactoryBean<Theme> {
|
public class NeonThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class NoirThemeFactoryBean implements FactoryBean<Theme> {
|
public class NoirThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import de.extio.game_engine.renderer.RendererControl;
|
import de.extio.game_engine.renderer.RendererControl;
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.renderer.model.color.ImmutableRgbaColor;
|
import de.extio.game_engine.renderer.model.color.ImmutableRgbaColor;
|
||||||
import de.extio.game_engine.renderer.model.color.RgbaColor;
|
import de.extio.game_engine.renderer.model.color.RgbaColor;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class SpacecraftThemeFactoryBean implements FactoryBean<Theme> {
|
public class SpacecraftThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.awt.GradientPaint;
|
|||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class SteampunkPatternRenderer implements PatternRenderer {
|
public class SteampunkPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class SteampunkThemeFactoryBean implements FactoryBean<Theme> {
|
public class SteampunkThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class TerminalPatternRenderer implements PatternRenderer {
|
public class TerminalPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class TerminalThemeFactoryBean implements FactoryBean<Theme> {
|
public class TerminalThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.awt.Color;
|
|||||||
import java.awt.GradientPaint;
|
import java.awt.GradientPaint;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class UrbanPatternRenderer implements PatternRenderer {
|
public class UrbanPatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class UrbanThemeFactoryBean implements FactoryBean<Theme> {
|
public class UrbanThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.awt.GradientPaint;
|
|||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||||
|
|
||||||
public class VintagePatternRenderer implements PatternRenderer {
|
public class VintagePatternRenderer implements PatternRenderer {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package de.extio.game_engine.renderer.g2d.theme;
|
|||||||
|
|
||||||
import org.springframework.beans.factory.FactoryBean;
|
import org.springframework.beans.factory.FactoryBean;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
public class VintageThemeFactoryBean implements FactoryBean<Theme> {
|
public class VintageThemeFactoryBean implements FactoryBean<Theme> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package de.extio.game_engine.renderer.g2d.theme;
|
package de.extio.game_engine.renderer.model;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a complete UI theme with all color definitions and pattern renderer.
|
* Represents a complete UI theme with all color definitions and pattern renderer.
|
||||||
* Themes are element-based rather than component-based, allowing consistent styling across different components.
|
* Themes are element-based rather than component-based, allowing consistent styling across different components.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package de.extio.game_engine.renderer.g2d.theme;
|
package de.extio.game_engine.renderer.model.color;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -42,6 +42,10 @@ public final class HSBColor {
|
|||||||
final var hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);
|
final var hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);
|
||||||
return new HSBColor(hsb[0], hsb[1], hsb[2]);
|
return new HSBColor(hsb[0], hsb[1], hsb[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static HSBColor fromColor(final RgbaColor color) {
|
||||||
|
return fromColor(color.toAwtColor());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts this HSB color to an AWT Color.
|
* Converts this HSB color to an AWT Color.
|
||||||
@@ -51,6 +55,10 @@ public final class HSBColor {
|
|||||||
public Color toColor() {
|
public Color toColor() {
|
||||||
return Color.getHSBColor(this.hue, this.saturation, this.brightness);
|
return Color.getHSBColor(this.hue, this.saturation, this.brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RgbaColor toRgbaColor() {
|
||||||
|
return new ImmutableRgbaColor(this.toColor());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new HSBColor with adjusted brightness.
|
* Creates a new HSBColor with adjusted brightness.
|
||||||
@@ -73,6 +73,10 @@ public interface RgbaColor {
|
|||||||
int getA();
|
int getA();
|
||||||
|
|
||||||
Color toAwtColor();
|
Color toAwtColor();
|
||||||
|
|
||||||
|
default HSBColor toHSBColor() {
|
||||||
|
return HSBColor.fromColor(this);
|
||||||
|
}
|
||||||
|
|
||||||
ImmutableRgbaColor toImmutable();
|
ImmutableRgbaColor toImmutable();
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ import org.junit.jupiter.api.Test;
|
|||||||
|
|
||||||
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
||||||
import de.extio.game_engine.renderer.g2d.G2DRendererControl;
|
import de.extio.game_engine.renderer.g2d.G2DRendererControl;
|
||||||
|
import de.extio.game_engine.renderer.model.Theme;
|
||||||
|
import de.extio.game_engine.renderer.model.color.HSBColor;
|
||||||
import de.extio.game_engine.renderer.model.options.UiOptions;
|
import de.extio.game_engine.renderer.model.options.UiOptions;
|
||||||
import de.extio.game_engine.resource.StaticResource;
|
import de.extio.game_engine.resource.StaticResource;
|
||||||
import de.extio.game_engine.resource.StaticResourceService;
|
import de.extio.game_engine.resource.StaticResourceService;
|
||||||
|
|||||||
Reference in New Issue
Block a user