summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java')
-rw-r--r--src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java36
1 files changed, 29 insertions, 7 deletions
diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java
index 0cfb8ad..d8e2d5c 100644
--- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.java
+++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileNoteAlone.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
*
@@ -44,6 +44,7 @@ import net.sourceforge.plantuml.ColorParam;
import net.sourceforge.plantuml.FontParam;
import net.sourceforge.plantuml.ISkinParam;
import net.sourceforge.plantuml.LineBreakStrategy;
+import net.sourceforge.plantuml.SkinParam;
import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile;
import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile;
import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry;
@@ -61,16 +62,25 @@ import net.sourceforge.plantuml.graphic.HtmlColor;
import net.sourceforge.plantuml.graphic.StringBounder;
import net.sourceforge.plantuml.graphic.TextBlock;
import net.sourceforge.plantuml.skin.rose.Rose;
+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.style.Styleable;
import net.sourceforge.plantuml.svek.image.Opale;
import net.sourceforge.plantuml.ugraphic.UGraphic;
import net.sourceforge.plantuml.ugraphic.UStroke;
-public class FtileNoteAlone extends AbstractFtile implements Stencil {
+public class FtileNoteAlone extends AbstractFtile implements Stencil, Styleable {
private final Opale opale;
private final boolean withOutPoint;
private final Swimlane swimlane;
-
+
+ public StyleSignature getDefaultStyleDefinition() {
+ return StyleSignature.of(SName.root, SName.element, SName.activityDiagram, SName.note);
+ }
+
@Override
public Collection<Ftile> getMyChildren() {
return Collections.emptyList();
@@ -97,15 +107,27 @@ public class FtileNoteAlone extends AbstractFtile implements Stencil {
this.withOutPoint = withOutPoint;
final Rose rose = new Rose();
- final HtmlColor noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground);
- final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder);
+ final HtmlColor noteBackgroundColor;
+ final HtmlColor borderColor;
+ final double shadowing;
+ if (SkinParam.USE_STYLES()) {
+ final Style style = getDefaultStyleDefinition().getMergedStyle(skinParam.getCurrentStyleBuilder());
+ noteBackgroundColor = style.value(PName.BackGroundColor).asColor(getIHtmlColorSet());
+ borderColor = style.value(PName.LineColor).asColor(getIHtmlColorSet());
+ shadowing = style.value(PName.Shadowing).asDouble();
+ } else {
+ noteBackgroundColor = rose.getHtmlColor(skinParam, ColorParam.noteBackground);
+ borderColor = rose.getHtmlColor(skinParam, ColorParam.noteBorder);
+ shadowing = skinParam.shadowing(null) ? 4 : 0;
+ }
final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null);
final Sheet sheet = new CreoleParser(fc, skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT),
skinParam, CreoleMode.FULL).createSheet(note);
- final TextBlock text = new SheetBlock2(new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()), this, new UStroke(1));
- opale = new Opale(borderColor, noteBackgroundColor, text, skinParam.shadowing(null), false);
+ final TextBlock text = new SheetBlock2(new SheetBlock1(sheet, LineBreakStrategy.NONE, skinParam.getPadding()),
+ this, new UStroke(1));
+ opale = new Opale(shadowing, borderColor, noteBackgroundColor, text, false);
}