diff --git a/src/main/java/schule/ngb/zm/Color.java b/src/main/java/schule/ngb/zm/Color.java index 4c8d48d..c5b817b 100644 --- a/src/main/java/schule/ngb/zm/Color.java +++ b/src/main/java/schule/ngb/zm/Color.java @@ -14,6 +14,7 @@ import java.awt.image.ColorModel; * Eine Farbe hat außerdem einen Transparenzwert zwischen 0 (unsichtbar) und 255 * (deckend). */ +@SuppressWarnings( "unused" ) public class Color implements Paint { @@ -151,7 +152,7 @@ public class Color implements Paint { * @param alpha Transparentwert zwischen 0 und 255. */ public Color( int red, int green, int blue, int alpha ) { - rgba = ((alpha & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | ((blue & 0xFF) << 0); + rgba = ((alpha & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF); } /** @@ -160,7 +161,7 @@ public class Color implements Paint { * @param color */ public Color( Color color ) { - this(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()); + this(color.getRGBA(), true); } /** @@ -208,8 +209,7 @@ public class Color implements Paint { * @return */ public static Color getRGBColor( int rgba ) { - Color c = new Color(rgba, true); - return c; + return new Color(rgba, true); } public static Color getHSBColor( double h, double s, double b ) { @@ -259,8 +259,6 @@ public class Color implements Paint { } else if( hexcode.length() == 8 ) { alpha = Integer.valueOf(hexcode.substring(6, 8), 16); hexcode = hexcode.substring(0, 6); - } else { - hexcode = hexcode; } return Color.getRGBColor((alpha << 24) | Integer.valueOf(hexcode, 16)); @@ -307,12 +305,12 @@ public class Color implements Paint { if( c == 0 ) { h_ = 0; } else if( max == r ) { - h_ = (float) (g - b) / c; + h_ = (g - b) / c; if( h_ < 0 ) h_ += 6.f; } else if( max == g ) { - h_ = (float) (b - r) / c + 2.f; + h_ = (b - r) / c + 2.f; } else if( max == b ) { - h_ = (float) (r - g) / c + 4.f; + h_ = (r - g) / c + 4.f; } float h = 60.f * h_; @@ -484,7 +482,6 @@ public class Color implements Paint { } } - @Override /** * Prüft, ob ein anderes Objekt zu diesem gleich ist. * @@ -494,6 +491,7 @@ public class Color implements Paint { * @param obj Das zu vergleichende Objekt. * @return {@code true}, wenn die Objekte gleich sind, sonst {@code false}. */ + @Override public boolean equals( Object obj ) { if( obj == null ) { return false; diff --git a/src/main/java/schule/ngb/zm/Layer.java b/src/main/java/schule/ngb/zm/Layer.java index b0ef002..f59a985 100644 --- a/src/main/java/schule/ngb/zm/Layer.java +++ b/src/main/java/schule/ngb/zm/Layer.java @@ -77,7 +77,7 @@ public abstract class Layer extends Constants implements Drawable, Updatable { } /** - * Gibt die Resourcen der Ebene frei. + * Gibt die Ressourcen der Ebene frei. */ public void dispose() { drawing.dispose(); @@ -139,14 +139,14 @@ public abstract class Layer extends Constants implements Drawable, Updatable { } /** - * Zeichnet den Puffer auf die Grafik-Instanz. + * Zeichnet den Puffer auf den Grafikkontext. * - * @param pGraphics + * @param graphics Der Grafikkontext, auf den gezeichnet wird. */ @Override - public void draw( Graphics2D pGraphics ) { + public void draw( Graphics2D graphics ) { if( visible ) { - pGraphics.drawImage(buffer, 0, 0, null); + graphics.drawImage(buffer, 0, 0, null); } } diff --git a/src/main/java/schule/ngb/zm/util/Log.java b/src/main/java/schule/ngb/zm/util/Log.java index efa2697..5b4346d 100644 --- a/src/main/java/schule/ngb/zm/util/Log.java +++ b/src/main/java/schule/ngb/zm/util/Log.java @@ -26,7 +26,8 @@ import static java.util.logging.Level.*; * Klasse nur genau ein {@code Log}-Objekt erstellt. Mehrere {@code Log}s nutzen * dann aber denselben {@code Logger}. *
- * Die API orientiert sich lose an Log4j und vereinfacht die
+ * Die API orientiert sich lose an Log4j und vereinfacht die
* Nutzung der Java logging API für die häufigsten Anwendungsfälle.
*/
public final class Log {
@@ -133,23 +134,13 @@ public final class Log {
if( System.getProperty("java.util.logging.SimpleFormatter.format") == null
&& LogManager.getLogManager().getProperty("java.util.logging.SimpleFormatter.format") == null ) {
- // System.setProperty("java.util.logging.SimpleFormatter.format", DEFAULT_LOG_FORMAT);
rootLogger.addHandler(new StreamHandler(System.err, new LogFormatter()) {
@Override
- public synchronized void publish(final LogRecord record) {
+ public synchronized void publish( final LogRecord record ) {
super.publish(record);
flush();
}
});
- // rootLogger.setUseParentHandlers(false);
- }
- if( rootLogger.getUseParentHandlers() ) {
- // This logger was not configured somewhere else
- // Add a Handler and Formatter
-
- //StreamHandler rootHandler = new StreamHandler(System.out, new SimpleFormatter());
- //rootLogger.addHandler(rootHandler);
- //rootLogger.setUseParentHandlers(false);
}
LOGGING_INIT = true;
@@ -208,26 +199,15 @@ public final class Log {
}
}
- private String inferCallerName() {
- StackTraceElement[] trace = new Throwable().getStackTrace();
- for( int i = 0; i < trace.length; i++ ) {
- /// if( trace[i].getClassName().equals(sourceClass.getName()) ) {
- if( !trace[i].getClassName().equals(Log.class.getName()) ) {
- return trace[i].getMethodName();
- }
- }
- return "unknown";
- }
-
private void doLog( Level level, final Throwable throwable, final Supplier
* Die Schrift wird unter ihrem Dateinamen in den Schriftenspeicher geladen
* und kann danach in der Zeichenmaschine benutzt werden.
- *
- * Ein Datei mit dem Namen "fonts/Font-Name.ttf" würde mit dem Namen
+ *
+ * Eine Datei mit dem Namen "fonts/Font-Name.ttf" würde mit dem Namen
* "Font-Name" geladen und kann danach zum Beispiel in einem
* {@link schule.ngb.zm.shapes.Text} mit {@code text.setFont("Font-Name");}
* verwendet werden.
@@ -34,7 +34,7 @@ public class FontLoader {
// Dateipfad entfernen
int lastIndex = source.lastIndexOf(File.separatorChar);
if( lastIndex > -1 ) {
- source.substring(lastIndex + 1);
+ source = source.substring(lastIndex + 1);
}
// Dateiendung entfernen
lastIndex = name.lastIndexOf('.');
@@ -57,7 +57,7 @@ public class FontLoader {
// Look for System fonts
Font font = Font.decode(source);
- if( font != null && source.toLowerCase().contains(font.getFamily().toLowerCase()) ) {
+ if( source.toLowerCase().contains(font.getFamily().toLowerCase()) ) {
fontCache.put(name, font);
fontCache.put(source, font);
LOG.debug("Loaded system font for <%s>.", source);
diff --git a/src/main/java/schule/ngb/zm/util/io/ImageLoader.java b/src/main/java/schule/ngb/zm/util/io/ImageLoader.java
index 8a97b27..cd8e448 100644
--- a/src/main/java/schule/ngb/zm/util/io/ImageLoader.java
+++ b/src/main/java/schule/ngb/zm/util/io/ImageLoader.java
@@ -22,9 +22,9 @@ public final class ImageLoader {
public static boolean caching = true;
- private static Map
- * Wurde das Chaching global deaktiviert, kann mit
- * Exisitert zu {@code name} schon ein Bild im Zwischenspeicher
+ * Existiert zu {@code name} schon ein Bild im Zwischenspeicher
* ({@code ImageLoader.isCached(name) == true}), dann wird dieses
* überschrieben.
*
@@ -149,9 +149,7 @@ public final class ImageLoader {
* @param name Name des Bildes im Cache.
*/
public static void invalidateCache( final String name ) {
- if( imageCache.containsKey(name) ) {
- imageCache.remove(name);
- }
+ imageCache.remove(name);
}
/**
@@ -211,7 +209,7 @@ public final class ImageLoader {
* Bild zurückgegeben und nicht komplett neu geladen.
*
* Wichtig: Bildreferenzen, die aus dem Cache geladen werden,
- * verweisen alle auf dasselbe Objekt. Änderungen schalgen sich daher in
+ * verweisen alle auf dasselbe Objekt. Änderungen schlagen sich daher in
* allen anderen Versionen des Bildes nieder (inklusive dem Bild im
* Zwischenspeicher). Für Änderungen sollte daher immer
* {@link #copyImage(BufferedImage) eine Kopie} des Bildes erstellt werden:
@@ -302,7 +300,7 @@ public final class ImageLoader {
* @param file Die Zieldatei.
* @param overwriteIfExists Bei {@code true} wird eine vorhandene Datei
* überschrieben, bei {@code false} wird eine {@link IOException} geworfen,
- * wenn die Datei schon exisitiert.
+ * wenn die Datei schon existiert.
* @throws NullPointerException Falls {@code image} oder {@code file}
* {@code null} ist.
* @throws IOException Falls es einen Fehler beim Speichern gab.
@@ -335,7 +333,7 @@ public final class ImageLoader {
* @param file Die Zieldatei.
* @param overwriteIfExists Bei {@code true} wird eine vorhandene Datei
* überschrieben, bei {@code false} wird eine {@link IOException} geworfen,
- * wenn die Datei schon exisitiert.
+ * wenn die Datei schon existiert.
* @throws NullPointerException Falls {@code image} oder {@code file}
* {@code null} ist.
* @throws IOException Falls es einen Fehler beim Speichern gab.
diff --git a/src/main/java/schule/ngb/zm/util/io/ResourceStreamProvider.java b/src/main/java/schule/ngb/zm/util/io/ResourceStreamProvider.java
index 1f892dc..6fb053b 100644
--- a/src/main/java/schule/ngb/zm/util/io/ResourceStreamProvider.java
+++ b/src/main/java/schule/ngb/zm/util/io/ResourceStreamProvider.java
@@ -63,7 +63,6 @@ public class ResourceStreamProvider {
}
} catch( FileNotFoundException fnfex ) {
// Somehow an exception occurred, but we still try other sources
- in = null;
}
// File does not exist, try other means
// load ressource relative to .class-file
@@ -151,6 +150,7 @@ public class ResourceStreamProvider {
/**
* Ver
+ *
* @param source
* @return
* @throws IOException
diff --git a/src/main/java/schule/ngb/zm/util/tasks/FrameSynchronizedTask.java b/src/main/java/schule/ngb/zm/util/tasks/FrameSynchronizedTask.java
index 3dcb7a9..41613fe 100644
--- a/src/main/java/schule/ngb/zm/util/tasks/FrameSynchronizedTask.java
+++ b/src/main/java/schule/ngb/zm/util/tasks/FrameSynchronizedTask.java
@@ -5,35 +5,18 @@ import schule.ngb.zm.Zeichenmaschine;
public abstract class FrameSynchronizedTask extends Task {
- private static Thread mainThread;
-
- private static final Thread getMainThread() {
- if( mainThread == null ) {
- mainThread = Thread.currentThread();
- if( !mainThread.getName().equals(Constants.APP_NAME) ) {
- // Need to search for main Zeichenthread ...
- }
- }
- return mainThread;
- }
-
@Override
public void run() {
initialize();
running = true;
- Object lock = Zeichenmaschine.globalSyncLock;
+ final Object lock = Zeichenmaschine.globalSyncLock;
- // start of thread in ms
- final long start = System.currentTimeMillis();
// current time in ns
long beforeTime = System.nanoTime();
- // store for deltas
- long overslept = 0L;
- // internal counters for tick and runtime
- int _tick = 0;
-
- double delta = 0.0;
+ // internal counters for tick and delta time
+ int _tick;
+ double delta;
while( running ) {
// delta in seconds
@@ -53,10 +36,7 @@ public abstract class FrameSynchronizedTask extends Task {
}
}
}
-
- running = false;
done = true;
-
finish();
}
diff --git a/src/main/java/schule/ngb/zm/util/tasks/RateLimitedTask.java b/src/main/java/schule/ngb/zm/util/tasks/RateLimitedTask.java
index d9c7e6b..dec2139 100644
--- a/src/main/java/schule/ngb/zm/util/tasks/RateLimitedTask.java
+++ b/src/main/java/schule/ngb/zm/util/tasks/RateLimitedTask.java
@@ -17,7 +17,7 @@ public abstract class RateLimitedTask extends Task {
// store for deltas
long overslept = 0L;
// delta in ms
- double delta = 0;
+ double delta;
running = true;
while( running ) {
@@ -47,10 +47,7 @@ public abstract class RateLimitedTask extends Task {
// Did we sleep to long?
overslept = (System.nanoTime() - afterTime) - sleep;
}
-
- running = false;
done = true;
-
finish();
}
diff --git a/src/main/java/schule/ngb/zm/util/tasks/TaskRunner.java b/src/main/java/schule/ngb/zm/util/tasks/TaskRunner.java
index bbe1b15..90d9258 100644
--- a/src/main/java/schule/ngb/zm/util/tasks/TaskRunner.java
+++ b/src/main/java/schule/ngb/zm/util/tasks/TaskRunner.java
@@ -10,11 +10,6 @@ import java.util.concurrent.*;
*/
public class TaskRunner {
- private static final int POOL_SIZE = 4;
-
- private static final int SHUTDOWN_TIME = 100;
-
-
private static TaskRunner runner;
public static TaskRunner getTaskRunner() {
caching =
+ * Wurde das Caching global deaktiviert, kann mit caching =
* true das Bild trotzdem aus dem Cache geladen werden, wenn es
* vorhanden ist.
*
@@ -113,9 +113,9 @@ public final class ImageLoader {
}
/**
- * Speiechert das angegebene Bild unter dem angegebenen Namen im Cache.
+ * Speichert das angegebene Bild unter dem angegebenen Namen im Cache.
*