20 package net.sf.gridarta.model.face;
22 import java.awt.image.ImageFilter;
23 import java.awt.image.RGBImageFilter;
24 import java.util.Collection;
25 import java.util.concurrent.CopyOnWriteArrayList;
26 import javax.swing.GrayFilter;
27 import javax.swing.ImageIcon;
36 import org.jetbrains.annotations.NotNull;
37 import org.jetbrains.annotations.Nullable;
106 private static final ImageFilter
GRID_FILTER =
new RGBImageFilter() {
112 public int filterRGB(
final int x,
final int y,
final int rgb) {
118 public RGBImageFilter clone() {
119 return (RGBImageFilter) super.clone();
218 faceProvider.reload();
222 faceObjectProvidersListener.facesReloaded();
253 throw new IllegalStateException(
"normal face provider is unset");
256 final boolean[] undefinedArchetype =
new boolean[1];
257 baseObject.visit(
new BaseObjectVisitor<G, A, R>() {
260 public void visit(@NotNull
final Archetype<G, A, R> archetype) {
261 undefinedArchetype[0] = archetype.isUndefinedArchetype();
265 public void visit(@NotNull
final GameObject<G, A, R> gameObject) {
266 undefinedArchetype[0] = gameObject.hasUndefinedArchetype();
281 return getFace(gameObject.getFaceObjName(), gameObject.hasUndefinedArchetype(),
ALPHA,
ALPHA, 0);
293 throw new IllegalStateException(
"normal face provider is unset");
332 if (hasUndefinedArchetype) {
336 if (faceName ==
null) {
341 if (faceObject ==
null) {
352 faceProvider = singleFaceProvider;
356 final String effectiveFaceName = alternativeFaceName !=
null && singleFaceProvider ==
doubleFaceProvider ? alternativeFaceName : faceName;