summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java')
-rw-r--r--src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java
index 20c2f4a..66f8801 100644
--- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java
+++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java
@@ -2,7 +2,7 @@
* PlantUML : a free UML diagram generator
* ========================================================================
*
- * (C) Copyright 2009-2017, Arnaud Roques
+ * (C) Copyright 2009-2020, Arnaud Roques
*
* Project Info: http://plantuml.com
*
@@ -42,6 +42,7 @@ import java.util.Set;
import net.sourceforge.plantuml.Dimension2DDouble;
import net.sourceforge.plantuml.ISkinParam;
+import net.sourceforge.plantuml.SkinParam;
import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile;
import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond;
import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile;
@@ -51,6 +52,10 @@ import net.sourceforge.plantuml.graphic.HtmlColor;
import net.sourceforge.plantuml.graphic.StringBounder;
import net.sourceforge.plantuml.graphic.TextBlock;
import net.sourceforge.plantuml.graphic.TextBlockUtils;
+import net.sourceforge.plantuml.style.PName;
+import net.sourceforge.plantuml.style.SName;
+import net.sourceforge.plantuml.style.Style;
+import net.sourceforge.plantuml.style.StyleSignature;
import net.sourceforge.plantuml.ugraphic.UChangeBackColor;
import net.sourceforge.plantuml.ugraphic.UChangeColor;
import net.sourceforge.plantuml.ugraphic.UGraphic;
@@ -65,12 +70,17 @@ public class FtileDiamond extends AbstractFtile {
private final TextBlock south;
private final TextBlock west1;
private final TextBlock east1;
+ private final double shadowing;
public FtileDiamond(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane) {
this(skinParam, backColor, borderColor, swimlane, TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0),
TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0));
}
-
+
+ public StyleSignature getDefaultStyleDefinitionDiamond() {
+ return StyleSignature.of(SName.root, SName.element, SName.activityDiagram, SName.diamond);
+ }
+
@Override
public Collection<Ftile> getMyChildren() {
return Collections.emptyList();
@@ -101,6 +111,13 @@ public class FtileDiamond extends AbstractFtile {
private FtileDiamond(ISkinParam skinParam, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane,
TextBlock north, TextBlock south, TextBlock east1, TextBlock west1) {
super(skinParam);
+ if (SkinParam.USE_STYLES()) {
+ Style style = getDefaultStyleDefinitionDiamond().getMergedStyle(skinParam.getCurrentStyleBuilder());
+ shadowing = style.value(PName.Shadowing).asDouble();
+ } else {
+ shadowing = skinParam().shadowing(null) ? 3 : 0;
+ }
+
this.backColor = backColor;
this.swimlane = swimlane;
this.borderColor = borderColor;
@@ -130,7 +147,7 @@ public class FtileDiamond extends AbstractFtile {
final double suppY1 = north.calculateDimension(ug.getStringBounder()).getHeight();
ug = ug.apply(new UTranslate(0, suppY1));
ug.apply(new UChangeColor(borderColor)).apply(getThickness()).apply(new UChangeBackColor(backColor))
- .draw(Diamond.asPolygon(skinParam().shadowing(null)));
+ .draw(Diamond.asPolygon(shadowing));
// final Dimension2D dimNorth = north.calculateDimension(ug.getStringBounder());
north.drawU(ug.apply(new UTranslate(Diamond.diamondHalfSize * 1.5, -suppY1)));
@@ -162,11 +179,10 @@ public class FtileDiamond extends AbstractFtile {
final Dimension2D dimEast = east1.calculateDimension(stringBounder);
return dimEast.getWidth();
}
-
+
public double getSouthLabelHeight(StringBounder stringBounder) {
final Dimension2D dimSouth = south.calculateDimension(stringBounder);
return dimSouth.getHeight();
}
-
}