From 0c29bbfcf84918efd65d476e0986556859a42fbd Mon Sep 17 00:00:00 2001 From: Jason Long Date: Wed, 13 Aug 2014 19:44:56 -0400 Subject: [PATCH] TileImages: refactor: move SimpleTileImage to graphics package --- src/micropolisj/graphics/TileImage.java | 32 +++++++++++++++++++++++++ src/micropolisj/gui/TileImages.java | 31 +----------------------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/micropolisj/graphics/TileImage.java b/src/micropolisj/graphics/TileImage.java index 7a3919b..c2e908d 100644 --- a/src/micropolisj/graphics/TileImage.java +++ b/src/micropolisj/graphics/TileImage.java @@ -2,6 +2,9 @@ package micropolisj.graphics; import java.awt.*; import java.awt.image.BufferedImage; +import javax.xml.stream.*; + +import static micropolisj.XML_Helper.*; public abstract class TileImage { @@ -88,9 +91,38 @@ public abstract class TileImage } } + public static class SimpleTileImage extends TileImage + { + public BufferedImage srcImage; + public int offsetY; + + @Override + public void drawFragment(Graphics2D gr, int destX, int destY, int srcX, int srcY) { + throw new UnsupportedOperationException(); + } + } + public interface LoaderContext { BufferedImage getDefaultImage(); BufferedImage getImage(String name); } + + public static SimpleTileImage readSimpleImage(XMLStreamReader in, LoaderContext ctx) + throws XMLStreamException + { + SimpleTileImage img = new SimpleTileImage(); + String srcImageName = in.getAttributeValue(null, "src"); + if (srcImageName != null) { + img.srcImage = ctx.getImage(srcImageName); + } + else { + img.srcImage = ctx.getDefaultImage(); + } + String tmp = in.getAttributeValue(null, "offsetY"); + img.offsetY = tmp != null ? Integer.parseInt(tmp) : 0; + + skipToEndElement(in); + return img; + } } diff --git a/src/micropolisj/gui/TileImages.java b/src/micropolisj/gui/TileImages.java index add3ec0..f6c674c 100644 --- a/src/micropolisj/gui/TileImages.java +++ b/src/micropolisj/gui/TileImages.java @@ -21,7 +21,7 @@ import micropolisj.engine.*; import micropolisj.graphics.TileImage; import static micropolisj.engine.TileConstants.*; import static micropolisj.XML_Helper.*; -import static micropolisj.graphics.TileImage.LoaderContext; +import static micropolisj.graphics.TileImage.*; public class TileImages { @@ -31,17 +31,6 @@ public class TileImages TileImage [] tileImageMap; Map > spriteImages; - static class SimpleTileImage extends TileImage - { - BufferedImage srcImage; - int offsetY; - - @Override - public void drawFragment(Graphics2D gr, int destX, int destY, int srcX, int srcY) { - throw new UnsupportedOperationException(); - } - } - static class AnimatedTile extends TileImage { SimpleTileImage [] frames; @@ -71,24 +60,6 @@ public class TileImages return "/" + name + "/tiles.png"; } - static SimpleTileImage readSimpleImage(XMLStreamReader in, LoaderContext ctx) - throws XMLStreamException - { - SimpleTileImage img = new SimpleTileImage(); - String srcImageName = in.getAttributeValue(null, "src"); - if (srcImageName != null) { - img.srcImage = ctx.getImage(srcImageName); - } - else { - img.srcImage = ctx.getDefaultImage(); - } - String tmp = in.getAttributeValue(null, "offsetY"); - img.offsetY = tmp != null ? Integer.parseInt(tmp) : 0; - - skipToEndElement(in); - return img; - } - static AnimatedTile readAnimation(XMLStreamReader in, LoaderContext ctx) throws XMLStreamException {