20 package net.sf.gridarta.var.crossfire.gui.map.renderer;
22 import java.awt.Graphics;
23 import java.awt.Point;
24 import javax.swing.ImageIcon;
34 import org.jetbrains.annotations.NotNull;
35 import org.jetbrains.annotations.Nullable;
44 private static final int @NotNull []
DX = { 1, 2, 2, 2, 1, 0, 0, 0, };
46 private static final int @NotNull []
DY = { 0, 0, 1, 2, 2, 2, 1, 0, };
48 private static final int @NotNull []
B_WEIGHTS = { 2, 0, 4, 0, 8, 0, 1, 0, };
50 private static final int @NotNull []
C_WEIGHTS = { 0, 2, 0, 4, 0, 8, 0, 1, };
52 private static final int @NotNull []
BC_EXCLUDE = { 1 + 2,
78 private final int @NotNull []
sLevels =
new int[8];
110 public void paintSmooth(@NotNull
final Graphics graphics, @NotNull
final Point pos,
final int level,
final int firstLayer,
final boolean allLayers,
final int borderOffsetX,
final int borderOffsetY) {
111 int layer = firstLayer;
114 boolean foundLayer =
false;
115 final Point where =
new Point();
116 for (
int deltaX = -1; deltaX <= 1; deltaX++) {
117 where.x = pos.x + deltaX;
118 for (
int deltaY = -1; deltaY <= 1; deltaY++) {
119 where.y = pos.y + deltaY;
122 layerNode[deltaX + 1][deltaY + 1] =
null;
124 int currentLayer = -1;
128 if (currentLayer == layer) {
131 layerNode[deltaX + 1][deltaY + 1] = node;
143 for (
int i = 0; i < 8; i++) {
152 if (smoothlevel <= level) {
168 final boolean[] partDone = {
false,
false,
false,
false,
false,
false,
false,
false, };
171 for (
int i = 0; i < 8; i++) {
188 for (
int i = 0; i < 8; i++) {
198 if (smoothFace ==
null) {
215 if (!allLayers || !foundLayer) {
223 private void drawImage(@NotNull
final Graphics graphics, @NotNull
final Point pos,
final int borderOffsetX,
final int borderOffsetY,
final int srcX,
final int srcY, @NotNull
final ImageIcon img) {