add support for color to Square
Signed-off-by: Florian Thienel <florian@thienel.org>
diff --git a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestInlineContainer.java b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestInlineContainer.java
index 28e8035..8c16167 100644
--- a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestInlineContainer.java
+++ b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestInlineContainer.java
@@ -16,6 +16,7 @@
import java.util.Iterator;
+import org.eclipse.vex.core.internal.core.Color;
import org.eclipse.vex.core.internal.core.FontSpec;
import org.eclipse.vex.core.internal.layout.FakeGraphics;
import org.junit.Before;
@@ -192,6 +193,7 @@
private static Square square(final int size) {
final Square square = new Square();
square.setSize(size);
+ square.setColor(Color.BLACK);
return square;
}
diff --git a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestLineArrangement.java b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestLineArrangement.java
index d180a3d..1b774f0 100644
--- a/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestLineArrangement.java
+++ b/org.eclipse.vex.core.tests/src/org/eclipse/vex/core/internal/boxes/TestLineArrangement.java
@@ -17,6 +17,7 @@
import java.util.Arrays;
import java.util.List;
+import org.eclipse.vex.core.internal.core.Color;
import org.eclipse.vex.core.internal.core.FontSpec;
import org.eclipse.vex.core.internal.core.TextAlign;
import org.eclipse.vex.core.internal.layout.FakeGraphics;
@@ -158,6 +159,7 @@
private static Square square(final int size) {
final Square square = new Square();
square.setSize(size);
+ square.setColor(Color.BLACK);
return square;
}
}
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/BoxFactory.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/BoxFactory.java
index f26ce0b..fd2d8e4 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/BoxFactory.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/BoxFactory.java
@@ -163,9 +163,10 @@
return staticText;
}
- public static Square square(final int size) {
+ public static Square square(final int size, final Color color) {
final Square square = new Square();
square.setSize(size);
+ square.setColor(color);
return square;
}
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/Square.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/Square.java
index 812e093..61de003 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/Square.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/boxes/Square.java
@@ -11,7 +11,6 @@
package org.eclipse.vex.core.internal.boxes;
import org.eclipse.vex.core.internal.core.Color;
-import org.eclipse.vex.core.internal.core.ColorResource;
import org.eclipse.vex.core.internal.core.Graphics;
/**
@@ -20,6 +19,7 @@
public class Square extends SimpleInlineBox {
private int size;
+ private Color color;
@Override
public int getWidth() {
@@ -40,6 +40,10 @@
this.size = size;
}
+ public void setColor(final Color color) {
+ this.color = color;
+ }
+
@Override
public void accept(final IBoxVisitor visitor) {
visitor.visit(this);
@@ -63,9 +67,7 @@
@Override
public void paint(final Graphics graphics) {
- final ColorResource colorResource = graphics.getColor(Color.BLACK); // TODO store square color
- graphics.setColor(colorResource);
-
+ graphics.setColor(graphics.getColor(color));
graphics.fillRect(0, 0, size, size);
}
}
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBoxFactory.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBoxFactory.java
index 38079ba..c74924e 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBoxFactory.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBoxFactory.java
@@ -21,6 +21,7 @@
import org.eclipse.vex.core.internal.boxes.NodeTag;
import org.eclipse.vex.core.internal.boxes.Padding;
import org.eclipse.vex.core.internal.boxes.Paragraph;
+import org.eclipse.vex.core.internal.boxes.Square;
import org.eclipse.vex.core.internal.boxes.StaticText;
import org.eclipse.vex.core.internal.boxes.StructuralFrame;
import org.eclipse.vex.core.internal.boxes.TextContent;
@@ -99,6 +100,13 @@
return staticText;
}
+ public static Square square(final int size, final Styles styles) {
+ final Square square = new Square();
+ square.setSize(size);
+ square.setColor(styles.getColor());
+ return square;
+ }
+
public static NodeTag nodeTag(final INode node, final Styles styles) {
final NodeTag nodeTag = new NodeTag();
nodeTag.setNode(node);