summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java
diff options
context:
space:
mode:
authorAndrej Shadura <andrew.shadura@collabora.co.uk>2018-11-29 22:15:37 +0100
committerAndrej Shadura <andrew.shadura@collabora.co.uk>2018-11-29 22:15:37 +0100
commit567b200b91537405689ae0ca944f121201360a6b (patch)
tree918d32d65a8588bfe06607dc94c39b4088edd5a8 /src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java
parent293202087ef00accaa85af02c2c9359ab6b2513c (diff)
New upstream version 1.2018.13
Diffstat (limited to 'src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java')
-rw-r--r--src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java41
1 files changed, 35 insertions, 6 deletions
diff --git a/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java b/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java
index 13392dc..9be36c0 100644
--- a/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java
+++ b/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java
@@ -36,6 +36,7 @@
package net.sourceforge.plantuml.sequencediagram.graphic;
import java.awt.geom.Dimension2D;
+import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -50,7 +51,9 @@ import net.sourceforge.plantuml.ISkinParam;
import net.sourceforge.plantuml.LineParam;
import net.sourceforge.plantuml.SkinParamBackcolored;
import net.sourceforge.plantuml.Url;
+import net.sourceforge.plantuml.graphic.InnerStrategy;
import net.sourceforge.plantuml.graphic.StringBounder;
+import net.sourceforge.plantuml.graphic.TextBlock;
import net.sourceforge.plantuml.sequencediagram.Englober;
import net.sourceforge.plantuml.sequencediagram.Event;
import net.sourceforge.plantuml.sequencediagram.Newpage;
@@ -62,6 +65,7 @@ import net.sourceforge.plantuml.skin.ComponentType;
import net.sourceforge.plantuml.skin.Context2D;
import net.sourceforge.plantuml.skin.SimpleContext2D;
import net.sourceforge.plantuml.skin.Skin;
+import net.sourceforge.plantuml.ugraphic.MinMax;
import net.sourceforge.plantuml.ugraphic.UClip;
import net.sourceforge.plantuml.ugraphic.UGraphic;
import net.sourceforge.plantuml.ugraphic.UStroke;
@@ -244,30 +248,55 @@ public class DrawableSet {
return dimension;
}
+ TextBlock asTextBlock(final double delta, final double width, final Page page, final boolean showTail) {
+ return new TextBlock() {
+
+ public void drawU(UGraphic ug) {
+ drawU22(ug, delta, width, page, showTail);
+ }
+
+ public Dimension2D calculateDimension(StringBounder stringBounder) {
+ final double height = page.getHeight();
+ return new Dimension2DDouble(width, height);
+ }
+
+ public MinMax getMinMax(StringBounder stringBounder) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Rectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) {
+ throw new UnsupportedOperationException();
+ }
+
+ };
+
+ }
+
void drawU22(final UGraphic ug, final double delta, double width, Page page, boolean showTail) {
- // final UGraphic ugOrig = ug;
final double height = page.getHeight();
final UGraphic ugTranslated = clipAndTranslate2(delta, width, page, ug);
final SimpleContext2D context = new SimpleContext2D(true);
this.drawEnglobers(ug, height - MARGIN_FOR_ENGLOBERS1, context);
this.drawPlaygroundU(ugTranslated, context);
- // ug = ugOrig;
-
this.drawLineU22(ug, showTail, page);
this.drawHeadTailU(ug, page, showTail ? height - getTailHeight(ug.getStringBounder(), true) : 0);
- // ug = clipAndTranslate2(delta, width, page, ug);
this.drawPlaygroundU(ugTranslated, new SimpleContext2D(false));
}
private UGraphic clipAndTranslate2(final double delta, double width, Page p, UGraphic ug) {
ug = ug.apply(new UClip(0, p.getBodyRelativePosition(), width, p.getBodyHeight() + 1));
+ ug = ug.apply(getTranslate4(delta));
+ return ug;
+ }
+
+ private UTranslate getTranslate4(final double delta) {
if (delta > 0) {
- ug = ug.apply(new UTranslate(0, -delta));
+ return new UTranslate(0, -delta);
}
- return ug;
+ return new UTranslate();
}
private void drawLineU22(UGraphic ug, boolean showTail, Page page) {