diff --git a/src/net/sourceforge/plantuml/AbstractPSystem.java b/src/net/sourceforge/plantuml/AbstractPSystem.java index 96e8787fd..6da961e29 100644 --- a/src/net/sourceforge/plantuml/AbstractPSystem.java +++ b/src/net/sourceforge/plantuml/AbstractPSystem.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16390 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/AlignParam.java b/src/net/sourceforge/plantuml/AlignParam.java index 05c658729..276af5968 100644 --- a/src/net/sourceforge/plantuml/AlignParam.java +++ b/src/net/sourceforge/plantuml/AlignParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/AnimatedGifEncoder.java b/src/net/sourceforge/plantuml/AnimatedGifEncoder.java index 7d4e89f17..8f5b8b697 100644 --- a/src/net/sourceforge/plantuml/AnimatedGifEncoder.java +++ b/src/net/sourceforge/plantuml/AnimatedGifEncoder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/BasicEnsureVisible.java b/src/net/sourceforge/plantuml/BasicEnsureVisible.java index 106d39fde..cd36467ac 100644 --- a/src/net/sourceforge/plantuml/BasicEnsureVisible.java +++ b/src/net/sourceforge/plantuml/BasicEnsureVisible.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/BlockUml.java b/src/net/sourceforge/plantuml/BlockUml.java index 5dfd4ed9d..3566ae97b 100644 --- a/src/net/sourceforge/plantuml/BlockUml.java +++ b/src/net/sourceforge/plantuml/BlockUml.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/BlockUmlBuilder.java b/src/net/sourceforge/plantuml/BlockUmlBuilder.java index cee82d2ab..08033a746 100644 --- a/src/net/sourceforge/plantuml/BlockUmlBuilder.java +++ b/src/net/sourceforge/plantuml/BlockUmlBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/CMapData.java b/src/net/sourceforge/plantuml/CMapData.java index 90f7600df..1cc32601a 100644 --- a/src/net/sourceforge/plantuml/CMapData.java +++ b/src/net/sourceforge/plantuml/CMapData.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -64,7 +64,9 @@ public class CMapData { appendString("\" href=\""); appendString(url.getUrl()); appendString("\" title=\""); - appendString(url.getTooltip()); + final String tooltip = url.getTooltip().replaceAll("\\\\n", "\n").replaceAll("&", "&") + .replaceAll("\"", """).replaceAll("\'", "'"); + appendString(tooltip); appendString("\" alt=\"\" coords=\""); appendString(url.getCoords(scale)); appendString("\"/>"); diff --git a/src/net/sourceforge/plantuml/CharSequence2.java b/src/net/sourceforge/plantuml/CharSequence2.java index b7858c2e4..6e390ac88 100644 --- a/src/net/sourceforge/plantuml/CharSequence2.java +++ b/src/net/sourceforge/plantuml/CharSequence2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/CharSequence2Impl.java b/src/net/sourceforge/plantuml/CharSequence2Impl.java index c496713dd..301cf7efb 100644 --- a/src/net/sourceforge/plantuml/CharSequence2Impl.java +++ b/src/net/sourceforge/plantuml/CharSequence2Impl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ColorParam.java b/src/net/sourceforge/plantuml/ColorParam.java index f4f1f06cd..594b26225 100644 --- a/src/net/sourceforge/plantuml/ColorParam.java +++ b/src/net/sourceforge/plantuml/ColorParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17433 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; @@ -48,6 +48,7 @@ public enum ColorParam { activityEnd(HtmlColorUtils.BLACK), activityBar(HtmlColorUtils.BLACK), activityArrow(HtmlColorUtils.MY_RED, ColorType.ARROW), + swimlaneBorder(HtmlColorUtils.BLACK), usecaseBorder(HtmlColorUtils.MY_RED, ColorType.LINE), usecaseBackground(HtmlColorUtils.MY_YELLOW, ColorType.BACK), diff --git a/src/net/sourceforge/plantuml/CounterOutputStream.java b/src/net/sourceforge/plantuml/CounterOutputStream.java index 4c0c9d9aa..2e8c1bb05 100644 --- a/src/net/sourceforge/plantuml/CounterOutputStream.java +++ b/src/net/sourceforge/plantuml/CounterOutputStream.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Dimension2DDouble.java b/src/net/sourceforge/plantuml/Dimension2DDouble.java index e98eceb9d..32ab9a557 100644 --- a/src/net/sourceforge/plantuml/Dimension2DDouble.java +++ b/src/net/sourceforge/plantuml/Dimension2DDouble.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15096 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/DirWatcher.java b/src/net/sourceforge/plantuml/DirWatcher.java index 97188219a..56b364324 100644 --- a/src/net/sourceforge/plantuml/DirWatcher.java +++ b/src/net/sourceforge/plantuml/DirWatcher.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17341 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/DirWatcher2.java b/src/net/sourceforge/plantuml/DirWatcher2.java index c13773c4e..bcc97682d 100644 --- a/src/net/sourceforge/plantuml/DirWatcher2.java +++ b/src/net/sourceforge/plantuml/DirWatcher2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Direction.java b/src/net/sourceforge/plantuml/Direction.java index 71cb2c79b..ed42b592b 100644 --- a/src/net/sourceforge/plantuml/Direction.java +++ b/src/net/sourceforge/plantuml/Direction.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/EmbededDiagram.java b/src/net/sourceforge/plantuml/EmbededDiagram.java index d8413ac40..e6383e5a6 100644 --- a/src/net/sourceforge/plantuml/EmbededDiagram.java +++ b/src/net/sourceforge/plantuml/EmbededDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/EmptyImageBuilder.java b/src/net/sourceforge/plantuml/EmptyImageBuilder.java index c38fa8da8..de788ec00 100644 --- a/src/net/sourceforge/plantuml/EmptyImageBuilder.java +++ b/src/net/sourceforge/plantuml/EmptyImageBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; @@ -46,12 +46,21 @@ public class EmptyImageBuilder { private final BufferedImage im; private final Graphics2D g2d; + static final private int LIMIT = 4096; public EmptyImageBuilder(double width, double height, Color background) { this((int) width, (int) height, background); } public EmptyImageBuilder(int width, int height, Color background) { + if (width > LIMIT) { + Log.info("Width too large " + width); + width = LIMIT; + } + if (height > LIMIT) { + Log.info("Height too large " + height); + height = LIMIT; + } Log.info("Creating image " + width + "x" + height); im = new BufferedImage(width, height, background == null ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB); diff --git a/src/net/sourceforge/plantuml/EnsureVisible.java b/src/net/sourceforge/plantuml/EnsureVisible.java index 6b2e7a867..fef7ffc53 100644 --- a/src/net/sourceforge/plantuml/EnsureVisible.java +++ b/src/net/sourceforge/plantuml/EnsureVisible.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ErrorUml.java b/src/net/sourceforge/plantuml/ErrorUml.java index c403b717a..e91e2d8ff 100644 --- a/src/net/sourceforge/plantuml/ErrorUml.java +++ b/src/net/sourceforge/plantuml/ErrorUml.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ErrorUmlType.java b/src/net/sourceforge/plantuml/ErrorUmlType.java index 89be21a41..0c13f6de8 100644 --- a/src/net/sourceforge/plantuml/ErrorUmlType.java +++ b/src/net/sourceforge/plantuml/ErrorUmlType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/FileFormat.java b/src/net/sourceforge/plantuml/FileFormat.java index 0b89315dc..4169dad0c 100644 --- a/src/net/sourceforge/plantuml/FileFormat.java +++ b/src/net/sourceforge/plantuml/FileFormat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/FileFormatOption.java b/src/net/sourceforge/plantuml/FileFormatOption.java index 1f676e1bf..80858efc4 100644 --- a/src/net/sourceforge/plantuml/FileFormatOption.java +++ b/src/net/sourceforge/plantuml/FileFormatOption.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/FileGroup.java b/src/net/sourceforge/plantuml/FileGroup.java index c567b5809..e805e59c9 100644 --- a/src/net/sourceforge/plantuml/FileGroup.java +++ b/src/net/sourceforge/plantuml/FileGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14586 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/FileSystem.java b/src/net/sourceforge/plantuml/FileSystem.java index d0a49e572..726d2b59f 100644 --- a/src/net/sourceforge/plantuml/FileSystem.java +++ b/src/net/sourceforge/plantuml/FileSystem.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14056 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/FileUtils.java b/src/net/sourceforge/plantuml/FileUtils.java index bb1d8f0d7..a72a9a827 100644 --- a/src/net/sourceforge/plantuml/FileUtils.java +++ b/src/net/sourceforge/plantuml/FileUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/FileWatcher.java b/src/net/sourceforge/plantuml/FileWatcher.java index 6a1b90b64..8fed51954 100644 --- a/src/net/sourceforge/plantuml/FileWatcher.java +++ b/src/net/sourceforge/plantuml/FileWatcher.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/FontParam.java b/src/net/sourceforge/plantuml/FontParam.java index aafb349ae..13382f1ea 100644 --- a/src/net/sourceforge/plantuml/FontParam.java +++ b/src/net/sourceforge/plantuml/FontParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17071 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; @@ -88,6 +88,7 @@ public enum FontParam { STATE_ATTRIBUTE(12, Font.PLAIN), // LEGEND(14, Font.PLAIN), // TITLE(18, Font.PLAIN), // + SWIMLANE_TITLE(18, Font.PLAIN), // FOOTER(10, Font.PLAIN, "#888888", FontParamConstant.FAMILY), // HEADER(10, Font.PLAIN, "#888888", FontParamConstant.FAMILY), // USECASE(14, Font.PLAIN), // @@ -106,7 +107,9 @@ public enum FontParam { DATABASE_STEREOTYPE(14, Font.ITALIC), // QUEUE_STEREOTYPE(14, Font.ITALIC), // ACTOR_STEREOTYPE(14, Font.ITALIC), // - SEQUENCE_STEREOTYPE(14, Font.ITALIC); // + SEQUENCE_STEREOTYPE(14, Font.ITALIC), // + PARTITION(14, Font.PLAIN); // + private final int defaultSize; private final int fontStyle; diff --git a/src/net/sourceforge/plantuml/GeneratedImage.java b/src/net/sourceforge/plantuml/GeneratedImage.java index 4c271384e..ad1abf682 100644 --- a/src/net/sourceforge/plantuml/GeneratedImage.java +++ b/src/net/sourceforge/plantuml/GeneratedImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17137 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/GeneratedImageImpl.java b/src/net/sourceforge/plantuml/GeneratedImageImpl.java index a4c84ba1c..325bce378 100644 --- a/src/net/sourceforge/plantuml/GeneratedImageImpl.java +++ b/src/net/sourceforge/plantuml/GeneratedImageImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Hideable.java b/src/net/sourceforge/plantuml/Hideable.java index 11b7b37c1..95dbf7a0f 100644 --- a/src/net/sourceforge/plantuml/Hideable.java +++ b/src/net/sourceforge/plantuml/Hideable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ISkinParam.java b/src/net/sourceforge/plantuml/ISkinParam.java index a1e54264c..61b1712a7 100644 --- a/src/net/sourceforge/plantuml/ISkinParam.java +++ b/src/net/sourceforge/plantuml/ISkinParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -60,11 +60,11 @@ public interface ISkinParam extends ISkinSimple { public Colors getColors(ColorParam param, Stereotype stereotype); - public HtmlColor getFontHtmlColor(FontParam param, Stereotype stereotype); + public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param); public UStroke getThickness(LineParam param, Stereotype stereotype); - public UFont getFont(FontParam fontParam, Stereotype stereotype, boolean inPackageTitle); + public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam); public HorizontalAlignment getHorizontalAlignment(AlignParam param); diff --git a/src/net/sourceforge/plantuml/ISkinSimple.java b/src/net/sourceforge/plantuml/ISkinSimple.java index 1ec290c6b..7566bbee8 100644 --- a/src/net/sourceforge/plantuml/ISkinSimple.java +++ b/src/net/sourceforge/plantuml/ISkinSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ISourceFileReader.java b/src/net/sourceforge/plantuml/ISourceFileReader.java index fce95ae0e..9d5d46542 100644 --- a/src/net/sourceforge/plantuml/ISourceFileReader.java +++ b/src/net/sourceforge/plantuml/ISourceFileReader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/LineConfigurable.java b/src/net/sourceforge/plantuml/LineConfigurable.java index cc656e2be..b39289a85 100644 --- a/src/net/sourceforge/plantuml/LineConfigurable.java +++ b/src/net/sourceforge/plantuml/LineConfigurable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/LineLocation.java b/src/net/sourceforge/plantuml/LineLocation.java index 0dd6a5150..65025b84d 100644 --- a/src/net/sourceforge/plantuml/LineLocation.java +++ b/src/net/sourceforge/plantuml/LineLocation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/LineLocationImpl.java b/src/net/sourceforge/plantuml/LineLocationImpl.java index cf2926092..bf698efdd 100644 --- a/src/net/sourceforge/plantuml/LineLocationImpl.java +++ b/src/net/sourceforge/plantuml/LineLocationImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/LineParam.java b/src/net/sourceforge/plantuml/LineParam.java index a19efc6b4..ca3f953ba 100644 --- a/src/net/sourceforge/plantuml/LineParam.java +++ b/src/net/sourceforge/plantuml/LineParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -43,7 +43,9 @@ public enum LineParam { sequenceLifeLineBorder, sequenceParticipantBorder, noteBorder, sequenceGroupBorder, sequenceReferenceBorder, classBorder, objectBorder, - packageBorder; + partitionBorder, + packageBorder, + swimlaneBorder; // sequenceBoxBorder(0.1); } diff --git a/src/net/sourceforge/plantuml/Log.java b/src/net/sourceforge/plantuml/Log.java index 461ec61ef..cfda649cc 100644 --- a/src/net/sourceforge/plantuml/Log.java +++ b/src/net/sourceforge/plantuml/Log.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14532 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/NewpagedDiagram.java b/src/net/sourceforge/plantuml/NewpagedDiagram.java index ba399eed5..b032a3cc2 100644 --- a/src/net/sourceforge/plantuml/NewpagedDiagram.java +++ b/src/net/sourceforge/plantuml/NewpagedDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -66,6 +66,10 @@ public class NewpagedDiagram extends AbstractPSystem { return super.toString() + " SIZE=" + diagrams.size() + " " + diagrams; } + public Diagram getLastDiagram() { + return diagrams.get(diagrams.size() - 1); + } + public CommandExecutionResult executeCommand(Command cmd, BlocLines lines) { final int nb = diagrams.size(); final CommandExecutionResult tmp = cmd.execute(diagrams.get(nb - 1), lines); diff --git a/src/net/sourceforge/plantuml/NullOutputStream.java b/src/net/sourceforge/plantuml/NullOutputStream.java index 7aaaf56a7..73c2b7e67 100644 --- a/src/net/sourceforge/plantuml/NullOutputStream.java +++ b/src/net/sourceforge/plantuml/NullOutputStream.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Option.java b/src/net/sourceforge/plantuml/Option.java index b5aa623db..6bae8a019 100644 --- a/src/net/sourceforge/plantuml/Option.java +++ b/src/net/sourceforge/plantuml/Option.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14727 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/OptionFlags.java b/src/net/sourceforge/plantuml/OptionFlags.java index a58e6b10d..8c623e081 100644 --- a/src/net/sourceforge/plantuml/OptionFlags.java +++ b/src/net/sourceforge/plantuml/OptionFlags.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16562 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; @@ -53,11 +53,13 @@ public class OptionFlags { static public final boolean USE_HECTOR = false; static public boolean ADD_NICE_FOR_DOT = false; static public final boolean STRICT_SELFMESSAGE_POSITION = true; - static public final boolean USE_NEW_IF = true; + + // static public final boolean USE_IF_VERTICAL = true; static public final boolean FORCE_TEOZ = false; static public final boolean USE_INTERFACE_EYE1 = false; static public final boolean USE_INTERFACE_EYE2 = false; static public final boolean SWI2 = false; + static public final boolean USE_COMPOUND = false; public void reset() { reset(false); diff --git a/src/net/sourceforge/plantuml/OptionPrint.java b/src/net/sourceforge/plantuml/OptionPrint.java index 4eceea72e..db5b20876 100644 --- a/src/net/sourceforge/plantuml/OptionPrint.java +++ b/src/net/sourceforge/plantuml/OptionPrint.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14028 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/PSystemBuilder.java b/src/net/sourceforge/plantuml/PSystemBuilder.java index 59edb1a29..735bbee0e 100644 --- a/src/net/sourceforge/plantuml/PSystemBuilder.java +++ b/src/net/sourceforge/plantuml/PSystemBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -120,7 +120,7 @@ public class PSystemBuilder { factories.add(new StateDiagramFactory()); factories.add(new ActivityDiagramFactory3()); factories.add(new CompositeDiagramFactory()); - factories.add(new ObjectDiagramFactory()); + // factories.add(new ObjectDiagramFactory()); factories.add(new PostIdDiagramFactory()); factories.add(new PrintSkinFactory()); factories.add(new PSystemLicenseFactory()); diff --git a/src/net/sourceforge/plantuml/PSystemError.java b/src/net/sourceforge/plantuml/PSystemError.java index b9c07264f..1c491ccd3 100644 --- a/src/net/sourceforge/plantuml/PSystemError.java +++ b/src/net/sourceforge/plantuml/PSystemError.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16367 $ + * Revision $Revision: 18280 $ */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/PSystemUtils.java b/src/net/sourceforge/plantuml/PSystemUtils.java index 1425642f8..2a1ad371f 100644 --- a/src/net/sourceforge/plantuml/PSystemUtils.java +++ b/src/net/sourceforge/plantuml/PSystemUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Pragma.java b/src/net/sourceforge/plantuml/Pragma.java index 13f36698e..fcbd858eb 100644 --- a/src/net/sourceforge/plantuml/Pragma.java +++ b/src/net/sourceforge/plantuml/Pragma.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -65,6 +65,11 @@ public class Pragma { return isDefine("horizontallinebetweendifferentpackageallowed"); } + public boolean useVerticalIf() { + final String teoz = getValue("useverticalif"); + return "true".equalsIgnoreCase(teoz) || "on".equalsIgnoreCase(teoz); + } + public boolean useTeozLayout() { final String teoz = getValue("teoz"); return "true".equalsIgnoreCase(teoz) || "on".equalsIgnoreCase(teoz); diff --git a/src/net/sourceforge/plantuml/Removeable.java b/src/net/sourceforge/plantuml/Removeable.java index de9fdd35f..e446a3d57 100644 --- a/src/net/sourceforge/plantuml/Removeable.java +++ b/src/net/sourceforge/plantuml/Removeable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/Run.java b/src/net/sourceforge/plantuml/Run.java index 07e58d95f..a349686b7 100644 --- a/src/net/sourceforge/plantuml/Run.java +++ b/src/net/sourceforge/plantuml/Run.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15892 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/Scale.java b/src/net/sourceforge/plantuml/Scale.java index 78fa7d7c8..cb07f51e9 100644 --- a/src/net/sourceforge/plantuml/Scale.java +++ b/src/net/sourceforge/plantuml/Scale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ScaleHeight.java b/src/net/sourceforge/plantuml/ScaleHeight.java index 4741e903b..28b655bf7 100644 --- a/src/net/sourceforge/plantuml/ScaleHeight.java +++ b/src/net/sourceforge/plantuml/ScaleHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ScaleMaxWidthAndHeight.java b/src/net/sourceforge/plantuml/ScaleMaxWidthAndHeight.java index 4a2e86a27..87bd6f89b 100644 --- a/src/net/sourceforge/plantuml/ScaleMaxWidthAndHeight.java +++ b/src/net/sourceforge/plantuml/ScaleMaxWidthAndHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ScaleSimple.java b/src/net/sourceforge/plantuml/ScaleSimple.java index 09ec9f5aa..f48ab7522 100644 --- a/src/net/sourceforge/plantuml/ScaleSimple.java +++ b/src/net/sourceforge/plantuml/ScaleSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ScaleWidth.java b/src/net/sourceforge/plantuml/ScaleWidth.java index ad8690bd3..6bad3f5b7 100644 --- a/src/net/sourceforge/plantuml/ScaleWidth.java +++ b/src/net/sourceforge/plantuml/ScaleWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ScaleWidthAndHeight.java b/src/net/sourceforge/plantuml/ScaleWidthAndHeight.java index bacb0e86d..e09e1cc56 100644 --- a/src/net/sourceforge/plantuml/ScaleWidthAndHeight.java +++ b/src/net/sourceforge/plantuml/ScaleWidthAndHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SignatureUtils.java b/src/net/sourceforge/plantuml/SignatureUtils.java index fd3d63f75..bb53cde24 100644 --- a/src/net/sourceforge/plantuml/SignatureUtils.java +++ b/src/net/sourceforge/plantuml/SignatureUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/SingleLine.java b/src/net/sourceforge/plantuml/SingleLine.java index ee8212d64..b86cad84c 100644 --- a/src/net/sourceforge/plantuml/SingleLine.java +++ b/src/net/sourceforge/plantuml/SingleLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/SkinParam.java b/src/net/sourceforge/plantuml/SkinParam.java index 8f3f74b4a..e63ec8ec8 100644 --- a/src/net/sourceforge/plantuml/SkinParam.java +++ b/src/net/sourceforge/plantuml/SkinParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17444 $ + * Revision $Revision: 18291 $ * */ package net.sourceforge.plantuml; @@ -63,6 +63,7 @@ import net.sourceforge.plantuml.ugraphic.ColorMapper; import net.sourceforge.plantuml.ugraphic.ColorMapperIdentity; import net.sourceforge.plantuml.ugraphic.ColorMapperMonochrome; import net.sourceforge.plantuml.ugraphic.Sprite; +import net.sourceforge.plantuml.ugraphic.SpriteImage; import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.ugraphic.UStroke; @@ -198,78 +199,88 @@ public class SkinParam implements ISkinParam { // } } - private int getFontSize(FontParam param, Stereotype stereotype) { + private int getFontSize(Stereotype stereotype, FontParam... param) { if (stereotype != null) { checkStereotype(stereotype); - final String value2 = getValue(param.name() + "fontsize" + stereotype.getLabel(false)); + final String value2 = getFirstValueNonNullWithSuffix("fontsize" + stereotype.getLabel(false), param); if (value2 != null && value2.matches("\\d+")) { return Integer.parseInt(value2); } } - String value = getValue(param.name() + "fontsize"); + String value = getFirstValueNonNullWithSuffix("fontsize", param); if (value == null || value.matches("\\d+") == false) { value = getValue("defaultfontsize"); } if (value == null || value.matches("\\d+") == false) { - return param.getDefaultSize(this); + return param[0].getDefaultSize(this); } return Integer.parseInt(value); } - private String getFontFamily(FontParam param, Stereotype stereotype) { + private String getFontFamily(Stereotype stereotype, FontParam... param) { if (stereotype != null) { checkStereotype(stereotype); - final String value2 = getValue(param.name() + "fontname" + stereotype.getLabel(false)); + final String value2 = getFirstValueNonNullWithSuffix("fontname" + stereotype.getLabel(false), param); if (value2 != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value2); } } // Times, Helvetica, Courier or Symbol - String value = getValue(param.name() + "fontname"); + String value = getFirstValueNonNullWithSuffix("fontname", param); if (value != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value); } - if (param != FontParam.CIRCLED_CHARACTER) { + if (param[0] != FontParam.CIRCLED_CHARACTER) { value = getValue("defaultfontname"); if (value != null) { return StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(value); } } - return param.getDefaultFamily(); + return param[0].getDefaultFamily(); } - public HtmlColor getFontHtmlColor(FontParam param, Stereotype stereotype) { + public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { String value = null; if (stereotype != null) { checkStereotype(stereotype); - value = getValue(param.name() + "fontcolor" + stereotype.getLabel(false)); + value = getFirstValueNonNullWithSuffix("fontcolor" + stereotype.getLabel(false), param); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { - value = getValue(param.name() + "fontcolor"); + value = getFirstValueNonNullWithSuffix("fontcolor", param); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { value = getValue("defaultfontcolor"); } if (value == null || getIHtmlColorSet().getColorIfValid(value) == null) { - value = param.getDefaultColor(); + value = param[0].getDefaultColor(); } return getIHtmlColorSet().getColorIfValid(value); } - private int getFontStyle(FontParam param, Stereotype stereotype, boolean inPackageTitle) { + private String getFirstValueNonNullWithSuffix(String suffix, FontParam... param) { + for (FontParam p : param) { + final String v = getValue(p.name() + suffix); + if (v != null) { + return v; + } + } + return null; + } + + private int getFontStyle(Stereotype stereotype, boolean inPackageTitle, FontParam... param) { String value = null; if (stereotype != null) { checkStereotype(stereotype); - value = getValue(param.name() + "fontstyle" + stereotype.getLabel(false)); + value = getFirstValueNonNullWithSuffix("fontstyle" + stereotype.getLabel(false), param); } if (value == null) { - value = getValue(param.name() + "fontstyle"); + value = getFirstValueNonNullWithSuffix("fontstyle", param); } if (value == null) { value = getValue("defaultfontstyle"); } if (value == null) { - return param.getDefaultFontStyle(this, inPackageTitle); + return param[0].getDefaultFontStyle(this, inPackageTitle); } int result = Font.PLAIN; if (StringUtils.goLowerCase(value).contains("bold")) { @@ -281,13 +292,13 @@ public class SkinParam implements ISkinParam { return result; } - public UFont getFont(FontParam fontParam, Stereotype stereotype, boolean inPackageTitle) { + public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam) { if (stereotype != null) { checkStereotype(stereotype); } - final String fontFamily = getFontFamily(fontParam, stereotype); - final int fontStyle = getFontStyle(fontParam, stereotype, inPackageTitle); - final int fontSize = getFontSize(fontParam, stereotype); + final String fontFamily = getFontFamily(stereotype, fontParam); + final int fontStyle = getFontStyle(stereotype, inPackageTitle, fontParam); + final int fontSize = getFontSize(stereotype, fontParam); return new UFont(fontFamily, fontStyle, fontSize); } @@ -299,7 +310,7 @@ public class SkinParam implements ISkinParam { // return 11; // Log.println("SIZE1="+getFontSize(FontParam.CIRCLED_CHARACTER)); // Log.println("SIZE1="+getFontSize(FontParam.CIRCLED_CHARACTER)/3); - return getFontSize(FontParam.CIRCLED_CHARACTER, null) / 3 + 6; + return getFontSize(null, FontParam.CIRCLED_CHARACTER) / 3 + 6; } public int classAttributeIconSize() { @@ -494,7 +505,11 @@ public class SkinParam implements ISkinParam { } public Sprite getSprite(String name) { - return sprites.get(name); + Sprite result = sprites.get(name); + if (result == null) { + result = SpriteImage.fromInternal(name); + } + return result; } public boolean useUml2ForComponent() { diff --git a/src/net/sourceforge/plantuml/SkinParamBackcolored.java b/src/net/sourceforge/plantuml/SkinParamBackcolored.java index 6e2bce4bf..7b67fff13 100644 --- a/src/net/sourceforge/plantuml/SkinParamBackcolored.java +++ b/src/net/sourceforge/plantuml/SkinParamBackcolored.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -62,6 +62,7 @@ public class SkinParamBackcolored extends SkinParamDelegator { this.backColorGeneral = backColorGeneral; } + @Override public HtmlColor getBackgroundColor() { if (backColorGeneral != null) { return backColorGeneral; @@ -69,6 +70,7 @@ public class SkinParamBackcolored extends SkinParamDelegator { return super.getBackgroundColor(); } + @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (param.isBackground() && backColorElement != null) { return backColorElement; diff --git a/src/net/sourceforge/plantuml/SkinParamBackcoloredReference.java b/src/net/sourceforge/plantuml/SkinParamBackcoloredReference.java index aad6fb862..d087140e0 100644 --- a/src/net/sourceforge/plantuml/SkinParamBackcoloredReference.java +++ b/src/net/sourceforge/plantuml/SkinParamBackcoloredReference.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -48,6 +48,7 @@ public class SkinParamBackcoloredReference extends SkinParamDelegator { this.sequenceReferenceHeaderBackground = sequenceReferenceHeaderBackground; } + @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (param == ColorParam.sequenceReferenceHeaderBackground && sequenceReferenceHeaderBackground != null) { return sequenceReferenceHeaderBackground; diff --git a/src/net/sourceforge/plantuml/SkinParamColors.java b/src/net/sourceforge/plantuml/SkinParamColors.java index 6468e788a..cf6941abf 100644 --- a/src/net/sourceforge/plantuml/SkinParamColors.java +++ b/src/net/sourceforge/plantuml/SkinParamColors.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -60,14 +60,16 @@ public class SkinParamColors extends SkinParamDelegator { return colors.getShadowing(); } - public HtmlColor getFontHtmlColor(FontParam param, Stereotype stereotype) { + @Override + public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { final HtmlColor value = colors.getColor(ColorType.TEXT); if (value == null) { - return super.getFontHtmlColor(param, stereotype); + return super.getFontHtmlColor(stereotype, param); } return value; } + @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { final ColorType type = param.getColorType(); if (type == null) { diff --git a/src/net/sourceforge/plantuml/SkinParamDelegator.java b/src/net/sourceforge/plantuml/SkinParamDelegator.java index a4c3f1a8e..5767c5ea1 100644 --- a/src/net/sourceforge/plantuml/SkinParamDelegator.java +++ b/src/net/sourceforge/plantuml/SkinParamDelegator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -69,12 +69,12 @@ public class SkinParamDelegator implements ISkinParam { return skinParam.getCircledCharacterRadius(); } - public UFont getFont(FontParam fontParam, Stereotype stereotype, boolean inPackageTitle) { - return skinParam.getFont(fontParam, stereotype, false); + public UFont getFont(Stereotype stereotype, boolean inPackageTitle, FontParam... fontParam) { + return skinParam.getFont(stereotype, false, fontParam); } - public HtmlColor getFontHtmlColor(FontParam param, Stereotype stereotype) { - return skinParam.getFontHtmlColor(param, stereotype); + public HtmlColor getFontHtmlColor(Stereotype stereotype, FontParam... param) { + return skinParam.getFontHtmlColor(stereotype, param); } public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { diff --git a/src/net/sourceforge/plantuml/SkinParamForceColor.java b/src/net/sourceforge/plantuml/SkinParamForceColor.java index c7507cdb8..2112a3034 100644 --- a/src/net/sourceforge/plantuml/SkinParamForceColor.java +++ b/src/net/sourceforge/plantuml/SkinParamForceColor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -47,6 +47,7 @@ public class SkinParamForceColor extends SkinParamDelegator { this.colorParam = colorParam; } + @Override public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { if (colorParam == param) { return color; diff --git a/src/net/sourceforge/plantuml/SkinParamForecolored.java b/src/net/sourceforge/plantuml/SkinParamForecolored.java index cab7d4f41..3a28781f9 100644 --- a/src/net/sourceforge/plantuml/SkinParamForecolored.java +++ b/src/net/sourceforge/plantuml/SkinParamForecolored.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -33,6 +33,7 @@ */ package net.sourceforge.plantuml; +import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.HtmlColor; public class SkinParamForecolored extends SkinParamDelegator { @@ -44,7 +45,8 @@ public class SkinParamForecolored extends SkinParamDelegator { this.forecolor = forecolor; } - public HtmlColor getHtmlColor(ColorParam param, String stereotype, boolean clickable) { + @Override + public HtmlColor getHtmlColor(ColorParam param, Stereotype stereotype, boolean clickable) { return forecolor; } diff --git a/src/net/sourceforge/plantuml/SkinParamSameClassWidth.java b/src/net/sourceforge/plantuml/SkinParamSameClassWidth.java index 7c831c030..65c4742f6 100644 --- a/src/net/sourceforge/plantuml/SkinParamSameClassWidth.java +++ b/src/net/sourceforge/plantuml/SkinParamSameClassWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -42,6 +42,7 @@ public class SkinParamSameClassWidth extends SkinParamDelegator { this.width = width; } + @Override public double minClassWidth() { return width; } diff --git a/src/net/sourceforge/plantuml/SkinParamUtils.java b/src/net/sourceforge/plantuml/SkinParamUtils.java index e329539af..715e5e4fc 100644 --- a/src/net/sourceforge/plantuml/SkinParamUtils.java +++ b/src/net/sourceforge/plantuml/SkinParamUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -43,11 +43,11 @@ public class SkinParamUtils { private static final Rose rose = new Rose(); public static UFont getFont(ISkinParam skinParam, FontParam fontParam, Stereotype stereo) { - return skinParam.getFont(fontParam, stereo, false); + return skinParam.getFont(stereo, false, fontParam); } public static HtmlColor getFontColor(ISkinParam skinParam, FontParam fontParam, Stereotype stereo) { - return skinParam.getFontHtmlColor(fontParam, stereo); + return skinParam.getFontHtmlColor(stereo, fontParam); } public static HtmlColor getColor(ISkinParam skinParam, ColorParam colorParam, Stereotype stereo) { diff --git a/src/net/sourceforge/plantuml/SourceFileReader.java b/src/net/sourceforge/plantuml/SourceFileReader.java index 3a7a16217..ec77e959a 100644 --- a/src/net/sourceforge/plantuml/SourceFileReader.java +++ b/src/net/sourceforge/plantuml/SourceFileReader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SourceFileReader2.java b/src/net/sourceforge/plantuml/SourceFileReader2.java index 89328f1e2..f2c72087b 100644 --- a/src/net/sourceforge/plantuml/SourceFileReader2.java +++ b/src/net/sourceforge/plantuml/SourceFileReader2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SourceStringReader.java b/src/net/sourceforge/plantuml/SourceStringReader.java index 9c96800bf..81159a993 100644 --- a/src/net/sourceforge/plantuml/SourceStringReader.java +++ b/src/net/sourceforge/plantuml/SourceStringReader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SpecificBackcolorable.java b/src/net/sourceforge/plantuml/SpecificBackcolorable.java index fa1b1d70a..3a7433e74 100644 --- a/src/net/sourceforge/plantuml/SpecificBackcolorable.java +++ b/src/net/sourceforge/plantuml/SpecificBackcolorable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SpriteContainer.java b/src/net/sourceforge/plantuml/SpriteContainer.java index 38a312fc3..1bd5c2160 100644 --- a/src/net/sourceforge/plantuml/SpriteContainer.java +++ b/src/net/sourceforge/plantuml/SpriteContainer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/SpriteContainerEmpty.java b/src/net/sourceforge/plantuml/SpriteContainerEmpty.java index a0c323b5e..25f560e58 100644 --- a/src/net/sourceforge/plantuml/SpriteContainerEmpty.java +++ b/src/net/sourceforge/plantuml/SpriteContainerEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/StringUtils.java b/src/net/sourceforge/plantuml/StringUtils.java index 70feb2e67..32f7cbd46 100644 --- a/src/net/sourceforge/plantuml/StringUtils.java +++ b/src/net/sourceforge/plantuml/StringUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -36,6 +36,7 @@ package net.sourceforge.plantuml; import java.awt.Color; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; @@ -471,5 +472,13 @@ public class StringUtils { return arg.subSequence(i, j + 1).toString(); } + public static List splitHiddenNewLine(String s) { + return Arrays.asList(s.split("" + hiddenNewLine())); + } + + public static String manageNewLine(String string) { + return string.replace(hiddenNewLine(), '\n'); + } + // http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html } diff --git a/src/net/sourceforge/plantuml/UmlDiagram.java b/src/net/sourceforge/plantuml/UmlDiagram.java index 7bfcfe0cc..b42e23649 100644 --- a/src/net/sourceforge/plantuml/UmlDiagram.java +++ b/src/net/sourceforge/plantuml/UmlDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16613 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/UmlDiagramType.java b/src/net/sourceforge/plantuml/UmlDiagramType.java index d400181e6..02829616d 100644 --- a/src/net/sourceforge/plantuml/UmlDiagramType.java +++ b/src/net/sourceforge/plantuml/UmlDiagramType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml; diff --git a/src/net/sourceforge/plantuml/Url.java b/src/net/sourceforge/plantuml/Url.java index 0bb3853ce..43d96f565 100644 --- a/src/net/sourceforge/plantuml/Url.java +++ b/src/net/sourceforge/plantuml/Url.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -56,7 +56,7 @@ public class Url implements EnsureVisible { if (tooltip == null) { this.tooltip = url; } else { - this.tooltip = tooltip; + this.tooltip = StringUtils.manageNewLine(tooltip); } if (label == null) { this.label = url; diff --git a/src/net/sourceforge/plantuml/UrlBuilder.java b/src/net/sourceforge/plantuml/UrlBuilder.java index 49b4c0f5c..9cabd63e6 100644 --- a/src/net/sourceforge/plantuml/UrlBuilder.java +++ b/src/net/sourceforge/plantuml/UrlBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -44,7 +44,21 @@ public class UrlBuilder { STRICT, AT_START, ANYWHERE, AT_END } - private static final String URL_PATTERN = "\\[\\[([%g][^%g]+[%g]|[^{}%s\\]\\[]*)(?:[%s]*\\{((?:[^{}]|\\{[^{}]*\\})+)\\})?(?:[%s]*([^\\]\\[]+))?\\]\\]"; + private static String level0() { + return "(?:[^{}]|\\{[^{}]*\\})+"; + } + + private static String levelN(int n) { + if (n == 0) { + return level0(); + } + return "(?:[^{}]|\\{" + levelN(n - 1) + "\\})+"; + } + + private static final String URL_PATTERN_OLD = "\\[\\[([%g][^%g]+[%g]|[^{}%s\\]\\[]*)(?:[%s]*\\{((?:[^{}]|\\{[^{}]*\\})+)\\})?(?:[%s]*([^\\]\\[]+))?\\]\\]"; + + private static final String URL_PATTERN = "\\[\\[([%g][^%g]+[%g]|[^{}%s\\]\\[]*)(?:[%s]*\\{" + "(" + levelN(3) + + ")" + "\\})?(?:[%s]*([^\\]\\[]+))?\\]\\]"; private final String topurl; private ModeUrl mode; diff --git a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java index 8de2e9893..3a3947e14 100644 --- a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java +++ b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/acearth/PSystemXearthFactory.java b/src/net/sourceforge/plantuml/acearth/PSystemXearthFactory.java index b4182e9ed..0b0baabfc 100644 --- a/src/net/sourceforge/plantuml/acearth/PSystemXearthFactory.java +++ b/src/net/sourceforge/plantuml/acearth/PSystemXearthFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagram.java b/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagram.java index 2697d1921..76fd3f229 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagram.java +++ b/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14721 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.activitydiagram; diff --git a/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagramFactory.java b/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagramFactory.java index d1d90bb0e..ab4d42e57 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagramFactory.java +++ b/src/net/sourceforge/plantuml/activitydiagram/ActivityDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/ConditionalContext.java b/src/net/sourceforge/plantuml/activitydiagram/ConditionalContext.java index 93c0191a8..8cea6adac 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/ConditionalContext.java +++ b/src/net/sourceforge/plantuml/activitydiagram/ConditionalContext.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandElse.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandElse.java index 4d3cab136..b3eda1056 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandElse.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandElse.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndPartition.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndPartition.java index d6096249f..10ddfa1ee 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndPartition.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndPartition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.activitydiagram.command; diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndif.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndif.java index 1b37aa6e6..53dbeb297 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndif.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandEndif.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandIf.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandIf.java index 748aaf0d1..4bac6a8f5 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandIf.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandIf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandInnerConcurrent.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandInnerConcurrent.java index cc51f2f0a..b743fd75e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandInnerConcurrent.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandInnerConcurrent.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkActivity.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkActivity.java index 6724e692f..e429ea05a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkActivity.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkLongActivity.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkLongActivity.java index f82e07b24..ecd35df00 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkLongActivity.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandLinkLongActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram/command/CommandPartition.java b/src/net/sourceforge/plantuml/activitydiagram/command/CommandPartition.java index a7d557f01..c9c41f67d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram/command/CommandPartition.java +++ b/src/net/sourceforge/plantuml/activitydiagram/command/CommandPartition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17003 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.activitydiagram.command; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagram3.java b/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagram3.java index 5d663536c..d6591c84d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagram3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagram3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -78,7 +78,7 @@ public class ActivityDiagram3 extends UmlDiagram { private SwimlaneStrategy swimlaneStrategy; - private final Swimlanes swinlanes = new Swimlanes(getSkinParam()); + private final Swimlanes swinlanes = new Swimlanes(getSkinParam(), getPragma()); private void manageSwimlaneStrategy() { if (swimlaneStrategy == null) { @@ -233,12 +233,12 @@ public class ActivityDiagram3 extends UmlDiagram { private final UFont getFont(FontParam fontParam) { final ISkinParam skinParam = getSkinParam(); - return skinParam.getFont(fontParam, null, false); + return skinParam.getFont(null, false, fontParam); } private final HtmlColor getFontColor(FontParam fontParam, Stereotype stereotype2) { final ISkinParam skinParam = getSkinParam(); - return skinParam.getFontHtmlColor(fontParam, stereotype2); + return skinParam.getFontHtmlColor(stereotype2, fontParam); } public void fork() { @@ -388,10 +388,10 @@ public class ActivityDiagram3 extends UmlDiagram { return CommandExecutionResult.ok(); } - public void startGroup(Display name, HtmlColor backColor, HtmlColor titleColor) { + public void startGroup(Display name, HtmlColor backColor, HtmlColor titleColor, HtmlColor borderColor) { manageSwimlaneStrategy(); final InstructionGroup instructionGroup = new InstructionGroup(current(), name, backColor, titleColor, - swinlanes.getCurrentSwimlane()); + swinlanes.getCurrentSwimlane(), borderColor); current().add(instructionGroup); setCurrent(instructionGroup); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagramFactory3.java b/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagramFactory3.java index 000b9f19c..614a0eb36 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagramFactory3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ActivityDiagramFactory3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/Branch.java b/src/net/sourceforge/plantuml/activitydiagram3/Branch.java index fd9516fa4..9ed587fee 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/Branch.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/Branch.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/Instruction.java b/src/net/sourceforge/plantuml/activitydiagram3/Instruction.java index 9f91dba40..6a788ea2c 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/Instruction.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/Instruction.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionCollection.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionCollection.java index 2cd28ce0b..b17dd953d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionCollection.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionCollection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionEnd.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionEnd.java index eb48fdc12..b4d84e2cb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionEnd.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionEnd.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionFork.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionFork.java index fe398df8f..24d3c20db 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionFork.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionFork.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionGoto.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionGoto.java index 48f97cc51..f99015bf5 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionGoto.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionGoto.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionGroup.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionGroup.java index 7c9d391a7..9bdb4c18a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionGroup.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -47,16 +47,18 @@ public class InstructionGroup implements Instruction, InstructionCollection { private final InstructionList list; private final Instruction parent; private final HtmlColor backColor; + private final HtmlColor borderColor; private final HtmlColor titleColor; private final Display test; private Display headerNote = Display.NULL; public InstructionGroup(Instruction parent, Display test, HtmlColor backColor, HtmlColor titleColor, - Swimlane swimlane) { + Swimlane swimlane, HtmlColor borderColor) { this.list = new InstructionList(swimlane); this.parent = parent; this.test = test; + this.borderColor = borderColor; this.backColor = backColor; this.titleColor = titleColor; } @@ -66,7 +68,7 @@ public class InstructionGroup implements Instruction, InstructionCollection { } public Ftile createFtile(FtileFactory factory) { - return factory.createGroup(list.createFtile(factory), test, backColor, titleColor, headerNote); + return factory.createGroup(list.createFtile(factory), test, backColor, titleColor, headerNote, borderColor); } public Instruction getParent() { diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionIf.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionIf.java index 9c3720392..acaff8142 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionIf.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionIf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionLabel.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionLabel.java index 41ffc9001..42f404693 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionLabel.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionLabel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionList.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionList.java index 5c8a45b01..326ae8b24 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionList.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionList.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionPartition.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionPartition.java index 23bf16dfb..a52ebc612 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionPartition.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionPartition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionRepeat.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionRepeat.java index 4b7674093..7db8d686e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionRepeat.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionRepeat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionSimple.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionSimple.java index d064b81be..57da6adb3 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionSimple.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionSplit.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionSplit.java index 6edeb29fa..8a8e49adb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionSplit.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionSplit.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionStart.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionStart.java index 7c30d420a..fa00b6deb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionStart.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionStart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionStop.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionStop.java index 38ea0dedf..1e0a4f6fe 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionStop.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionStop.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/InstructionWhile.java b/src/net/sourceforge/plantuml/activitydiagram3/InstructionWhile.java index e75232469..203434a17 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/InstructionWhile.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/InstructionWhile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/LinkRendering.java b/src/net/sourceforge/plantuml/activitydiagram3/LinkRendering.java index 542f09027..bcc5d0617 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/LinkRendering.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/LinkRendering.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/MonoSwimable.java b/src/net/sourceforge/plantuml/activitydiagram3/MonoSwimable.java index 7a7e7e187..95c07b5e8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/MonoSwimable.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/MonoSwimable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivity3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivity3.java index f71598b91..3011740ff 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivity3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivity3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLegacy1.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLegacy1.java index 06c1b88ad..c17cb2069 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLegacy1.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLegacy1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLong3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLong3.java index d8515e413..f7b708da6 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLong3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandActivityLong3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrow3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrow3.java index aa671fb41..6b843a76b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrow3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrow3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrowLong3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrowLong3.java index 40fc9b12b..f336a895b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrowLong3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandArrowLong3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElse3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElse3.java index 66841de7d..a5412c1fc 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElse3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElse3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseIf2.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseIf2.java index 355077e7d..a30e28491 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseIf2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseIf2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseLegacy1.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseLegacy1.java index 7cfaedc39..abb017e84 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseLegacy1.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandElseLegacy1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEnd3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEnd3.java index 0262bf823..fdd1c932d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEnd3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEnd3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndPartition3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndPartition3.java index 55e354729..30d5e3270 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndPartition3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndPartition3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndif3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndif3.java index f2c42c759..9f2076696 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndif3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandEndif3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandFork3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandFork3.java index f48c8c6f1..7c0e9e064 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandFork3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandFork3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkAgain3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkAgain3.java index 10a7b299b..f6d94c56d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkAgain3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkAgain3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkEnd3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkEnd3.java index 2a4c1387a..d11b69b62 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkEnd3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandForkEnd3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGoto.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGoto.java index 3be60470a..8498e9fbc 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGoto.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGoto.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroup3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroup3.java index 2047d297f..a93274e95 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroup3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandGroup3.java @@ -57,7 +57,7 @@ public class CommandGroup3 extends SingleLineCommand2 { @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { - diagram.startGroup(Display.getWithNewlines(arg.get("NAME", 0)), null, null); + diagram.startGroup(Display.getWithNewlines(arg.get("NAME", 0)), null, null, null); return CommandExecutionResult.ok(); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf2.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf2.java index 330e643a4..7f4ea525b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf4.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf4.java index 0515c1619..7606f09c4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf4.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIf4.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIfLegacy1.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIfLegacy1.java index c9af1d7ce..6e8b38740 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIfLegacy1.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandIfLegacy1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandKill3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandKill3.java index 93b76488d..4fa7eedda 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandKill3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandKill3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLabel.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLabel.java index 38f88434f..629e02552 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLabel.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLabel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLink3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLink3.java index b9595b0dc..008ce3c8b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLink3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandLink3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNolink.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNolink.java index e4eee1fd7..36d7c084e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNolink.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNolink.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNote3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNote3.java index af218605f..7439027e8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNote3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNote3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNoteLong3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNoteLong3.java index 3b75fec0c..13f4b137d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNoteLong3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandNoteLong3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandPartition3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandPartition3.java index 63a84cbf9..c29825c35 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandPartition3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandPartition3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -33,6 +33,8 @@ */ package net.sourceforge.plantuml.activitydiagram3.command; +import net.sourceforge.plantuml.ColorParam; +import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; @@ -41,7 +43,7 @@ import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HtmlColor; -import net.sourceforge.plantuml.StringUtils; +import net.sourceforge.plantuml.graphic.HtmlColorUtils; public class CommandPartition3 extends SingleLineCommand2 { @@ -62,12 +64,26 @@ public class CommandPartition3 extends SingleLineCommand2 { @Override protected CommandExecutionResult executeArg(ActivityDiagram3 diagram, RegexResult arg) { final String partitionTitle = StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(arg.get("NAME", 0)); - final HtmlColor backColor = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("BACKCOLOR", 0)); final HtmlColor titleColor = diagram.getSkinParam().getIHtmlColorSet() .getColorIfValid(arg.get("TITLECOLOR", 0)); - diagram.startGroup(Display.getWithNewlines(partitionTitle), backColor, titleColor); + + final HtmlColor backColorInSkinparam = diagram.getSkinParam().getHtmlColor(ColorParam.partitionBackground, + null, false); + final HtmlColor backColor; + if (backColorInSkinparam == null) { + backColor = diagram.getSkinParam().getIHtmlColorSet().getColorIfValid(arg.get("BACKCOLOR", 0)); + } else { + backColor = backColorInSkinparam; + + } + + HtmlColor borderColor = diagram.getSkinParam().getHtmlColor(ColorParam.partitionBorder, null, false); + if (borderColor == null) { + borderColor = HtmlColorUtils.BLACK; + } + + diagram.startGroup(Display.getWithNewlines(partitionTitle), backColor, titleColor, borderColor); return CommandExecutionResult.ok(); } - } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeat3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeat3.java index 232e7db54..9415fe193 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeat3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeat3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3.java index a4e4d4225..9a9a6a977 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java index e6dd14ca7..1e28a906b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplit3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplit3.java index 64a8b72ca..86551d617 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplit3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplit3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitAgain3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitAgain3.java index e84b2a917..3740e034f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitAgain3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitAgain3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitEnd3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitEnd3.java index 2a8f33181..bdf6c0f6f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitEnd3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSplitEnd3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStart3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStart3.java index 8e7b8c5f4..8e69861ec 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStart3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStart3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStop3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStop3.java index 7cac396c3..244e06ee0 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStop3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandStop3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane.java index 50de16a7a..9646d4c9b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane2.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane2.java index 04140360a..82d74f45a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandSwimlane2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhile3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhile3.java index 0950bdc4c..0b5a75852 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhile3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhile3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhileEnd3.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhileEnd3.java index 260609eff..a66fbfeb0 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhileEnd3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandWhileEnd3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractConnection.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractConnection.java index aa535d95a..4848827c2 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractConnection.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractConnection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractFtile.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractFtile.java index 91a42bce2..a4c27ceb5 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractFtile.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/AbstractFtile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Arrows.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Arrows.java index 2e55f0327..441a5cb5c 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Arrows.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Arrows.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java index 1f811215b..70acc0eff 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java index ef0bd81e8..9fd682b29 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Connection.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Connection.java index 0e36f7186..57f448191 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Connection.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Connection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionCross.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionCross.java index 20e87a8a5..a51c7ff92 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionCross.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionCross.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionTranslatable.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionTranslatable.java index 96a0fd03d..ee3993ce4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionTranslatable.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ConnectionTranslatable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Diamond.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Diamond.java index 6254fb02b..9e32ea969 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Diamond.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Diamond.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/EntityImageLegend.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/EntityImageLegend.java index 00d640f73..688308508 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/EntityImageLegend.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/EntityImageLegend.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Ftile.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Ftile.java index 0dd1e14b9..4763510cb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Ftile.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Ftile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileAssemblySimple.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileAssemblySimple.java index b374f6855..7654bc796 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileAssemblySimple.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileAssemblySimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileEmpty.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileEmpty.java index 06ce93905..d9df980ea 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileEmpty.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactory.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactory.java index 0f675bff3..d730821e9 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactory.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -82,6 +82,7 @@ public interface FtileFactory extends ISkinSimple { public Ftile createSplit(List all); - public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote); + public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote, + HtmlColor borderColor); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactoryDelegator.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactoryDelegator.java index 56d5a8ceb..1ca77d8b4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactoryDelegator.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileFactoryDelegator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -138,7 +138,8 @@ public class FtileFactoryDelegator implements FtileFactory { return factory.createWhile(swimlane, whileBlock, test, yes, out, afterEndwhile, color); } - public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, LinkRendering topInlinkRendering) { + public Ftile createIf(Swimlane swimlane, List thens, Branch elseBranch, LinkRendering afterEndwhile, + LinkRendering topInlinkRendering) { return factory.createIf(swimlane, thens, elseBranch, afterEndwhile, topInlinkRendering); } @@ -150,8 +151,9 @@ public class FtileFactoryDelegator implements FtileFactory { return factory.createSplit(all); } - public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote) { - return factory.createGroup(list, name, backColor, titleColor, headerNote); + public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote, + HtmlColor borderColor) { + return factory.createGroup(list, name, backColor, titleColor, headerNote, borderColor); } public StringBounder getStringBounder() { diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java index 93dfe6e05..853d900f4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -148,4 +148,20 @@ public class FtileGeometry extends Dimension2D { return new FtileGeometryMerger(this, other).getResult(); } + public FtileGeometry ensureHeight(double newHeight) { + if (this.height > newHeight) { + return this; + } + return fixedHeight(newHeight); + } + + private FtileGeometry ensureRightStrange(double newRight) { + final double right = this.width - this.left; + if (right > newRight) { + return this; + } + // return addMarginX(0, newRight - right); + return addMarginX(0, newRight); + } + } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometryMerger.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometryMerger.java index 49046f230..27d2a61d9 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometryMerger.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometryMerger.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGoto.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGoto.java index 059a6f071..2beaad6d7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGoto.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGoto.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileHeightFixed.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileHeightFixed.java index 6cab00c36..804ed1e34 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileHeightFixed.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileHeightFixed.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileKilled.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileKilled.java index 736cb7de9..a5d6bb8dc 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileKilled.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileKilled.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileLabel.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileLabel.java index 9f0e6aac6..ec882500d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileLabel.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileLabel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMarged.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMarged.java index 339df4c4f..fb03e17af 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMarged.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMarged.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java index eced7e7ca..b0566f45a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedVertically.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedVertically.java index 5a6a4c9ec..e14b0bbc8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedVertically.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedVertically.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMinWidth.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMinWidth.java index b68e62846..f761118a6 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMinWidth.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMinWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileOverpassing.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileOverpassing.java new file mode 100644 index 000000000..059046c49 --- /dev/null +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileOverpassing.java @@ -0,0 +1,42 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * Original Author: Arnaud Roques + * + * Revision $Revision: 8475 $ + * + */ +package net.sourceforge.plantuml.activitydiagram3.ftile; + +import net.sourceforge.plantuml.graphic.StringBounder; + +public interface FtileOverpassing extends Ftile { + + public FtileGeometry getOverpassDimension(StringBounder stringBounder); + +} diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileUtils.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileUtils.java index b03087ca6..c316dd1b5 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileUtils.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithConnection.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithConnection.java index 304537473..f24d8f59d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithConnection.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithConnection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithSwimlanes.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithSwimlanes.java index d06f29148..29747c34c 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithSwimlanes.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithSwimlanes.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithUrl.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithUrl.java index e9dd2117f..9b8612fb3 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithUrl.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileWithUrl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/GotoInterceptor.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/GotoInterceptor.java index d795cc2b6..44c440548 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/GotoInterceptor.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/GotoInterceptor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java index b3bcf377a..1bc5e7787 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/SnakeDirection.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/SnakeDirection.java index 71cdd41ea..11797b138 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/SnakeDirection.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/SnakeDirection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimable.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimable.java index ec2a124bb..c8b478a0f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimable.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java index 601b5ea2a..701874688 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java index b9c49f583..34e0b340f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -37,9 +37,12 @@ import java.awt.geom.Dimension2D; import java.util.ArrayList; import java.util.List; +import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; +import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.OptionFlags; +import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.activitydiagram3.Instruction; import net.sourceforge.plantuml.activitydiagram3.InstructionList; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; @@ -65,6 +68,7 @@ import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.TextBlockUtils; import net.sourceforge.plantuml.graphic.UGraphicDelegator; import net.sourceforge.plantuml.graphic.color.ColorType; +import net.sourceforge.plantuml.skin.rose.Rose; import net.sourceforge.plantuml.svek.UGraphicForSnake; import net.sourceforge.plantuml.ugraphic.CompressionTransform; import net.sourceforge.plantuml.ugraphic.LimitFinder; @@ -84,6 +88,7 @@ import net.sourceforge.plantuml.ugraphic.UTranslate; public class Swimlanes extends AbstractTextBlock implements TextBlock { private final ISkinParam skinParam;; + private final Pragma pragma; private final List swimlanes = new ArrayList(); private Swimlane currentSwimlane = null; @@ -93,19 +98,20 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock { private LinkRendering nextLinkRenderer; - public Swimlanes(ISkinParam skinParam) { + public Swimlanes(ISkinParam skinParam, Pragma pragma) { this.skinParam = skinParam; + this.pragma = pragma; } private FontConfiguration getFontConfiguration() { - return new FontConfiguration(skinParam, FontParam.TITLE, null); + return new FontConfiguration(skinParam, FontParam.SWIMLANE_TITLE, null); } private FtileFactory getFtileFactory() { FtileFactory factory = new VCompactFactory(skinParam, TextBlockUtils.getDummyStringBounder()); factory = new FtileFactoryDelegatorAddUrl(factory, skinParam); factory = new FtileFactoryDelegatorAssembly(factory, skinParam); - factory = new FtileFactoryDelegatorIf(factory, skinParam); + factory = new FtileFactoryDelegatorIf(factory, skinParam, pragma); factory = new FtileFactoryDelegatorWhile(factory, skinParam); factory = new FtileFactoryDelegatorRepeat(factory, skinParam); factory = new FtileFactoryDelegatorCreateFork(factory, skinParam); @@ -328,7 +334,9 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock { } private void drawSeparation(UGraphic ug, double height) { - ug.apply(new UStroke(2)).apply(new UChangeColor(HtmlColorUtils.BLACK)).draw(new ULine(0, height)); + final HtmlColor color = skinParam.getHtmlColor(ColorParam.swimlaneBorder, null, false); + final UStroke thickness = Rose.getStroke(skinParam, LineParam.swimlaneBorder, 2); + ug.apply(thickness).apply(new UChangeColor(color)).draw(new ULine(0, height)); } public Dimension2D calculateDimension(StringBounder stringBounder) { diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/TextBlockInterceptorUDrawable.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/TextBlockInterceptorUDrawable.java index c540d5cdb..247967aff 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/TextBlockInterceptorUDrawable.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/TextBlockInterceptorUDrawable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java index 2f609f472..1cd44d737 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/ConnectionVerticalDown.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/ConnectionVerticalDown.java index 53ff0b0fc..f9e4ef402 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/ConnectionVerticalDown.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/ConnectionVerticalDown.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FloatingNote.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FloatingNote.java index 4ff39707f..696b808d6 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FloatingNote.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FloatingNote.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddNote.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddNote.java index 18e4b6c2f..9b70c249a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddNote.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddNote.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddUrl.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddUrl.java index 9e477e7f5..edc28a48c 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddUrl.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAddUrl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAssembly.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAssembly.java index 0de80bb9b..47fd892bd 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAssembly.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorAssembly.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateFork.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateFork.java index 9c83d4e84..62cb0629e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateFork.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateFork.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateGroup.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateGroup.java index eae9df2f4..53f6ed3bb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateGroup.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -51,9 +51,10 @@ public class FtileFactoryDelegatorCreateGroup extends FtileFactoryDelegator { } @Override - public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote) { + public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote, + HtmlColor borderColor) { final HtmlColor arrowColor = rose.getHtmlColor(getSkinParam(), ColorParam.activityArrow); - return new FtileGroup(list, name, headerNote, arrowColor, backColor, titleColor, getSkinParam()); + return new FtileGroup(list, name, headerNote, arrowColor, backColor, titleColor, getSkinParam(), borderColor); } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateSplit.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateSplit.java index 413143ece..d01cccfc8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateSplit.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorCreateSplit.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorIf.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorIf.java index 49e614467..8f77bf69c 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorIf.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorIf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -38,7 +38,7 @@ import java.util.List; import net.sourceforge.plantuml.ColorParam; import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; -import net.sourceforge.plantuml.OptionFlags; +import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.activitydiagram3.Branch; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; @@ -52,8 +52,11 @@ import net.sourceforge.plantuml.svek.ConditionStyle; public class FtileFactoryDelegatorIf extends FtileFactoryDelegator { - public FtileFactoryDelegatorIf(FtileFactory factory, ISkinParam skinParam) { + private final Pragma pragma; + + public FtileFactoryDelegatorIf(FtileFactory factory, ISkinParam skinParam, Pragma pragma) { super(factory, skinParam); + this.pragma = pragma; } @Override @@ -69,20 +72,25 @@ public class FtileFactoryDelegatorIf extends FtileFactoryDelegator { final HtmlColor arrowColor = getRose().getHtmlColor(getSkinParam(), ColorParam.activityArrow); final FontConfiguration fcArrow = new FontConfiguration(getSkinParam(), FontParam.ACTIVITY_ARROW, null); + // .changeColor(fontColor(FontParam.ACTIVITY_DIAMOND)); if (thens.size() > 1) { - return FtileIfLong2.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, - thens, elseBranch, fcArrow, topInlinkRendering, afterEndwhile); + if (pragma.useVerticalIf()/* OptionFlags.USE_IF_VERTICAL */) + return FtileIfLongVertical.create(swimlane, borderColor, backColor, arrowColor, getFactory(), + conditionStyle, thens, elseBranch, fcArrow, topInlinkRendering, afterEndwhile); + return FtileIfLongHorizontal.create(swimlane, borderColor, backColor, arrowColor, getFactory(), + conditionStyle, thens, elseBranch, fcArrow, topInlinkRendering, afterEndwhile); } final FontParam testParam = conditionStyle == ConditionStyle.INSIDE ? FontParam.ACTIVITY_DIAMOND : FontParam.ACTIVITY_ARROW; - final FontConfiguration fcTest = new FontConfiguration(getSkinParam(), testParam, null); - if (OptionFlags.USE_NEW_IF) { - return ConditionalBuilder.create(swimlane, borderColor, backColor, arrowColor, getFactory(), - conditionStyle, thens.get(0), elseBranch, getSkinParam(), getStringBounder(), fcArrow, fcTest); - } else { - return FtileIfOrigin.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, - thens.get(0), elseBranch, getSkinParam(), getStringBounder(), fcArrow, fcTest); - } + final FontConfiguration fcTest = new FontConfiguration(getSkinParam(), testParam, null) + .changeColor(fontColor(FontParam.ACTIVITY_DIAMOND)); + + return ConditionalBuilder.create(swimlane, borderColor, backColor, arrowColor, getFactory(), conditionStyle, + thens.get(0), elseBranch, getSkinParam(), getStringBounder(), fcArrow, fcTest); + } + + private HtmlColor fontColor(FontParam param) { + return getSkinParam().getFontHtmlColor(null, param); } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorRepeat.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorRepeat.java index 66623ff3f..bbcd34baf 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorRepeat.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorRepeat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorWhile.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorWhile.java index 42144b132..c332d9e7b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorWhile.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileFactoryDelegatorWhile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileForkInner.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileForkInner.java index 062444779..12e6a9806 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileForkInner.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileForkInner.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileGroup.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileGroup.java index 26311cca3..a6891d617 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileGroup.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -37,7 +37,9 @@ import java.awt.Font; import java.awt.geom.Dimension2D; import java.util.Set; +import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; +import net.sourceforge.plantuml.LineParam; import net.sourceforge.plantuml.activitydiagram3.LinkRendering; import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; @@ -71,19 +73,25 @@ public class FtileGroup extends AbstractFtile { private final Ftile inner; private final TextBlock name; private final TextBlock headerNote; - private final HtmlColor color; + private final HtmlColor arrowColor; + private final HtmlColor borderColor; private final HtmlColor backColor; private final HtmlColor titleColor; + private final UStroke stroke; - public FtileGroup(Ftile inner, Display title, Display displayNote, HtmlColor color, HtmlColor backColor, - HtmlColor titleColor, ISkinParam skinParam) { + public FtileGroup(Ftile inner, Display title, Display displayNote, HtmlColor arrowColor, HtmlColor backColor, + HtmlColor titleColor, ISkinParam skinParam, HtmlColor borderColor) { super(inner.shadowing()); this.backColor = backColor == null ? HtmlColorUtils.WHITE : backColor; this.inner = FtileUtils.addHorizontalMargin(inner, 10); - this.color = color; + this.arrowColor = arrowColor; this.titleColor = titleColor; - final UFont font = new UFont("Serif", Font.PLAIN, 14); - final FontConfiguration fc = new FontConfiguration(font, HtmlColorUtils.BLACK, skinParam.getHyperlinkColor(), + this.borderColor = backColor == null ? HtmlColorUtils.BLACK : borderColor; + final UFont font = skinParam.getFont(null, false, FontParam.PARTITION); + // final UFont font = new UFont("Serif", Font.PLAIN, 14); + // final HtmlColor fontColor = HtmlColorUtils.BLACK; + final HtmlColor fontColor = skinParam.getFontHtmlColor(null, FontParam.PARTITION); + final FontConfiguration fc = new FontConfiguration(font, fontColor, skinParam.getHyperlinkColor(), skinParam.useUnderlineForHyperlink(), skinParam.getTabSize()); if (title == null) { this.name = TextBlockUtils.empty(0, 0); @@ -95,6 +103,9 @@ public class FtileGroup extends AbstractFtile { } else { this.headerNote = new FloatingNote(displayNote, skinParam); } + + final UStroke thickness = skinParam.getThickness(LineParam.partitionBorder, null); + this.stroke = thickness == null ? new UStroke(2) : thickness; } @Override @@ -176,8 +187,8 @@ public class FtileGroup extends AbstractFtile { final StringBounder stringBounder = ug.getStringBounder(); final Dimension2D dimTotal = calculateDimension(stringBounder); - final SymbolContext symbolContext = new SymbolContext(backColor, HtmlColorUtils.BLACK).withShadow(shadowing()) - .withStroke(new UStroke(2)); + final SymbolContext symbolContext = new SymbolContext(backColor, borderColor).withShadow(shadowing()) + .withStroke(stroke); USymbol.FRAME.asBig(name, TextBlockUtils.empty(0, 0), dimTotal.getWidth(), dimTotal.getHeight(), symbolContext) .drawU(ug); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfAndStop.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfAndStop.java index d6df621b4..ad0642891 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfAndStop.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfAndStop.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLong2.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongHorizontal.java similarity index 98% rename from src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLong2.java rename to src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongHorizontal.java index b16bba02e..5614735fa 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLong2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongHorizontal.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -67,7 +67,7 @@ import net.sourceforge.plantuml.svek.ConditionStyle; import net.sourceforge.plantuml.ugraphic.UGraphic; import net.sourceforge.plantuml.ugraphic.UTranslate; -class FtileIfLong2 extends AbstractFtile { +class FtileIfLongHorizontal extends AbstractFtile { private final double xSeparation = 20; @@ -78,7 +78,7 @@ class FtileIfLong2 extends AbstractFtile { private final HtmlColor arrowColor; - private FtileIfLong2(List diamonds, List tiles, Ftile tile2, HtmlColor arrowColor) { + private FtileIfLongHorizontal(List diamonds, List tiles, Ftile tile2, HtmlColor arrowColor) { super(tiles.get(0).shadowing() || tile2.shadowing()); if (diamonds.size() != tiles.size()) { throw new IllegalArgumentException(); @@ -142,7 +142,6 @@ class FtileIfLong2 extends AbstractFtile { final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); List diamonds = new ArrayList(); - final List conns = new ArrayList(); for (Branch branch : thens) { final TextBlock tb1 = branch.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory); final TextBlock tbTest = branch.getLabelTest().create(fc, HorizontalAlignment.LEFT, ftileFactory); @@ -158,7 +157,8 @@ class FtileIfLong2 extends AbstractFtile { diamonds = alignDiamonds(diamonds, ftileFactory.getStringBounder()); - final FtileIfLong2 result = new FtileIfLong2(diamonds, tiles, tile2, arrowColor); + final FtileIfLongHorizontal result = new FtileIfLongHorizontal(diamonds, tiles, tile2, arrowColor); + final List conns = new ArrayList(); for (int i = 0; i < thens.size(); i++) { final Ftile ftile = tiles.get(i); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongUnused.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongUnused.java deleted file mode 100644 index a4ca7bcee..000000000 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongUnused.java +++ /dev/null @@ -1,510 +0,0 @@ -/* ======================================================================== - * PlantUML : a free UML diagram generator - * ======================================================================== - * - * (C) Copyright 2009-2014, Arnaud Roques - * - * Project Info: http://plantuml.sourceforge.net - * - * This file is part of PlantUML. - * - * PlantUML is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * PlantUML distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. - * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. - * in the United States and other countries.] - * - * Original Author: Arnaud Roques - * - * Revision $Revision: 8475 $ - * - */ -package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; - -import java.awt.geom.Dimension2D; -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import net.sourceforge.plantuml.Dimension2DDouble; -import net.sourceforge.plantuml.activitydiagram3.Branch; -import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; -import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; -import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; -import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; -import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; -import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; -import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; -import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; -import net.sourceforge.plantuml.graphic.FontConfiguration; -import net.sourceforge.plantuml.graphic.HorizontalAlignment; -import net.sourceforge.plantuml.graphic.HtmlColor; -import net.sourceforge.plantuml.graphic.StringBounder; -import net.sourceforge.plantuml.graphic.TextBlock; -import net.sourceforge.plantuml.svek.ConditionStyle; -import net.sourceforge.plantuml.ugraphic.UFont; -import net.sourceforge.plantuml.ugraphic.UGraphic; -import net.sourceforge.plantuml.ugraphic.UTranslate; - -class FtileIfLongUnused extends AbstractFtile { - - private final double xSeparation = 20; - - private final List tiles; - private final Ftile tile2; - private final List diamonds; - - private final HtmlColor arrowColor; - - private FtileIfLongUnused(List diamonds, List tiles, Ftile tile2, HtmlColor arrowColor) { - super(tiles.get(0).shadowing() || tile2.shadowing()); - this.diamonds = diamonds; - this.tiles = tiles; - this.tile2 = tile2; - - this.arrowColor = arrowColor; - - } - - public Set getSwimlanes() { - final Set result = new HashSet(); - if (getSwimlaneIn() != null) { - result.add(getSwimlaneIn()); - } - for (Ftile tile : tiles) { - result.addAll(tile.getSwimlanes()); - } - result.addAll(tile2.getSwimlanes()); - return Collections.unmodifiableSet(result); - } - - public Swimlane getSwimlaneIn() { - return diamonds.get(0).getSwimlaneIn(); - } - - public Swimlane getSwimlaneOut() { - return getSwimlaneIn(); - } - - static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, UFont font, - HtmlColor arrowColor, FtileFactory ftileFactory, ConditionStyle conditionStyle, List thens, - Branch branch2, HtmlColor hyperlinkColor, boolean useUnderlineForHyperlink) { - - final List tiles = new ArrayList(); - - for (Branch branch : thens) { - tiles.add(new FtileMinWidth(branch.getFtile(), 30)); - } - - final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); - - final FontConfiguration fc = null; - // new FontConfiguration(font, HtmlColorUtils.BLACK, hyperlinkColor, useUnderlineForHyperlink); - - final List diamonds = new ArrayList(); - final List conns = new ArrayList(); - for (Branch branch : thens) { - final TextBlock tb1 = branch.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory); - final TextBlock tbTest = branch.getLabelTest().create(fc, HorizontalAlignment.LEFT, ftileFactory); - FtileDiamondInside diamond = new FtileDiamondInside(branch.shadowing(), backColor, borderColor, swimlane, - tbTest); - diamond = diamond.withNorth(tb1); - diamonds.add(diamond); - } - - final TextBlock tb2 = branch2.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory); - final int last = diamonds.size() - 1; - diamonds.set(last, ((FtileDiamondInside) diamonds.get(last)).withEast(tb2)); - - final FtileIfLongUnused result = new FtileIfLongUnused(diamonds, tiles, tile2, arrowColor); - - for (int i = 0; i < thens.size(); i++) { - final Ftile ftile = tiles.get(i); - final Ftile diam = diamonds.get(i); - - final HtmlColor color = thens.get(i).getInlinkRenderingColor(); - conns.add(result.new ConnectionVerticalIn(diam, ftile, color == null ? arrowColor : color)); - conns.add(result.new ConnectionVerticalOut(ftile, arrowColor)); - } - - for (int i = 0; i < diamonds.size() - 1; i++) { - final Ftile diam1 = diamonds.get(i); - final Ftile diam2 = diamonds.get(i + 1); - conns.add(result.new ConnectionHorizontal(diam1, diam2, arrowColor)); - } - conns.add(result.new ConnectionIn(arrowColor)); - conns.add(result.new ConnectionLastElseIn(arrowColor)); - conns.add(result.new ConnectionLastElseOut(arrowColor)); - conns.add(result.new ConnectionHline(arrowColor)); - - return FtileUtils.addConnection(result, conns); - } - - class ConnectionHorizontal extends AbstractConnection { - - private final HtmlColor color; - - public ConnectionHorizontal(Ftile diam1, Ftile diam2, HtmlColor color) { - super(diam1, diam2); - this.color = color; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final Point2D p1 = getP1(stringBounder); - final Point2D p2 = getP2(stringBounder); - - final Snake snake = new Snake(color, Arrows.asToRight()); - snake.addPoint(p1); - snake.addPoint(p2); - ug.draw(snake); - } - - private Point2D getP1(StringBounder stringBounder) { - final FtileGeometry dimDiamond1 = getFtile1().calculateDimension(stringBounder); - final Point2D p = new Point2D.Double(dimDiamond1.getWidth(), dimDiamond1.getOutY() / 2); - - return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); - } - - private Point2D getP2(StringBounder stringBounder) { - final FtileGeometry dimDiamond1 = getFtile2().calculateDimension(stringBounder); - final Point2D p = new Point2D.Double(0, dimDiamond1.getOutY() / 2); - return getTranslateDiamond1(getFtile2(), stringBounder).getTranslated(p); - } - - } - - class ConnectionIn extends AbstractConnection { - - private final HtmlColor arrowColor; - - public ConnectionIn(HtmlColor arrowColor) { - super(null, diamonds.get(0)); - this.arrowColor = arrowColor; - } - - public void drawU(UGraphic ug) { - final UTranslate tr = getTranslateDiamond1(getFtile2(), ug.getStringBounder()); - final Point2D p2 = tr.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); - final Snake snake = new Snake(arrowColor, Arrows.asToDown()); - final Point2D p1 = calculateDimension(ug.getStringBounder()).getPointIn(); - - snake.addPoint(p1); - snake.addPoint(p2.getX(), p1.getY()); - snake.addPoint(p2); - ug.draw(snake); - } - - } - - class ConnectionLastElseIn extends AbstractConnection { - - private final HtmlColor arrowColor; - - public ConnectionLastElseIn(HtmlColor arrowColor) { - super(diamonds.get(diamonds.size() - 1), tile2); - this.arrowColor = arrowColor; - } - - public void drawU(UGraphic ug) { - final Point2D p1 = getP1(ug.getStringBounder()); - final UTranslate tr2 = getTranslate2(ug.getStringBounder()); - final Point2D p2 = tr2.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); - final Snake snake = new Snake(arrowColor, Arrows.asToDown()); - snake.addPoint(p1); - snake.addPoint(p2.getX(), p1.getY()); - snake.addPoint(p2); - ug.draw(snake); - } - - private Point2D getP1(StringBounder stringBounder) { - final FtileGeometry dimDiamond1 = getFtile1().calculateDimension(stringBounder); - final Point2D p = new Point2D.Double(dimDiamond1.getWidth(), dimDiamond1.getOutY() / 2); - return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); - } - - } - - class ConnectionLastElseOut extends AbstractConnection { - - private final HtmlColor arrowColor; - - public ConnectionLastElseOut(HtmlColor arrowColor) { - super(tile2, null); - this.arrowColor = arrowColor; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final UTranslate tr1 = getTranslate2(stringBounder); - final FtileGeometry dim = getFtile1().calculateDimension(stringBounder); - if (dim.hasPointOut() == false) { - return; - } - final Point2D p1 = tr1.getTranslated(dim.getPointOut()); - final double totalHeight = calculateDimensionInternal(stringBounder).getHeight(); - final Point2D p2 = new Point2D.Double(p1.getX(), totalHeight); - - final Snake snake = new Snake(arrowColor, Arrows.asToDown()); - snake.addPoint(p1); - snake.addPoint(p2); - ug.draw(snake); - } - - } - - class ConnectionVerticalIn extends AbstractConnection { - - private final HtmlColor color; - - public ConnectionVerticalIn(Ftile diamond, Ftile tile, HtmlColor color) { - super(diamond, tile); - this.color = color; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final Point2D p1 = getP1(stringBounder); - final Point2D p2 = getP2(stringBounder); - - final Snake snake = new Snake(color, Arrows.asToDown()); - snake.addPoint(p1); - snake.addPoint(p2); - ug.draw(snake); - } - - private Point2D getP1(StringBounder stringBounder) { - final Point2D p = getFtile1().calculateDimension(stringBounder).getPointOut(); - return getTranslateDiamond1(getFtile1(), stringBounder).getTranslated(p); - } - - private Point2D getP2(StringBounder stringBounder) { - final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); - return getTranslate1(getFtile2(), stringBounder).getTranslated(p); - } - - } - - class ConnectionVerticalOut extends AbstractConnection { - - private final HtmlColor color; - - public ConnectionVerticalOut(Ftile tile, HtmlColor color) { - super(tile, null); - this.color = color; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final double totalHeight = calculateDimensionInternal(stringBounder).getHeight(); - final Point2D p1 = getP1(stringBounder); - if (p1 == null) { - return; - } - final Point2D p2 = new Point2D.Double(p1.getX(), totalHeight); - - final Snake snake = new Snake(color, Arrows.asToDown()); - snake.addPoint(p1); - snake.addPoint(p2); - ug.draw(snake); - } - - private Point2D getP1(StringBounder stringBounder) { - final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); - if (geo.hasPointOut() == false) { - return null; - } - final Point2D p = geo.getPointOut(); - return getTranslate1(getFtile1(), stringBounder).getTranslated(p); - } - - } - - class ConnectionHline extends AbstractConnection { - - private final HtmlColor arrowColor; - - public ConnectionHline(HtmlColor arrowColor) { - super(null, null); - this.arrowColor = arrowColor; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final Dimension2D totalDim = calculateDimensionInternal(stringBounder); - - final List all = new ArrayList(tiles); - all.add(tile2); - double minX = totalDim.getWidth() / 2; - double maxX = totalDim.getWidth() / 2; - for (Ftile tmp : all) { - if (tmp.calculateDimension(stringBounder).hasPointOut() == false) { - continue; - } - final UTranslate ut = getTranslateFor(tmp, stringBounder); - final double out = tmp.calculateDimension(stringBounder).translate(ut).getLeft(); - minX = Math.min(minX, out); - maxX = Math.max(maxX, out); - } - - final Snake s = new Snake(arrowColor); - s.goUnmergeable(); - final double height = totalDim.getHeight(); - s.addPoint(minX, height); - s.addPoint(maxX, height); - ug.draw(s); - } - } - - @Override - public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { - if (child == tile2) { - return getTranslate2(stringBounder); - } - if (tiles.contains(child)) { - return getTranslate1(child, stringBounder); - } - throw new UnsupportedOperationException(); - } - - private UTranslate getTranslate2(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - final Dimension2D dim2 = tile2.calculateDimension(stringBounder); - - final double x2 = dimTotal.getWidth() - dim2.getWidth(); - - final double h = getAllDiamondsHeight(stringBounder); - final double y2 = (dimTotal.getHeight() - h * 2 - dim2.getHeight()) / 2 + h; - - return new UTranslate(x2, y2); - - } - - private UTranslate getTranslateDiamond1(Ftile diamond1, StringBounder stringBounder) { - double x1 = 0; - - for (Ftile diamond : diamonds) { - final FtileGeometry dim1 = dimDiamondAndTile(stringBounder, diamond); - if (diamond == diamond1) { - final FtileGeometry dimDiamond = diamond.calculateDimension(stringBounder); - double xresult = x1 + dim1.getLeft() - dimDiamond.getLeft(); - return new UTranslate(xresult, 25); - } - x1 += dim1.getWidth() + xSeparation; - } - throw new IllegalArgumentException(); - - } - - private UTranslate getTranslate1(Ftile tile1, StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - double x1 = 0; - - for (Ftile tile : tiles) { - final Dimension2D dim1 = dimDiamondAndTile(stringBounder, tile); - if (tile == tile1) { - final Dimension2D dimTile = tile.calculateDimension(stringBounder); - final double h = getAllDiamondsHeight(stringBounder); - final double y1 = (dimTotal.getHeight() - 2 * h - dimTile.getHeight()) / 2 + h; - return new UTranslate(x1 + (dim1.getWidth() - dimTile.getWidth()) / 2, y1); - } - x1 += dim1.getWidth() + xSeparation; - } - throw new IllegalArgumentException(); - - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - for (Ftile tile : tiles) { - ug.apply(getTranslate1(tile, stringBounder)).draw(tile); - } - for (Ftile diamond : diamonds) { - ug.apply(getTranslateDiamond1(diamond, stringBounder)).draw(diamond); - } - - ug.apply(getTranslate2(stringBounder)).draw(tile2); - } - - public FtileGeometry calculateDimension(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - - final List all = new ArrayList(tiles); - all.add(tile2); - for (Ftile tmp : all) { - if (tmp.calculateDimension(stringBounder).hasPointOut()) { - return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); - } - } - return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0); - - } - - private FtileGeometry dimDiamondAndTile(StringBounder stringBounder, Ftile tileOrDiamond) { - for (int i = 0; i < tiles.size(); i++) { - final Ftile tile = tiles.get(i); - final Ftile diamond = diamonds.get(i); - if (tile != tileOrDiamond && diamond != tileOrDiamond) { - continue; - } - final FtileGeometry dimTile = tile.calculateDimension(stringBounder); - final FtileGeometry dimDiamond = diamond.calculateDimension(stringBounder); - return dimDiamond.appendBottom(dimTile); - } - throw new UnsupportedOperationException(); - - } - - private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { - Dimension2D dimOnlyTiles = new Dimension2DDouble(0, 0); - Dimension2D dimOnlyDiamond = new Dimension2DDouble(0, 0); - Dimension2D dimBoth = new Dimension2DDouble(0, 0); - for (int i = 0; i < tiles.size(); i++) { - final Ftile tile = tiles.get(i); - final Ftile diamond = diamonds.get(i); - final FtileGeometry dimTile = tile.calculateDimension(stringBounder); - final FtileGeometry dimDiamond = diamond.calculateDimension(stringBounder); - final FtileGeometry both = dimDiamond.appendBottom(dimTile); - dimOnlyTiles = Dimension2DDouble.mergeLR(dimOnlyTiles, dimTile); - dimOnlyDiamond = Dimension2DDouble.mergeLR(dimOnlyDiamond, dimDiamond); - dimBoth = Dimension2DDouble.mergeLR(dimBoth, both); - } - final FtileGeometry dimTile2 = tile2.calculateDimension(stringBounder); - dimOnlyTiles = Dimension2DDouble.mergeLR(dimOnlyTiles, dimTile2); - dimBoth = Dimension2DDouble.mergeLR(dimBoth, dimTile2); - - final Dimension2D result = new Dimension2DDouble(dimBoth.getWidth(), dimOnlyDiamond.getHeight() * 4 - + dimOnlyTiles.getHeight()); - return Dimension2DDouble.delta(result, xSeparation * tiles.size(), 40); - } - - private double getAllDiamondsHeight(StringBounder stringBounder) { - Dimension2D dimOnlyDiamond = new Dimension2DDouble(0, 0); - for (Ftile diamond : diamonds) { - final Dimension2D dimDiamond = diamond.calculateDimension(stringBounder); - dimOnlyDiamond = Dimension2DDouble.mergeLR(dimOnlyDiamond, dimDiamond); - } - return dimOnlyDiamond.getHeight(); - } - -} diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongVertical.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongVertical.java new file mode 100644 index 000000000..3e58c2962 --- /dev/null +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfLongVertical.java @@ -0,0 +1,586 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * Original Author: Arnaud Roques + * + * Revision $Revision: 8475 $ + * + */ +package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; + +import java.awt.geom.Dimension2D; +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import net.sourceforge.plantuml.Dimension2DDouble; +import net.sourceforge.plantuml.activitydiagram3.Branch; +import net.sourceforge.plantuml.activitydiagram3.LinkRendering; +import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; +import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; +import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; +import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; +import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileOverpassing; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; +import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; +import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; +import net.sourceforge.plantuml.activitydiagram3.ftile.vcompact.cond.FtileIfWithLinks; +import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; +import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside3; +import net.sourceforge.plantuml.graphic.FontConfiguration; +import net.sourceforge.plantuml.graphic.HorizontalAlignment; +import net.sourceforge.plantuml.graphic.HtmlColor; +import net.sourceforge.plantuml.graphic.StringBounder; +import net.sourceforge.plantuml.graphic.TextBlock; +import net.sourceforge.plantuml.svek.ConditionStyle; +import net.sourceforge.plantuml.ugraphic.UGraphic; +import net.sourceforge.plantuml.ugraphic.UTranslate; + +class FtileIfLongVertical extends AbstractFtile { + + private final double ySeparation = 20; + + private final double marginy1 = 30; + + private final List tiles; + private final Ftile tile2; + private final List diamonds; + private final Ftile lastDiamond; + // private final List couples = new ArrayList(); + + private final HtmlColor arrowColor; + + private FtileIfLongVertical(List diamonds, List tiles, Ftile tile2, HtmlColor arrowColor, + Ftile lastDiamond) { + super(tiles.get(0).shadowing() || tile2.shadowing()); + if (diamonds.size() != tiles.size()) { + throw new IllegalArgumentException(); + } + this.lastDiamond = lastDiamond; + // for (int i = 0; i < diamonds.size(); i++) { + // couples.add(new FtileAssemblySimple(diamonds.get(i), tiles.get(i))); + // } + this.tile2 = tile2; + this.diamonds = new ArrayList(diamonds); + this.tiles = new ArrayList(tiles); + + this.arrowColor = arrowColor; + + } + + // private static List alignDiamonds(List diamonds, StringBounder stringBounder) { + // double maxOutY = 0; + // for (Ftile diamond : diamonds) { + // maxOutY = Math.max(maxOutY, diamond.calculateDimension(stringBounder).getOutY()); + // } + // final List result = new ArrayList(); + // for (int i = 0; i < diamonds.size(); i++) { + // Ftile diamond = diamonds.get(i); + // final double missing = maxOutY - diamond.calculateDimension(stringBounder).getOutY(); + // assert missing >= 0; + // diamond = FtileUtils.addVerticalMargin(diamond, missing / 2, 20); + // result.add(diamond); + // } + // return result; + // } + + public Set getSwimlanes() { + final Set result = new HashSet(); + if (getSwimlaneIn() != null) { + result.add(getSwimlaneIn()); + } + for (Ftile tile : tiles) { + result.addAll(tile.getSwimlanes()); + } + result.addAll(tile2.getSwimlanes()); + return Collections.unmodifiableSet(result); + } + + public Swimlane getSwimlaneIn() { + return tiles.get(0).getSwimlaneIn(); + } + + public Swimlane getSwimlaneOut() { + return getSwimlaneIn(); + } + + static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, HtmlColor arrowColor, + FtileFactory ftileFactory, ConditionStyle conditionStyle, List thens, Branch branch2, + FontConfiguration fc, LinkRendering topInlinkRendering, LinkRendering afterEndwhile) { + final List tiles = new ArrayList(); + + for (Branch branch : thens) { + tiles.add(new FtileMinWidth(branch.getFtile(), 30)); + } + + final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); + + List diamonds = new ArrayList(); + for (Branch branch : thens) { + final TextBlock tb1 = branch.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory); + final TextBlock tbTest = branch.getLabelTest().create(fc, HorizontalAlignment.LEFT, ftileFactory); + FtileDiamondInside3 diamond = new FtileDiamondInside3(branch.shadowing(), backColor, borderColor, swimlane, + tbTest); + diamond = diamond.withEast(tb1); + diamonds.add(diamond); + } + + final TextBlock tb2 = branch2.getLabelPositive().create(fc, HorizontalAlignment.LEFT, ftileFactory); + final int last = diamonds.size() - 1; + diamonds.set(last, ((FtileDiamondInside3) diamonds.get(last)).withSouth(tb2)); + + // diamonds = alignDiamonds(diamonds, ftileFactory.getStringBounder()); + + final Ftile lastDiamond = new FtileDiamond(tiles.get(0).shadowing(), backColor, borderColor, swimlane); + + final FtileIfLongVertical result = new FtileIfLongVertical(diamonds, tiles, tile2, arrowColor, lastDiamond); + + final List conns = new ArrayList(); + for (int i = 0; i < thens.size(); i++) { + final Ftile ftile = tiles.get(i); + final Ftile diam = diamonds.get(i); + + final HtmlColor color = FtileIfWithLinks.getInColor(thens.get(i), arrowColor); + conns.add(result.new ConnectionVerticalIn(diam, ftile, color == null ? arrowColor : color)); + // conns.add(result.new ConnectionVerticalOut(ftile, arrowColor)); + } + + for (int i = 0; i < diamonds.size() - 1; i++) { + conns.add(result.new ConnectionVertical(diamonds.get(i), diamonds.get(i + 1), arrowColor)); + } + conns.add(result.new ConnectionThenOut(tiles.get(0), arrowColor)); + for (int i = 1; i < tiles.size(); i++) { + conns.add(result.new ConnectionThenOutConnect(tiles.get(i), arrowColor)); + } + + final HtmlColor topInColor = LinkRendering.getColor(topInlinkRendering, arrowColor); + // for (int i = 0; i < diamonds.size() - 1; i++) { + // final Ftile diam1 = diamonds.get(i); + // final Ftile diam2 = diamonds.get(i + 1); + // conns.add(result.new ConnectionHorizontal(diam1, diam2, topInColor)); + // } + conns.add(result.new ConnectionIn(topInColor)); + // conns.add(result.new ConnectionLastElseIn(FtileIfWithLinks.getInColor(branch2, arrowColor))); + // conns.add(result.new ConnectionLastElseOut(arrowColor)); + // final HtmlColor horizontalOutColor = LinkRendering.getColor(afterEndwhile, arrowColor); + // conns.add(result.new ConnectionHline(horizontalOutColor)); + conns.add(result.new ConnectionLastElse(topInColor)); + conns.add(result.new ConnectionLastElseOut(arrowColor)); + + return FtileUtils.addConnection(result, conns); + } + + static private double getYdiamontOutToLeft(FtileGeometry dimDiamond1, StringBounder stringBounder) { + return (dimDiamond1.getInY() + dimDiamond1.getOutY()) / 2; + } + + class ConnectionIn extends AbstractConnection { + + private final HtmlColor arrowColor; + + public ConnectionIn(HtmlColor arrowColor) { + super(null, diamonds.get(0)); + this.arrowColor = arrowColor; + } + + public void drawU(UGraphic ug) { + final UTranslate tr = getTranslateDiamond(getFtile2(), ug.getStringBounder()); + final Point2D p2 = tr.getTranslated(getFtile2().calculateDimension(ug.getStringBounder()).getPointIn()); + final Snake snake = new Snake(arrowColor, Arrows.asToDown()); + final Point2D p1 = calculateDimensionInternal(ug.getStringBounder()).getPointIn(); + + snake.addPoint(p1); + snake.addPoint(p1.getX(), (p1.getY() + p2.getY()) / 2); + snake.addPoint(p2.getX(), (p1.getY() + p2.getY()) / 2); + snake.addPoint(p2); + ug.draw(snake); + } + + } + + class ConnectionVerticalIn extends AbstractConnection { + + private final HtmlColor color; + + public ConnectionVerticalIn(Ftile diamond, Ftile tile, HtmlColor color) { + super(diamond, tile); + this.color = color; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final Point2D p1 = getP1(stringBounder); + final Point2D p2 = getP2(stringBounder); + + final Snake snake = new Snake(color, Arrows.asToDown()); + snake.addPoint(p1); + snake.addPoint(p2.getX(), p1.getY()); + snake.addPoint(p2); + ug.draw(snake); + } + + private Point2D getP1(StringBounder stringBounder) { + final Dimension2D dimDiamond1 = getFtile1().calculateDimension(stringBounder); + final double diamondWidth = dimDiamond1.getWidth(); + return getTranslateDiamond(getFtile1(), stringBounder).getTranslated( + new Point2D.Double(diamondWidth, dimDiamond1.getHeight() / 2)); + } + + private Point2D getP2(StringBounder stringBounder) { + final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); + return getTranslate1(getFtile2(), stringBounder).getTranslated(p); + } + + } + + class ConnectionVertical extends AbstractConnection { + + private final HtmlColor color; + + public ConnectionVertical(Ftile diamond1, Ftile diamond2, HtmlColor color) { + super(diamond1, diamond2); + this.color = color; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final Point2D p1 = getP1(stringBounder); + final Point2D p2 = getP2(stringBounder); + + final Snake snake = new Snake(color, Arrows.asToDown()); + snake.addPoint(p1); + snake.addPoint(p2); + ug.draw(snake); + } + + private Point2D getP1(StringBounder stringBounder) { + final Point2D p = getFtile1().calculateDimension(stringBounder).getPointOut(); + return getTranslateFor(getFtile1(), stringBounder).getTranslated(p); + } + + private Point2D getP2(StringBounder stringBounder) { + final Point2D p = getFtile2().calculateDimension(stringBounder).getPointIn(); + return getTranslateFor(getFtile2(), stringBounder).getTranslated(p); + } + + } + + class ConnectionLastElse extends AbstractConnection { + + private final HtmlColor arrowColor; + + public ConnectionLastElse(HtmlColor arrowColor) { + super(diamonds.get(diamonds.size() - 1), tile2); + this.arrowColor = arrowColor; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final UTranslate tr1 = getTranslateDiamond(getFtile1(), stringBounder); + final FtileGeometry dimDiamond = getFtile1().calculateDimension(stringBounder); + final Point2D p1 = tr1.getTranslated(dimDiamond.getPointOut()); + + final Point2D p2 = getTranslate2(stringBounder).getTranslated( + getFtile2().calculateDimension(stringBounder).getPointIn()); + + final Snake snake = new Snake(arrowColor, Arrows.asToDown()); + snake.addPoint(p1); + snake.addPoint(p1.getX(), p2.getY() - 15); + snake.addPoint(p2.getX(), p2.getY() - 15); + snake.addPoint(p2); + ug.draw(snake); + } + + } + + class ConnectionLastElseOut extends AbstractConnection { + + private final HtmlColor arrowColor; + + public ConnectionLastElseOut(HtmlColor arrowColor) { + super(tile2, lastDiamond); + this.arrowColor = arrowColor; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); + if (dim1.hasPointOut() == false) { + return; + } + final Point2D p1 = getTranslate2(stringBounder).getTranslated(dim1.getPointOut()); + final Point2D p2 = getTranslateLastDiamond(stringBounder).getTranslated( + getFtile2().calculateDimension(stringBounder).getPointIn()); + + final Snake snake = new Snake(arrowColor, Arrows.asToDown()); + snake.addPoint(p1); + snake.addPoint(p1.getX(), p2.getY() - 15); + snake.addPoint(p2.getX(), p2.getY() - 15); + snake.addPoint(p2); + ug.draw(snake); + } + + } + + class ConnectionThenOut extends AbstractConnection { + + private final HtmlColor arrowColor; + + public ConnectionThenOut(Ftile tile1, HtmlColor arrowColor) { + super(tile1, lastDiamond); + this.arrowColor = arrowColor; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); + if (dim1.hasPointOut() == false) { + return; + } + final Point2D p1 = getTranslate1(getFtile1(), stringBounder).getTranslated(dim1.getPointOut()); + + final FtileGeometry dimLastDiamond = getFtile2().calculateDimension(stringBounder); + Point2D p2 = getTranslateLastDiamond(stringBounder).getTranslated( + getFtile2().calculateDimension(stringBounder).getPointIn()); + p2 = new UTranslate(dimLastDiamond.getWidth() / 2, dimLastDiamond.getHeight() / 2).getTranslated(p2); + + final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); + + final Snake snake = new Snake(arrowColor, Arrows.asToLeft()); + snake.addPoint(p1); + snake.addPoint(p1.getX(), p1.getY() + 15); + snake.addPoint(dimTotal.getWidth(), p1.getY() + 15); + snake.addPoint(dimTotal.getWidth(), p2.getY()); + snake.addPoint(p2); + ug.draw(snake); + } + } + + class ConnectionThenOutConnect extends AbstractConnection { + + private final HtmlColor arrowColor; + + public ConnectionThenOutConnect(Ftile tile1, HtmlColor arrowColor) { + super(tile1, lastDiamond); + this.arrowColor = arrowColor; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final FtileGeometry dim1 = getFtile1().calculateDimension(stringBounder); + if (dim1.hasPointOut() == false) { + return; + } + final Point2D p1 = getTranslate1(getFtile1(), stringBounder).getTranslated(dim1.getPointOut()); + + final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); + + final Point2D p2 = new Point2D.Double(dimTotal.getWidth(), p1.getY() + 15); + + final Snake snake = new Snake(arrowColor, Arrows.asToRight()); + snake.addPoint(p1); + snake.addPoint(p1.getX(), p2.getY()); + snake.addPoint(p2); + ug.draw(snake); + } + + } + + @Override + public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { + if (child == tile2) { + return getTranslate2(stringBounder); + } + if (child == lastDiamond) { + return getTranslateLastDiamond(stringBounder); + } + if (tiles.contains(child)) { + return getTranslate1(child, stringBounder); + } + if (diamonds.contains(child)) { + return getTranslateDiamond(child, stringBounder); + } + throw new UnsupportedOperationException(); + } + + private UTranslate getTranslateDiamond(Ftile diamond, StringBounder stringBounder) { + final double allDiamondsWidth = allDiamondsWidth(stringBounder); + + final int idx = diamonds.indexOf(diamond); + if (idx == -1) { + throw new IllegalArgumentException(); + } + final double y1 = getTranslateDy(idx, stringBounder); + return new UTranslate((allDiamondsWidth - diamond.calculateDimension(stringBounder).getWidth()) / 2, y1); + } + + private UTranslate getTranslateLastDiamond(StringBounder stringBounder) { + final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); + final FtileGeometry dimLast = lastDiamond.calculateDimension(stringBounder); + final double x = (dimTotal.getWidth() - dimLast.getWidth()) / 2; + return new UTranslate(x, dimTotal.getHeight() - dimLast.getHeight()); + } + + private UTranslate getTranslate1(Ftile candidat, StringBounder stringBounder) { + final int idx = tiles.indexOf(candidat); + if (idx == -1) { + throw new IllegalArgumentException(); + } + final double y1 = getTranslateDy(idx, stringBounder); + final FtileGeometry diam = diamonds.get(idx).calculateDimension(stringBounder); + final FtileGeometry dim1 = candidat.calculateDimension(stringBounder); + final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); + final double allDiamondsWidth = allDiamondsWidth(stringBounder); + final double x = allDiamondsWidth + (dimTotal.getWidth() - allDiamondsWidth - dim1.getWidth()) / 2; + return new UTranslate(x, y1 + diam.getHeight()); + } + + private double getTranslateDy(int idx, StringBounder stringBounder) { + double y1 = marginy1; + + for (int i = 0; i < idx; i++) { + final FtileGeometry dim1 = tiles.get(i).calculateDimension(stringBounder); + final FtileGeometry diam = diamonds.get(i).calculateDimension(stringBounder); + y1 += dim1.getHeight() + diam.getHeight() + ySeparation; + } + return y1; + } + + private UTranslate getTranslate2(StringBounder stringBounder) { + final double y1 = getTranslateDy(tiles.size(), stringBounder); + final FtileGeometry dim2 = tile2.calculateDimension(stringBounder); + final FtileGeometry dimTotal = calculateDimensionInternal(stringBounder); + final double x = (dimTotal.getWidth() - dim2.getWidth()) / 2; + return new UTranslate(x, y1); + + // final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); + // final Dimension2D dim2 = tile2.calculateDimension(stringBounder); + // + // final double x2 = dimTotal.getWidth() - dim2.getWidth(); + // + // final double h = 0; // getAllDiamondsHeight(stringBounder); + // final double y2 = (dimTotal.getHeight() - h * 2 - dim2.getHeight()) / 2 + h; + // + // return new UTranslate(x2, y2); + + } + + // private UTranslate getTranslateCouple1(Ftile candidat, StringBounder stringBounder) { + // double x1 = 0; + // + // for (Ftile couple : couples) { + // final FtileGeometry dim1 = couple.calculateDimension(stringBounder); + // if (couple == candidat) { + // return new UTranslate(x1, 25); + // } + // x1 += dim1.getWidth() + xSeparation; + // } + // throw new IllegalArgumentException(); + // + // } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + for (Ftile tile1 : tiles) { + ug.apply(getTranslate1(tile1, stringBounder)).draw(tile1); + } + for (Ftile diam : diamonds) { + ug.apply(getTranslateDiamond(diam, stringBounder)).draw(diam); + } + + ug.apply(getTranslate2(stringBounder)).draw(tile2); + ug.apply(getTranslateLastDiamond(stringBounder)).draw(lastDiamond); + } + + private FtileGeometry calculateDimensionInternal(StringBounder stringBounder) { + // FtileGeometry result = new FtileGeometry(0, marginy1, 0, 0); + double col1 = 0; + double col1overpass = 0; + double col2 = 0; + double height = marginy1; + for (int i = 0; i < tiles.size(); i++) { + final FtileGeometry dim1 = tiles.get(i).calculateDimension(stringBounder); + final FtileGeometry diamondOverpassing = ((FtileOverpassing) diamonds.get(i)) + .getOverpassDimension(stringBounder); + final FtileGeometry diamondDim = diamonds.get(i).calculateDimension(stringBounder); + + height += diamondDim.getHeight() + dim1.getHeight(); + col1 = Math.max(col1, diamondDim.getWidth()); + col1overpass = Math.max(col1overpass, diamondOverpassing.getWidth()); + col2 = Math.max(col2, dim1.getWidth()); + } + final double width = Math.max(col1 + col2, col1overpass); + FtileGeometry result = new FtileGeometry(width, height, width / 2, 0); + + final FtileGeometry dimTile2 = tile2.calculateDimension(stringBounder); + result = result.appendBottom(dimTile2); + final FtileGeometry dimLastDiamond = lastDiamond.calculateDimension(stringBounder); + final double lastElseArrowHeight = 40; + result = result.addDim(0, ySeparation * tiles.size() + lastElseArrowHeight + dimLastDiamond.getHeight()); + + return new FtileGeometry(result, result.getWidth() / 2, 0); + } + + private double allDiamondsWidth(StringBounder stringBounder) { + double width = 0; + for (Ftile diam : diamonds) { + width = Math.max(width, diam.calculateDimension(stringBounder).getWidth()); + } + return width; + } + + private double allTile1Width(StringBounder stringBounder) { + double width = 0; + for (Ftile tile1 : tiles) { + width = Math.max(width, tile1.calculateDimension(stringBounder).getWidth()); + } + return width; + } + + public FtileGeometry calculateDimension(StringBounder stringBounder) { + final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); + + final List all = new ArrayList(tiles); + all.add(tile2); + for (Ftile tmp : all) { + if (tmp.calculateDimension(stringBounder).hasPointOut()) { + return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0, dimTotal.getHeight()); + } + } + return new FtileGeometry(dimTotal, dimTotal.getWidth() / 2, 0); + + } + +} diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfOrigin.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfOrigin.java deleted file mode 100644 index 89e501cef..000000000 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileIfOrigin.java +++ /dev/null @@ -1,594 +0,0 @@ -/* ======================================================================== - * PlantUML : a free UML diagram generator - * ======================================================================== - * - * (C) Copyright 2009-2014, Arnaud Roques - * - * Project Info: http://plantuml.sourceforge.net - * - * This file is part of PlantUML. - * - * PlantUML is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * PlantUML distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - * USA. - * - * [Java is a trademark or registered trademark of Sun Microsystems, Inc. - * in the United States and other countries.] - * - * Original Author: Arnaud Roques - * - * Revision $Revision: 8475 $ - * - */ -package net.sourceforge.plantuml.activitydiagram3.ftile.vcompact; - -import java.awt.geom.Dimension2D; -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import net.sourceforge.plantuml.Dimension2DDouble; -import net.sourceforge.plantuml.Direction; -import net.sourceforge.plantuml.FontParam; -import net.sourceforge.plantuml.ISkinParam; -import net.sourceforge.plantuml.activitydiagram3.Branch; -import net.sourceforge.plantuml.activitydiagram3.LinkRendering; -import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractConnection; -import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; -import net.sourceforge.plantuml.activitydiagram3.ftile.Arrows; -import net.sourceforge.plantuml.activitydiagram3.ftile.Connection; -import net.sourceforge.plantuml.activitydiagram3.ftile.ConnectionTranslatable; -import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; -import net.sourceforge.plantuml.activitydiagram3.ftile.Ftile; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileEmpty; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileFactory; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileMinWidth; -import net.sourceforge.plantuml.activitydiagram3.ftile.FtileUtils; -import net.sourceforge.plantuml.activitydiagram3.ftile.Snake; -import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; -import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamond; -import net.sourceforge.plantuml.activitydiagram3.ftile.vertical.FtileDiamondInside; -import net.sourceforge.plantuml.creole.CreoleMode; -import net.sourceforge.plantuml.creole.CreoleParser; -import net.sourceforge.plantuml.creole.Sheet; -import net.sourceforge.plantuml.creole.SheetBlock1; -import net.sourceforge.plantuml.creole.SheetBlock2; -import net.sourceforge.plantuml.cucadiagram.Display; -import net.sourceforge.plantuml.graphic.FontConfiguration; -import net.sourceforge.plantuml.graphic.HorizontalAlignment; -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.svek.ConditionStyle; -import net.sourceforge.plantuml.ugraphic.UFont; -import net.sourceforge.plantuml.ugraphic.UGraphic; -import net.sourceforge.plantuml.ugraphic.UPolygon; -import net.sourceforge.plantuml.ugraphic.UStroke; -import net.sourceforge.plantuml.ugraphic.UTranslate; - -class FtileIfOrigin extends AbstractFtile { - - private final Ftile tile1; - private final Ftile tile2; - private final Ftile diamond1; - private final Ftile diamond2; - - private final HtmlColor arrowColor; - - private FtileIfOrigin(Ftile diamond1, Ftile tile1, Ftile tile2, Ftile diamond2, HtmlColor arrowColor) { - super(tile1.shadowing() || tile2.shadowing()); - this.diamond1 = diamond1; - this.diamond2 = diamond2; - this.tile1 = tile1; - this.tile2 = tile2; - - this.arrowColor = arrowColor; - - } - - public Set getSwimlanes() { - final Set result = new HashSet(); - if (getSwimlaneIn() != null) { - result.add(getSwimlaneIn()); - } - result.addAll(tile1.getSwimlanes()); - result.addAll(tile2.getSwimlanes()); - return Collections.unmodifiableSet(result); - } - - public Swimlane getSwimlaneIn() { - return diamond1.getSwimlaneIn(); - } - - public Swimlane getSwimlaneOut() { - return getSwimlaneIn(); - } - - static Ftile create(Swimlane swimlane, HtmlColor borderColor, HtmlColor backColor, HtmlColor arrowColor, - FtileFactory ftileFactory, ConditionStyle conditionStyle, Branch branch1, Branch branch2, - ISkinParam skinParam, StringBounder stringBounder, FontConfiguration fcArrow, FontConfiguration fcTest) { - - final Display labelTest = branch1.getLabelTest(); - // if (branch1.isOnlySingleStop() || branch2.isOnlySingleStop()) { - // final Branch nonStop = branch1.isOnlySingleStop() ? branch2 : branch1; - // return FtileIfAndStop.create(swimlane, borderColor, backColor, fontArrow, fontTest, arrowColor, - // ftileFactory, conditionStyle, nonStop, skinParam, stringBounder, labelTest); - // } - - final Ftile tile1 = new FtileMinWidth(branch1.getFtile(), 30); - final Ftile tile2 = new FtileMinWidth(branch2.getFtile(), 30); - - // final FontConfiguration fcArrow = new FontConfiguration(fontArrow, fontColor, skinParam.getHyperlinkColor(), - // skinParam.useUnderlineForHyperlink()); - // final FontConfiguration fcTest = new FontConfiguration(fontTest, fontColor, skinParam.getHyperlinkColor(), - // skinParam.useUnderlineForHyperlink()); - - final TextBlock tb1 = branch1.getLabelPositive().create(fcArrow, HorizontalAlignment.LEFT, ftileFactory, - CreoleMode.SIMPLE_LINE); - final TextBlock tb2 = branch2.getLabelPositive().create(fcArrow, HorizontalAlignment.LEFT, ftileFactory, - CreoleMode.SIMPLE_LINE); - - final Sheet sheet = new CreoleParser(fcTest, HorizontalAlignment.LEFT, skinParam, CreoleMode.FULL) - .createSheet(labelTest); - final SheetBlock1 sheetBlock1 = new SheetBlock1(sheet, 0, skinParam.getPadding()); - final TextBlock tbTest = new SheetBlock2(sheetBlock1, Diamond.asStencil(sheetBlock1), new UStroke(1.5)); - - final Ftile diamond1; - if (conditionStyle == ConditionStyle.INSIDE) { - diamond1 = new FtileDiamondInside(tile1.shadowing(), backColor, borderColor, swimlane, tbTest) - .withWest(tb1).withEast(tb2); - } else if (conditionStyle == ConditionStyle.DIAMOND) { - diamond1 = new FtileDiamond(tile1.shadowing(), backColor, borderColor, swimlane).withWest(tb1) - .withEast(tb2).withNorth(tbTest); - } else { - throw new IllegalStateException(); - } - - final Ftile diamond2; - if (tile1.calculateDimension(stringBounder).hasPointOut() - && tile2.calculateDimension(stringBounder).hasPointOut()) { - final Display out1 = LinkRendering.getDisplay(branch1.getFtile().getOutLinkRendering()); - final TextBlock tbout1 = out1 == null ? null : out1.create(fcArrow, HorizontalAlignment.LEFT, ftileFactory, - CreoleMode.SIMPLE_LINE); - final Display out2 = LinkRendering.getDisplay(branch2.getFtile().getOutLinkRendering()); - final TextBlock tbout2 = out2 == null ? null : out2.create(fcArrow, HorizontalAlignment.LEFT, ftileFactory, - CreoleMode.SIMPLE_LINE); - diamond2 = new FtileDiamond(tile1.shadowing(), backColor, borderColor, swimlane).withWest(tbout1).withEast( - tbout2); - } else { - diamond2 = new FtileEmpty(tile1.shadowing(), Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2, - swimlane, swimlane); - } - final FtileIfOrigin result = new FtileIfOrigin(diamond1, tile1, tile2, diamond2, arrowColor); - - final List conns = new ArrayList(); - conns.add(result.new ConnectionHorizontalThenVertical(tile1, branch1)); - conns.add(result.new ConnectionHorizontalThenVertical(tile2, branch2)); - if (tile1.calculateDimension(stringBounder).hasPointOut() - && tile2.calculateDimension(stringBounder).hasPointOut()) { - conns.add(result.new ConnectionVerticalThenHorizontal(tile1, branch1.getInlinkRenderingColor(), branch1 - .isEmpty())); - conns.add(result.new ConnectionVerticalThenHorizontal(tile2, branch2.getInlinkRenderingColor(), branch2 - .isEmpty())); - } else if (tile1.calculateDimension(stringBounder).hasPointOut() - && tile2.calculateDimension(stringBounder).hasPointOut() == false) { - conns.add(result.new ConnectionVerticalThenHorizontalDirect(tile1, branch1.getInlinkRenderingColor(), - branch1.isEmpty())); - } else if (tile1.calculateDimension(stringBounder).hasPointOut() == false - && tile2.calculateDimension(stringBounder).hasPointOut()) { - conns.add(result.new ConnectionVerticalThenHorizontalDirect(tile2, branch2.getInlinkRenderingColor(), - branch2.isEmpty())); - } - // return result; - return FtileUtils.addConnection(result, conns); - } - - private HtmlColor getInColor(Branch branch) { - if (branch.isEmpty()) { - return LinkRendering.getColor(branch.getFtile().getOutLinkRendering(), arrowColor); - } - final LinkRendering linkIn = branch.getFtile().getInLinkRendering(); - final HtmlColor color = linkIn == null ? arrowColor : linkIn.getColor(); - return color; - - } - - class ConnectionHorizontalThenVertical extends AbstractConnection implements ConnectionTranslatable { - - private final HtmlColor color; - private final UPolygon usingArrow; - - public ConnectionHorizontalThenVertical(Ftile tile, Branch branch) { - super(diamond1, tile); - color = getInColor(branch); - usingArrow = branch.isEmpty() ? null : Arrows.asToDown(); - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - final Point2D p1 = getP1(stringBounder); - final Point2D p2 = getP2(stringBounder); - final double x1 = p1.getX(); - final double y1 = p1.getY(); - final double x2 = p2.getX(); - final double y2 = p2.getY(); - - final Snake snake = new Snake(color, usingArrow); - snake.addPoint(x1, y1); - snake.addPoint(x2, y1); - snake.addPoint(x2, y2); - - ug.draw(snake); - } - - public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { - final StringBounder stringBounder = ug.getStringBounder(); - Point2D p1 = getP1(stringBounder); - Point2D p2 = getP2(stringBounder); - final Direction originalDirection = Direction.leftOrRight(p1, p2); - p1 = translate1.getTranslated(p1); - p2 = translate2.getTranslated(p2); - final Direction newDirection = Direction.leftOrRight(p1, p2); - if (originalDirection != newDirection) { - final double delta = (originalDirection == Direction.RIGHT ? -1 : 1) * Diamond.diamondHalfSize; - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - final Snake small = new Snake(color); - small.addPoint(p1); - small.addPoint(p1.getX() + delta, p1.getY()); - small.addPoint(p1.getX() + delta, p1.getY() + dimDiamond1.getHeight() * .75); - ug.draw(small); - p1 = small.getLast(); - } - final Snake snake = new Snake(color, usingArrow); - snake.addPoint(p1); - snake.addPoint(p2.getX(), p1.getY()); - snake.addPoint(p2); - ug.draw(snake); - - } - - private Point2D getP1(StringBounder stringBounder) { - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - final double diamondWidth = dimDiamond1.getWidth(); - final double x; - if (getFtile2() == tile1) { - x = 0; - } else if (getFtile2() == tile2) { - x = diamondWidth; - } else { - throw new IllegalStateException(); - } - return getTranslateDiamond1(stringBounder) - .getTranslated(new Point2D.Double(x, dimDiamond1.getHeight() / 2)); - } - - private Point2D getP2(final StringBounder stringBounder) { - return translate(stringBounder).getTranslated(getFtile2().calculateDimension(stringBounder).getPointIn()); - } - - private UTranslate translate(StringBounder stringBounder) { - if (getFtile2() == tile1) { - return getTranslate1(stringBounder); - } - if (getFtile2() == tile2) { - return getTranslate2(stringBounder); - } - throw new IllegalStateException(); - } - } - - class ConnectionVerticalThenHorizontal extends AbstractConnection implements ConnectionTranslatable { - private final HtmlColor myArrowColor; - private final boolean branchEmpty; - - public ConnectionVerticalThenHorizontal(Ftile tile, HtmlColor myArrowColor, boolean branchEmpty) { - super(tile, diamond2); - this.myArrowColor = myArrowColor == null ? arrowColor : myArrowColor; - this.branchEmpty = branchEmpty; - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - - final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); - if (geo.hasPointOut() == false) { - return; - } - final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); - final Point2D p2 = getP2(stringBounder); - - final double x1 = p1.getX(); - final double y1 = p1.getY(); - final double x2 = p2.getX(); - final double y2 = p2.getY(); - - final UPolygon arrow = x2 > x1 ? Arrows.asToRight() : Arrows.asToLeft(); - final Snake snake = new Snake(myArrowColor, arrow); - if (branchEmpty) { - snake.emphasizeDirection(Direction.DOWN); - } - snake.addPoint(x1, y1); - snake.addPoint(x1, y2); - snake.addPoint(x2, y2); - - ug.draw(snake); - } - - public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { - final StringBounder stringBounder = ug.getStringBounder(); - final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); - if (geo.hasPointOut() == false) { - return; - } - final Point2D p2 = getP2(stringBounder); - final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); - final Direction originalDirection = Direction.leftOrRight(p1, p2); - - final double x1 = p1.getX(); - final double x2 = p2.getX(); - final Point2D mp1a = translate1.getTranslated(p1); - final Point2D mp2b = translate2.getTranslated(p2); - final Direction newDirection = Direction.leftOrRight(mp1a, mp2b); - final UPolygon arrow = x2 > x1 ? Arrows.asToRight() : Arrows.asToLeft(); - if (originalDirection == newDirection) { - final double delta = (x2 > x1 ? -1 : 1) * 1.5 * Diamond.diamondHalfSize; - final Point2D mp2bc = new Point2D.Double(mp2b.getX() + delta, mp2b.getY()); - final Snake snake = new Snake(myArrowColor); - final double middle = (mp1a.getY() + mp2b.getY()) / 2.0; - snake.addPoint(mp1a); - snake.addPoint(mp1a.getX(), middle); - snake.addPoint(mp2bc.getX(), middle); - snake.addPoint(mp2bc); - ug.draw(snake); - final Snake small = new Snake(myArrowColor, arrow); - small.addPoint(mp2bc); - small.addPoint(mp2bc.getX(), mp2b.getY()); - small.addPoint(mp2b); - ug.draw(small); - } else { - final double delta = (x2 > x1 ? -1 : 1) * 1.5 * Diamond.diamondHalfSize; - final Point2D mp2bb = new Point2D.Double(mp2b.getX() + delta, mp2b.getY() - 3 * Diamond.diamondHalfSize); - final Snake snake = new Snake(myArrowColor); - snake.addPoint(mp1a); - snake.addPoint(mp1a.getX(), mp2bb.getY()); - snake.addPoint(mp2bb); - ug.draw(snake); - final Snake small = new Snake(myArrowColor, arrow); - small.addPoint(mp2bb); - small.addPoint(mp2bb.getX(), mp2b.getY()); - small.addPoint(mp2b); - ug.draw(small); - - } - - } - - private Point2D getP2(StringBounder stringBounder) { - final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); - final double diamondWidth = dimDiamond2.getWidth(); - final double x; - if (getFtile1() == tile1) { - x = 0; - } else if (getFtile1() == tile2) { - x = diamondWidth; - } else { - throw new IllegalStateException(); - } - return getTranslateDiamond2(stringBounder) - .getTranslated(new Point2D.Double(x, dimDiamond2.getHeight() / 2)); - } - - private UTranslate translate(StringBounder stringBounder) { - if (getFtile1() == tile1) { - return getTranslate1(stringBounder); - } - if (getFtile1() == tile2) { - return getTranslate2(stringBounder); - } - throw new IllegalStateException(); - } - } - - class ConnectionVerticalThenHorizontalDirect extends AbstractConnection implements ConnectionTranslatable { - private final HtmlColor myArrowColor; - private final boolean branchEmpty; - - public ConnectionVerticalThenHorizontalDirect(Ftile tile, HtmlColor myArrowColor, boolean branchEmpty) { - super(tile, diamond2); - this.myArrowColor = myArrowColor == null ? arrowColor : myArrowColor; - this.branchEmpty = branchEmpty; - } - - public void drawU(UGraphic ug) { - - final StringBounder stringBounder = ug.getStringBounder(); - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - - final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); - if (geo.hasPointOut() == false) { - return; - } - final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); - final Point2D p2 = new Point2D.Double(getLeft(stringBounder), dimTotal.getHeight() - - Diamond.diamondHalfSize); - - final double x1 = p1.getX(); - final double y1 = p1.getY(); - final double x2 = p2.getX(); - final double y2 = p2.getY(); - - final Snake snake = new Snake(myArrowColor); - if (branchEmpty) { - snake.emphasizeDirection(Direction.DOWN); - } - snake.addPoint(x1, y1); - snake.addPoint(x1, y2); - snake.addPoint(x2, y2); - snake.addPoint(x2, dimTotal.getHeight()); - - ug.draw(snake); - } - - private UTranslate translate(StringBounder stringBounder) { - if (getFtile1() == tile1) { - return getTranslate1(stringBounder); - } - if (getFtile1() == tile2) { - return getTranslate2(stringBounder); - } - throw new IllegalStateException(); - } - - public void drawTranslate(UGraphic ug, UTranslate translate1, UTranslate translate2) { - final StringBounder stringBounder = ug.getStringBounder(); - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - - final FtileGeometry geo = getFtile1().calculateDimension(stringBounder); - if (geo.hasPointOut() == false) { - return; - } - final Point2D p1 = geo.translate(translate(stringBounder)).getPointOut(); - final Point2D p2 = new Point2D.Double(getLeft(stringBounder), dimTotal.getHeight() - - Diamond.diamondHalfSize); - - final Point2D mp1a = translate1.getTranslated(p1); - final Point2D mp2b = translate2.getTranslated(p2); - - final Snake snake = new Snake(myArrowColor); - // snake.emphasizeDirection(Direction.DOWN); - - final double x1 = mp1a.getX(); - final double x2 = mp2b.getX(); - final double y2 = mp2b.getY(); - - snake.addPoint(mp1a); - snake.addPoint(x1, y2); - snake.addPoint(mp2b); - snake.addPoint(x2, dimTotal.getHeight()); - - ug.draw(snake); - } - } - - private UTranslate getTranslate1(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - final Dimension2D dim1 = tile1.calculateDimension(stringBounder); - - final double x1 = 0; - final double h = dimDiamond1.getHeight(); - // final double y1 = (dimTotal.getHeight() - 2 * h - dim1.getHeight()) / 2 + h; - final double y1 = h * 1.9; - return new UTranslate(x1, y1); - } - - private UTranslate getTranslate2(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - final Dimension2D dim2 = tile2.calculateDimension(stringBounder); - - final double x2 = dimTotal.getWidth() - dim2.getWidth(); - final double h = dimDiamond1.getHeight(); - // final double y2 = (dimTotal.getHeight() - 2 * h - dim2.getHeight()) / 2 + h; - final double y2 = h * 1.9; - return new UTranslate(x2, y2); - - } - - private UTranslate getTranslateDiamond1(StringBounder stringBounder) { - final double y1 = 0; - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - final double x1 = getLeft(stringBounder) - dimDiamond1.getWidth() / 2; - return new UTranslate(x1, y1); - } - - private UTranslate getTranslateDiamond2(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - final Dimension2D dimDiamond2 = diamond2.calculateDimension(stringBounder); - final double y2 = dimTotal.getHeight() - dimDiamond2.getHeight(); - final double x2 = getLeft(stringBounder) - dimDiamond2.getWidth() / 2; - return new UTranslate(x2, y2); - } - - @Override - public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { - if (child == diamond1) { - return getTranslateDiamond1(stringBounder); - } - if (child == tile1) { - return getTranslate1(stringBounder); - } - if (child == tile2) { - return getTranslate2(stringBounder); - } - if (child == diamond2) { - return getTranslateDiamond2(stringBounder); - } - throw new UnsupportedOperationException(); - } - - public void drawU(UGraphic ug) { - final StringBounder stringBounder = ug.getStringBounder(); - - ug.apply(getTranslateDiamond1(stringBounder)).draw(diamond1); - ug.apply(getTranslate1(stringBounder)).draw(tile1); - ug.apply(getTranslate2(stringBounder)).draw(tile2); - ug.apply(getTranslateDiamond2(stringBounder)).draw(diamond2); - } - - public FtileGeometry calculateDimension(StringBounder stringBounder) { - final Dimension2D dimTotal = calculateDimensionInternal(stringBounder); - if (tile1.calculateDimension(stringBounder).hasPointOut() - || tile2.calculateDimension(stringBounder).hasPointOut()) { - return new FtileGeometry(dimTotal, getLeft(stringBounder), 0, dimTotal.getHeight()); - } - return new FtileGeometry(dimTotal, getLeft(stringBounder), 0); - } - - private Dimension2D calculateDimensionInternal; - - private Dimension2D calculateDimensionInternal(StringBounder stringBounder) { - if (calculateDimensionInternal == null) { - calculateDimensionInternal = calculateDimensionInternalSlow(stringBounder); - } - return calculateDimensionInternal; - } - - private Dimension2D calculateDimensionInternalSlow(StringBounder stringBounder) { - final FtileGeometry dim1 = tile1.calculateDimension(stringBounder); - final FtileGeometry dim2 = tile2.calculateDimension(stringBounder); - - final Dimension2D dimDiamond1 = diamond1.calculateDimension(stringBounder); - - final double withInner = Math.max(dimDiamond1.getWidth(), (dim1.getWidth() - dim1.getLeft()) + dim2.getLeft() - + 10); - final double width = dim1.getLeft() + withInner + (dim2.getWidth() - dim2.getLeft()); - - final Dimension2D dim12 = Dimension2DDouble.mergeLR(dim1, dim2); - - return new Dimension2DDouble(width + 30, dim12.getHeight() + dimDiamond1.getHeight() * 3 + 30); - } - - private double getLeft(StringBounder stringBounder) { - final double left1 = tile1.calculateDimension(stringBounder).translate(getTranslate1(stringBounder)).getLeft(); - final double left2 = tile2.calculateDimension(stringBounder).translate(getTranslate2(stringBounder)).getLeft(); - return (left1 + left2) / 2; - } - -} diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileRepeat.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileRepeat.java index 3fd6a73cb..a93e8f0ab 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileRepeat.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileRepeat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileSplit1.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileSplit1.java index 3883bf392..0855b6bd2 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileSplit1.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileSplit1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWhile.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWhile.java index 426d1a787..53a874bd6 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWhile.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWhile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java index 4bcdb050d..475149a8a 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorGoto.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorGoto.java index 79762e39c..4b3e6015d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorGoto.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorGoto.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorOneSwimlane.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorOneSwimlane.java index 45bf5fc24..410a70df7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorOneSwimlane.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/UGraphicInterceptorOneSwimlane.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/VCompactFactory.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/VCompactFactory.java index cbf363114..ece963bfa 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/VCompactFactory.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/VCompactFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -96,7 +96,7 @@ public class VCompactFactory implements FtileFactory { // final HtmlColor borderColor = rose.getHtmlColor(skinParam, ColorParam.activityBorder); // final HtmlColor backColor = color == null ? rose.getHtmlColor(skinParam, ColorParam.activityBackground) : // color; - final UFont font = skinParam.getFont(FontParam.ACTIVITY, null, false); + final UFont font = skinParam.getFont(null, false, FontParam.ACTIVITY); final HtmlColor arrowColor = rose.getHtmlColor(skinParam, ColorParam.activityArrow); return new FtileBox(shadowing(), label, font, arrowColor, swimlane, style, colors.mute(skinParam)); } @@ -141,7 +141,7 @@ public class VCompactFactory implements FtileFactory { return new FtileForkInner(all); } - public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote) { + public Ftile createGroup(Ftile list, Display name, HtmlColor backColor, HtmlColor titleColor, Display headerNote, HtmlColor borderColor) { return list; } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/ConditionalBuilder.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/ConditionalBuilder.java index a3c4b010b..77c5c2a3f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/ConditionalBuilder.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/ConditionalBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -57,6 +57,7 @@ import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; +import net.sourceforge.plantuml.graphic.HtmlColorUtils; import net.sourceforge.plantuml.graphic.StringBounder; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.svek.ConditionStyle; @@ -93,8 +94,8 @@ public class ConditionalBuilder { this.branch2 = branch2; this.skinParam = skinParam; this.stringBounder = stringBounder; - this.fontArrow = fontArrow.changeColor(fontColor()); - this.fontTest = fontTest.changeColor(fontColor()); + this.fontArrow = fontArrow; + this.fontTest = fontTest; this.tile1 = new FtileMinWidth(branch1.getFtile(), 30); this.tile2 = new FtileMinWidth(branch2.getFtile(), 30); @@ -209,8 +210,8 @@ public class ConditionalBuilder { && tile2.calculateDimension(stringBounder).hasPointOut(); } - private HtmlColor fontColor() { - return skinParam.getFontHtmlColor(FontParam.ACTIVITY_DIAMOND, null); - } + // private HtmlColor fontColor() { + // return skinParam.getFontHtmlColor(FontParam.ACTIVITY_DIAMOND, null); + // } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileDimensionMemoize.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileDimensionMemoize.java index 64d851bf0..62da4ecf7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileDimensionMemoize.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileDimensionMemoize.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfNude.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfNude.java index 1f3514e29..46e7bb508 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfNude.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfNude.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithDiamonds.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithDiamonds.java index 7fbbdbbaa..aacfd4d1b 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithDiamonds.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithDiamonds.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithLinks.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithLinks.java index 60faddf2a..801969596 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithLinks.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/cond/FtileIfWithLinks.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java index ea260cabd..9fec57eec 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBox.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBox.java index e5bf249ed..ac107de5f 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBox.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBox.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java index 830f4ccb9..ee8971728 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java index ad18ddb27..69b0a9900 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java index 05fc0f5b5..c6945f136 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java index 6523e35b7..ad3515711 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateIn.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateIn.java index 4812e5e0f..ed82186f4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateIn.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateIn.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateOut.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateOut.java index 6133033b3..6fdc1db5e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateOut.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorateOut.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecoratePointOut.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecoratePointOut.java index 084e6bf21..1b7af0776 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecoratePointOut.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecoratePointOut.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamond.java index 72d256c8f..7492e4d9e 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-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondFoo1.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondFoo1.java index 37a624ec5..a030f1325 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondFoo1.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondFoo1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside.java index fb678ec6d..7b4fe66be 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -140,15 +140,6 @@ public class FtileDiamondInside extends AbstractFtile { } - public FtileGeometry calculateDimension(StringBounder stringBounder) { - final FtileGeometry dimDiamonAlone = calculateDimensionAlone(stringBounder); - final Dimension2D dimWest = west.calculateDimension(stringBounder); - final Dimension2D dimEast = east.calculateDimension(stringBounder); - final double northHeight = north.calculateDimension(stringBounder).getHeight(); - return dimDiamonAlone.incHeight(northHeight); - // return dimDiamonAlone.incHeight(northHeight).addMarginX(dimWest.getWidth(), dimEast.getWidth()); - } - private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dim; @@ -162,4 +153,13 @@ public class FtileDiamondInside extends AbstractFtile { return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } + public FtileGeometry calculateDimension(StringBounder stringBounder) { + final FtileGeometry dimDiamonAlone = calculateDimensionAlone(stringBounder); + final Dimension2D dimWest = west.calculateDimension(stringBounder); + final Dimension2D dimEast = east.calculateDimension(stringBounder); + final double northHeight = north.calculateDimension(stringBounder).getHeight(); + return dimDiamonAlone.incHeight(northHeight); + // return dimDiamonAlone.incHeight(northHeight).addMarginX(dimWest.getWidth(), dimEast.getWidth()); + } + } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside2.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside2.java index 8e06aa263..f01af83f7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -135,15 +135,6 @@ public class FtileDiamondInside2 extends AbstractFtile { } - public FtileGeometry calculateDimension(StringBounder stringBounder) { - final Dimension2D diamond = calculateDimensionAlone(stringBounder); - final Dimension2D north = this.north.calculateDimension(stringBounder); - final double height = diamond.getHeight() + north.getHeight(); - final double left = diamond.getWidth() / 2; - final double width = north.getWidth() > left ? left + north.getWidth() : diamond.getWidth(); - return new FtileGeometry(width, height, left, 0, diamond.getHeight()); - } - private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { final Dimension2D dimLabel = label.calculateDimension(stringBounder); final Dimension2D dim; @@ -157,4 +148,13 @@ public class FtileDiamondInside2 extends AbstractFtile { return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); } + public FtileGeometry calculateDimension(StringBounder stringBounder) { + final Dimension2D diamond = calculateDimensionAlone(stringBounder); + final Dimension2D north = this.north.calculateDimension(stringBounder); + final double height = diamond.getHeight() + north.getHeight(); + final double left = diamond.getWidth() / 2; + final double width = north.getWidth() > left ? left + north.getWidth() : diamond.getWidth(); + return new FtileGeometry(width, height, left, 0, diamond.getHeight()); + } + } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside3.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside3.java new file mode 100644 index 000000000..9d8b5ce2a --- /dev/null +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDiamondInside3.java @@ -0,0 +1,176 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * Original Author: Arnaud Roques + * + * Revision $Revision: 5183 $ + * + */ +package net.sourceforge.plantuml.activitydiagram3.ftile.vertical; + +import java.awt.geom.Dimension2D; +import java.util.Collections; +import java.util.Set; + +import net.sourceforge.plantuml.Dimension2DDouble; +import net.sourceforge.plantuml.activitydiagram3.ftile.AbstractFtile; +import net.sourceforge.plantuml.activitydiagram3.ftile.Diamond; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileGeometry; +import net.sourceforge.plantuml.activitydiagram3.ftile.FtileOverpassing; +import net.sourceforge.plantuml.activitydiagram3.ftile.Swimlane; +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.ugraphic.UChangeBackColor; +import net.sourceforge.plantuml.ugraphic.UChangeColor; +import net.sourceforge.plantuml.ugraphic.UGraphic; +import net.sourceforge.plantuml.ugraphic.UStroke; +import net.sourceforge.plantuml.ugraphic.UTranslate; +import net.sourceforge.plantuml.utils.MathUtils; + +public class FtileDiamondInside3 extends AbstractFtile implements FtileOverpassing { + + private final HtmlColor backColor; + private final HtmlColor borderColor; + private final Swimlane swimlane; + private final TextBlock label; + private final TextBlock west; + private final TextBlock east; + private final TextBlock north; + private final TextBlock south; + + public FtileDiamondInside3(boolean shadowing, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, + TextBlock label) { + this(shadowing, backColor, borderColor, swimlane, label, TextBlockUtils.empty(0, 0), + TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0), TextBlockUtils.empty(0, 0)); + } + + public FtileDiamondInside3 withNorth(TextBlock north) { + return new FtileDiamondInside3(shadowing(), backColor, borderColor, swimlane, label, north, south, west, east); + } + + public FtileDiamondInside3 withWest(TextBlock west) { + return new FtileDiamondInside3(shadowing(), backColor, borderColor, swimlane, label, north, south, west, east); + } + + public FtileDiamondInside3 withEast(TextBlock east) { + return new FtileDiamondInside3(shadowing(), backColor, borderColor, swimlane, label, north, south, west, east); + } + + public FtileDiamondInside3 withSouth(TextBlock south) { + return new FtileDiamondInside3(shadowing(), backColor, borderColor, swimlane, label, north, south, west, east); + } + + private FtileDiamondInside3(boolean shadowing, HtmlColor backColor, HtmlColor borderColor, Swimlane swimlane, + TextBlock label, TextBlock north, TextBlock south, TextBlock west, TextBlock east) { + super(shadowing); + this.backColor = backColor; + this.swimlane = swimlane; + this.borderColor = borderColor; + this.label = label; + this.west = west; + this.east = east; + this.north = north; + this.south = south; + } + + public Set getSwimlanes() { + if (swimlane == null) { + return Collections.emptySet(); + } + return Collections.singleton(swimlane); + } + + public Swimlane getSwimlaneIn() { + return swimlane; + } + + public Swimlane getSwimlaneOut() { + return swimlane; + } + + public void drawU(UGraphic ug) { + final StringBounder stringBounder = ug.getStringBounder(); + final Dimension2D dimLabel = label.calculateDimension(stringBounder); + final Dimension2D dimTotal = calculateDimensionAlone(stringBounder); + ug = ug.apply(new UChangeColor(borderColor)).apply(new UStroke(1.5)).apply(new UChangeBackColor(backColor)); + ug.draw(Diamond.asPolygon(shadowing(), dimTotal.getWidth(), dimTotal.getHeight())); + + north.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); + south.drawU(ug.apply(new UTranslate(4 + dimTotal.getWidth() / 2, dimTotal.getHeight()))); + + final double lx = (dimTotal.getWidth() - dimLabel.getWidth()) / 2; + final double ly = (dimTotal.getHeight() - dimLabel.getHeight()) / 2; + label.drawU(ug.apply(new UTranslate(lx, ly))); + + final Dimension2D dimWeat = west.calculateDimension(stringBounder); + west.drawU(ug.apply(new UTranslate(-dimWeat.getWidth(), -dimWeat.getHeight() + dimTotal.getHeight() / 2))); + + final Dimension2D dimEast = east.calculateDimension(stringBounder); + east.drawU(ug.apply(new UTranslate(dimTotal.getWidth(), -dimEast.getHeight() + dimTotal.getHeight() / 2))); + + } + + private FtileGeometry calculateDimensionAlone(StringBounder stringBounder) { + final Dimension2D dimLabel = label.calculateDimension(stringBounder); + final Dimension2D dim; + if (dimLabel.getWidth() == 0 || dimLabel.getHeight() == 0) { + dim = new Dimension2DDouble(Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2); + } else { + dim = Dimension2DDouble.delta( + Dimension2DDouble.atLeast(dimLabel, Diamond.diamondHalfSize * 2, Diamond.diamondHalfSize * 2), + Diamond.diamondHalfSize * 2, 0); + } + return new FtileGeometry(dim, dim.getWidth() / 2, 0, dim.getHeight()); + } + + public FtileGeometry calculateDimension(StringBounder stringBounder) { + final Dimension2D diamond = calculateDimensionAlone(stringBounder); + final Dimension2D north = this.north.calculateDimension(stringBounder); + final double height = diamond.getHeight() + north.getHeight(); + final double left = diamond.getWidth() / 2; + // final double width = north.getWidth() > left ? left + north.getWidth() : diamond.getWidth(); + final double width = diamond.getWidth(); + return new FtileGeometry(width, height, left, 0, diamond.getHeight()); + } + + public FtileGeometry getOverpassDimension(StringBounder stringBounder) { + final Dimension2D total = calculateDimension(stringBounder); + final Dimension2D north = this.north.calculateDimension(stringBounder); + final Dimension2D east = this.east.calculateDimension(stringBounder); + final Dimension2D west = this.west.calculateDimension(stringBounder); + final double height = total.getHeight(); // + north.getHeight(); + final double left = total.getWidth() / 2; + final double supp = MathUtils.max(north.getWidth(), east.getWidth(), west.getWidth()); + // final double width = supp > left ? left + supp : diamond.getWidth(); + final double width = total.getWidth() + supp; + return new FtileGeometry(width, height, left, 0, total.getHeight()); + } + +} diff --git a/src/net/sourceforge/plantuml/anim/AffineTransformation.java b/src/net/sourceforge/plantuml/anim/AffineTransformation.java index 5e426a169..e4a2c4702 100644 --- a/src/net/sourceforge/plantuml/anim/AffineTransformation.java +++ b/src/net/sourceforge/plantuml/anim/AffineTransformation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/anim/Animation.java b/src/net/sourceforge/plantuml/anim/Animation.java index 4c36e5960..b9aa6a216 100644 --- a/src/net/sourceforge/plantuml/anim/Animation.java +++ b/src/net/sourceforge/plantuml/anim/Animation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/anim/AnimationDecoder.java b/src/net/sourceforge/plantuml/anim/AnimationDecoder.java index f9158f6c5..2842a6ccf 100644 --- a/src/net/sourceforge/plantuml/anim/AnimationDecoder.java +++ b/src/net/sourceforge/plantuml/anim/AnimationDecoder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/anim/AnimationScript.java b/src/net/sourceforge/plantuml/anim/AnimationScript.java index fd677fc63..481bf42f5 100644 --- a/src/net/sourceforge/plantuml/anim/AnimationScript.java +++ b/src/net/sourceforge/plantuml/anim/AnimationScript.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ant/PlantUmlTask.java b/src/net/sourceforge/plantuml/ant/PlantUmlTask.java index 486212949..16d527aa3 100644 --- a/src/net/sourceforge/plantuml/ant/PlantUmlTask.java +++ b/src/net/sourceforge/plantuml/ant/PlantUmlTask.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12958 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ant; diff --git a/src/net/sourceforge/plantuml/api/CountRate.java b/src/net/sourceforge/plantuml/api/CountRate.java index 67f907d33..d071e3374 100644 --- a/src/net/sourceforge/plantuml/api/CountRate.java +++ b/src/net/sourceforge/plantuml/api/CountRate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/ImageDataComplex.java b/src/net/sourceforge/plantuml/api/ImageDataComplex.java index 2f13be321..3a923f38b 100644 --- a/src/net/sourceforge/plantuml/api/ImageDataComplex.java +++ b/src/net/sourceforge/plantuml/api/ImageDataComplex.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/ImageDataSimple.java b/src/net/sourceforge/plantuml/api/ImageDataSimple.java index 3873fa36b..7d283a74b 100644 --- a/src/net/sourceforge/plantuml/api/ImageDataSimple.java +++ b/src/net/sourceforge/plantuml/api/ImageDataSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/MagicArray.java b/src/net/sourceforge/plantuml/api/MagicArray.java index 06cc9bd16..b44c52a3b 100644 --- a/src/net/sourceforge/plantuml/api/MagicArray.java +++ b/src/net/sourceforge/plantuml/api/MagicArray.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/MyRunnable.java b/src/net/sourceforge/plantuml/api/MyRunnable.java index ad4675643..3d13d92e6 100644 --- a/src/net/sourceforge/plantuml/api/MyRunnable.java +++ b/src/net/sourceforge/plantuml/api/MyRunnable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/NiceNumber.java b/src/net/sourceforge/plantuml/api/NiceNumber.java index 63bedf55f..2dad12699 100644 --- a/src/net/sourceforge/plantuml/api/NiceNumber.java +++ b/src/net/sourceforge/plantuml/api/NiceNumber.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/PSystemFactory.java b/src/net/sourceforge/plantuml/api/PSystemFactory.java index d479499d4..a8205a455 100644 --- a/src/net/sourceforge/plantuml/api/PSystemFactory.java +++ b/src/net/sourceforge/plantuml/api/PSystemFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/PlantumlUtils.java b/src/net/sourceforge/plantuml/api/PlantumlUtils.java index 1881c99ea..1203b7782 100644 --- a/src/net/sourceforge/plantuml/api/PlantumlUtils.java +++ b/src/net/sourceforge/plantuml/api/PlantumlUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/TimeoutExecutor.java b/src/net/sourceforge/plantuml/api/TimeoutExecutor.java index 7a347c4c7..2a1f6cd98 100644 --- a/src/net/sourceforge/plantuml/api/TimeoutExecutor.java +++ b/src/net/sourceforge/plantuml/api/TimeoutExecutor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/mda/option2/MDADiagram.java b/src/net/sourceforge/plantuml/api/mda/option2/MDADiagram.java index 303206d7a..9fa75aaa7 100644 --- a/src/net/sourceforge/plantuml/api/mda/option2/MDADiagram.java +++ b/src/net/sourceforge/plantuml/api/mda/option2/MDADiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/mda/option2/MDAEntity.java b/src/net/sourceforge/plantuml/api/mda/option2/MDAEntity.java index 95fa61311..32f2f0ba6 100644 --- a/src/net/sourceforge/plantuml/api/mda/option2/MDAEntity.java +++ b/src/net/sourceforge/plantuml/api/mda/option2/MDAEntity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/mda/option2/MDAPackage.java b/src/net/sourceforge/plantuml/api/mda/option2/MDAPackage.java index 0b035763b..838faa3cf 100644 --- a/src/net/sourceforge/plantuml/api/mda/option2/MDAPackage.java +++ b/src/net/sourceforge/plantuml/api/mda/option2/MDAPackage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/mda/option2/MDAUtils.java b/src/net/sourceforge/plantuml/api/mda/option2/MDAUtils.java index 76199dc13..056cb2902 100644 --- a/src/net/sourceforge/plantuml/api/mda/option2/MDAUtils.java +++ b/src/net/sourceforge/plantuml/api/mda/option2/MDAUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/api/mda/option3/MDAVisitor.java b/src/net/sourceforge/plantuml/api/mda/option3/MDAVisitor.java index 8b8878e6e..afb00b918 100644 --- a/src/net/sourceforge/plantuml/api/mda/option3/MDAVisitor.java +++ b/src/net/sourceforge/plantuml/api/mda/option3/MDAVisitor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/applet/VersionApplet.java b/src/net/sourceforge/plantuml/applet/VersionApplet.java index e71b120d7..e73baeae5 100644 --- a/src/net/sourceforge/plantuml/applet/VersionApplet.java +++ b/src/net/sourceforge/plantuml/applet/VersionApplet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/AbstractComponentText.java b/src/net/sourceforge/plantuml/asciiart/AbstractComponentText.java index d44272b62..d59f4b53c 100644 --- a/src/net/sourceforge/plantuml/asciiart/AbstractComponentText.java +++ b/src/net/sourceforge/plantuml/asciiart/AbstractComponentText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/BasicCharArea.java b/src/net/sourceforge/plantuml/asciiart/BasicCharArea.java index 78622a990..361df3946 100644 --- a/src/net/sourceforge/plantuml/asciiart/BasicCharArea.java +++ b/src/net/sourceforge/plantuml/asciiart/BasicCharArea.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/BasicCharAreaImpl.java b/src/net/sourceforge/plantuml/asciiart/BasicCharAreaImpl.java index 1fbdfdd54..2e91ed5f0 100644 --- a/src/net/sourceforge/plantuml/asciiart/BasicCharAreaImpl.java +++ b/src/net/sourceforge/plantuml/asciiart/BasicCharAreaImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.asciiart; diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextActiveLine.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextActiveLine.java index d993455f4..191223caa 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextActiveLine.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextActiveLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextActor.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextActor.java index 3807c6354..ee5faf54c 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextActor.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextActor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextArrow.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextArrow.java index b93265305..67ed0a660 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextArrow.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextDivider.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextDivider.java index 9e455cdc4..5d9f855bc 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextDivider.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextDivider.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingBody.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingBody.java index c856d9729..beb8395e6 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingBody.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingBody.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingElse.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingElse.java index 9023cca67..ae35b9327 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingElse.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingElse.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingHeader.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingHeader.java index 8cc1ad9e2..b0c670929 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingHeader.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingHeader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingTail.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingTail.java index 0090f60cc..a8ea399d5 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingTail.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextGroupingTail.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextLine.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextLine.java index db7d5b637..97d0b8de0 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextLine.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextNewpage.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextNewpage.java index 748a255b6..d58957716 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextNewpage.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextNewpage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextNote.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextNote.java index daf8ed127..959573ac2 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextNote.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextNote.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextParticipant.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextParticipant.java index a7571426d..9e23c3576 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextParticipant.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextParticipant.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/ComponentTextSelfArrow.java b/src/net/sourceforge/plantuml/asciiart/ComponentTextSelfArrow.java index 3e971b91f..cdc0a9d53 100644 --- a/src/net/sourceforge/plantuml/asciiart/ComponentTextSelfArrow.java +++ b/src/net/sourceforge/plantuml/asciiart/ComponentTextSelfArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/TextSkin.java b/src/net/sourceforge/plantuml/asciiart/TextSkin.java index a57033359..c8708c482 100644 --- a/src/net/sourceforge/plantuml/asciiart/TextSkin.java +++ b/src/net/sourceforge/plantuml/asciiart/TextSkin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.asciiart; diff --git a/src/net/sourceforge/plantuml/asciiart/TextStringBounder.java b/src/net/sourceforge/plantuml/asciiart/TextStringBounder.java index 6eb666708..0b632264f 100644 --- a/src/net/sourceforge/plantuml/asciiart/TextStringBounder.java +++ b/src/net/sourceforge/plantuml/asciiart/TextStringBounder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/TranslatedCharArea.java b/src/net/sourceforge/plantuml/asciiart/TranslatedCharArea.java index 767a3d735..f80d0c8c0 100644 --- a/src/net/sourceforge/plantuml/asciiart/TranslatedCharArea.java +++ b/src/net/sourceforge/plantuml/asciiart/TranslatedCharArea.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/UmlCharArea.java b/src/net/sourceforge/plantuml/asciiart/UmlCharArea.java index 1efc18774..4b85787b3 100644 --- a/src/net/sourceforge/plantuml/asciiart/UmlCharArea.java +++ b/src/net/sourceforge/plantuml/asciiart/UmlCharArea.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/asciiart/UmlCharAreaImpl.java b/src/net/sourceforge/plantuml/asciiart/UmlCharAreaImpl.java index 15a22ea08..bfe0fc5c0 100644 --- a/src/net/sourceforge/plantuml/asciiart/UmlCharAreaImpl.java +++ b/src/net/sourceforge/plantuml/asciiart/UmlCharAreaImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.asciiart; diff --git a/src/net/sourceforge/plantuml/braille/BrailleUtils.java b/src/net/sourceforge/plantuml/braille/BrailleUtils.java index ff9b87bcf..2d61b2765 100644 --- a/src/net/sourceforge/plantuml/braille/BrailleUtils.java +++ b/src/net/sourceforge/plantuml/braille/BrailleUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/AbstractEntityDiagram.java b/src/net/sourceforge/plantuml/classdiagram/AbstractEntityDiagram.java index 52da12782..0e8fb2c59 100644 --- a/src/net/sourceforge/plantuml/classdiagram/AbstractEntityDiagram.java +++ b/src/net/sourceforge/plantuml/classdiagram/AbstractEntityDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12853 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.classdiagram; diff --git a/src/net/sourceforge/plantuml/classdiagram/ClassDiagram.java b/src/net/sourceforge/plantuml/classdiagram/ClassDiagram.java index 88b2c0c4f..f5dde41ce 100644 --- a/src/net/sourceforge/plantuml/classdiagram/ClassDiagram.java +++ b/src/net/sourceforge/plantuml/classdiagram/ClassDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16530 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.classdiagram; diff --git a/src/net/sourceforge/plantuml/classdiagram/ClassDiagramFactory.java b/src/net/sourceforge/plantuml/classdiagram/ClassDiagramFactory.java index eb3a88f29..712237a8c 100644 --- a/src/net/sourceforge/plantuml/classdiagram/ClassDiagramFactory.java +++ b/src/net/sourceforge/plantuml/classdiagram/ClassDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -68,6 +68,9 @@ import net.sourceforge.plantuml.command.note.FactoryNoteOnLinkCommand; import net.sourceforge.plantuml.command.note.FactoryTipOnEntityCommand; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.cucadiagram.Link; +import net.sourceforge.plantuml.objectdiagram.command.CommandAddData; +import net.sourceforge.plantuml.objectdiagram.command.CommandCreateEntityObject; +import net.sourceforge.plantuml.objectdiagram.command.CommandCreateEntityObjectMultilines; public class ClassDiagramFactory extends UmlDiagramFactory { @@ -88,6 +91,8 @@ public class ClassDiagramFactory extends UmlDiagramFactory { cmds.add(new CommandAddMethod()); cmds.add(new CommandCreateClass()); + cmds.add(new CommandCreateEntityObject()); + cmds.add(new CommandAllowMixing()); cmds.add(new CommandLayoutNewLine()); @@ -123,6 +128,7 @@ public class ClassDiagramFactory extends UmlDiagramFactory { cmds.add(factoryNoteCommand.createMultiLine(false)); cmds.add(new CommandCreateClassMultilines()); + cmds.add(new CommandCreateEntityObjectMultilines()); final FactoryNoteOnLinkCommand factoryNoteOnLinkCommand = new FactoryNoteOnLinkCommand(); cmds.add(factoryNoteOnLinkCommand.createSingleLine()); diff --git a/src/net/sourceforge/plantuml/classdiagram/FullLayout.java b/src/net/sourceforge/plantuml/classdiagram/FullLayout.java index 36fa5f300..02f39cf81 100644 --- a/src/net/sourceforge/plantuml/classdiagram/FullLayout.java +++ b/src/net/sourceforge/plantuml/classdiagram/FullLayout.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/RowLayout.java b/src/net/sourceforge/plantuml/classdiagram/RowLayout.java index f5fec1387..71f7c6290 100644 --- a/src/net/sourceforge/plantuml/classdiagram/RowLayout.java +++ b/src/net/sourceforge/plantuml/classdiagram/RowLayout.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandAddMethod.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandAddMethod.java index 3ae54ccd8..c391c2c43 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandAddMethod.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandAddMethod.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16273 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.classdiagram.command; diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandAllowMixing.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandAllowMixing.java index 9f514bd6a..25e96e270 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandAllowMixing.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandAllowMixing.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClass.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClass.java index 1a5582ba2..7b9478803 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClass.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClass.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -119,7 +119,7 @@ public class CommandCreateClass extends SingleLineCommand2 { } if (stereotype != null) { entity.setStereotype(new Stereotype(stereotype, diagram.getSkinParam().getCircledCharacterRadius(), diagram - .getSkinParam().getFont(FontParam.CIRCLED_CHARACTER, null, false), diagram.getSkinParam() + .getSkinParam().getFont(null, false, FontParam.CIRCLED_CHARACTER), diagram.getSkinParam() .getIHtmlColorSet())); } if (generic != null) { diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClassMultilines.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClassMultilines.java index 6f5e3a2b6..454f93c8e 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClassMultilines.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandCreateClassMultilines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -193,7 +193,7 @@ public class CommandCreateClassMultilines extends CommandMultilines2 entity.setUSymbol(usymbol); if (stereotype != null) { entity.setStereotype(new Stereotype(stereotype, diagram.getSkinParam().getCircledCharacterRadius(), diagram - .getSkinParam().getFont(FontParam.CIRCLED_CHARACTER, null, false), diagram.getSkinParam() + .getSkinParam().getFont(null, false, FontParam.CIRCLED_CHARACTER), diagram.getSkinParam() .getIHtmlColorSet())); } diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandDiamondAssociation.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandDiamondAssociation.java index 0dd0f230d..8f088630b 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandDiamondAssociation.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandDiamondAssociation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow.java index 6a52e8285..3672bdde4 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow3.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow3.java index ddd96acde..5571732a7 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow3.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShow3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShowSpecificClass.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShowSpecificClass.java index 69cd7b1b6..02e001597 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShowSpecificClass.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandHideShowSpecificClass.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -33,17 +33,17 @@ */ package net.sourceforge.plantuml.classdiagram.command; -import net.sourceforge.plantuml.classdiagram.ClassDiagram; import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand2; import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.cucadiagram.Code; +import net.sourceforge.plantuml.cucadiagram.CucaDiagram; import net.sourceforge.plantuml.cucadiagram.ILeaf; import net.sourceforge.plantuml.cucadiagram.LeafType; -public class CommandHideShowSpecificClass extends SingleLineCommand2 { +public class CommandHideShowSpecificClass extends SingleLineCommand2 { public CommandHideShowSpecificClass() { super(getRegexConcat()); @@ -58,20 +58,20 @@ public class CommandHideShowSpecificClass extends SingleLineCommand2 { final String stereotype = arg.get(1); final IEntity entity = diagram.getOrCreateLeaf(code, null, null); entity.setStereotype(new Stereotype(stereotype, diagram.getSkinParam().getCircledCharacterRadius(), diagram - .getSkinParam().getFont(FontParam.CIRCLED_CHARACTER, null, false), diagram.getSkinParam().getIHtmlColorSet())); + .getSkinParam().getFont(null, false, FontParam.CIRCLED_CHARACTER), diagram.getSkinParam().getIHtmlColorSet())); return CommandExecutionResult.ok(); } diff --git a/src/net/sourceforge/plantuml/classdiagram/command/CommandUrl.java b/src/net/sourceforge/plantuml/classdiagram/command/CommandUrl.java index 517503a81..13b05863d 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/CommandUrl.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/CommandUrl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/GenericRegexProducer.java b/src/net/sourceforge/plantuml/classdiagram/command/GenericRegexProducer.java index d4bc5874c..393f88759 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/GenericRegexProducer.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/GenericRegexProducer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/classdiagram/command/JavaClass.java b/src/net/sourceforge/plantuml/classdiagram/command/JavaClass.java index 01488e8c7..14e0d108d 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/JavaClass.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/JavaClass.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.classdiagram.command; diff --git a/src/net/sourceforge/plantuml/classdiagram/command/JavaFile.java b/src/net/sourceforge/plantuml/classdiagram/command/JavaFile.java index e5768d32c..8f5c65fb7 100644 --- a/src/net/sourceforge/plantuml/classdiagram/command/JavaFile.java +++ b/src/net/sourceforge/plantuml/classdiagram/command/JavaFile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.classdiagram.command; diff --git a/src/net/sourceforge/plantuml/code/ArobaseStringCompressor.java b/src/net/sourceforge/plantuml/code/ArobaseStringCompressor.java index a6ad860ee..3069fcb25 100644 --- a/src/net/sourceforge/plantuml/code/ArobaseStringCompressor.java +++ b/src/net/sourceforge/plantuml/code/ArobaseStringCompressor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/AsciiEncoder.java b/src/net/sourceforge/plantuml/code/AsciiEncoder.java index 2ce45b80b..33e91b777 100644 --- a/src/net/sourceforge/plantuml/code/AsciiEncoder.java +++ b/src/net/sourceforge/plantuml/code/AsciiEncoder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/Base64Coder.java b/src/net/sourceforge/plantuml/code/Base64Coder.java index a6a286323..087cbac6f 100644 --- a/src/net/sourceforge/plantuml/code/Base64Coder.java +++ b/src/net/sourceforge/plantuml/code/Base64Coder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/code/Compression.java b/src/net/sourceforge/plantuml/code/Compression.java index 1d9b88c47..4e633d9b4 100644 --- a/src/net/sourceforge/plantuml/code/Compression.java +++ b/src/net/sourceforge/plantuml/code/Compression.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/CompressionGZip.java b/src/net/sourceforge/plantuml/code/CompressionGZip.java index 80926dc03..8a7a7a107 100644 --- a/src/net/sourceforge/plantuml/code/CompressionGZip.java +++ b/src/net/sourceforge/plantuml/code/CompressionGZip.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/CompressionHuffman.java b/src/net/sourceforge/plantuml/code/CompressionHuffman.java index a61c57212..10f686950 100644 --- a/src/net/sourceforge/plantuml/code/CompressionHuffman.java +++ b/src/net/sourceforge/plantuml/code/CompressionHuffman.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/CompressionNone.java b/src/net/sourceforge/plantuml/code/CompressionNone.java index aff67bfcc..222b1e29d 100644 --- a/src/net/sourceforge/plantuml/code/CompressionNone.java +++ b/src/net/sourceforge/plantuml/code/CompressionNone.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/CompressionZlib.java b/src/net/sourceforge/plantuml/code/CompressionZlib.java index aaaf61ecb..03e4c4ab4 100644 --- a/src/net/sourceforge/plantuml/code/CompressionZlib.java +++ b/src/net/sourceforge/plantuml/code/CompressionZlib.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/code/StringCompressor.java b/src/net/sourceforge/plantuml/code/StringCompressor.java index 31b232aec..66671fdf2 100644 --- a/src/net/sourceforge/plantuml/code/StringCompressor.java +++ b/src/net/sourceforge/plantuml/code/StringCompressor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/StringCompressorNone.java b/src/net/sourceforge/plantuml/code/StringCompressorNone.java index c1dcd9a5c..473190e9d 100644 --- a/src/net/sourceforge/plantuml/code/StringCompressorNone.java +++ b/src/net/sourceforge/plantuml/code/StringCompressorNone.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/Transcoder.java b/src/net/sourceforge/plantuml/code/Transcoder.java index be0f6a15f..80f9ed0c0 100644 --- a/src/net/sourceforge/plantuml/code/Transcoder.java +++ b/src/net/sourceforge/plantuml/code/Transcoder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/code/TranscoderImpl.java b/src/net/sourceforge/plantuml/code/TranscoderImpl.java index d236105a7..794617c76 100644 --- a/src/net/sourceforge/plantuml/code/TranscoderImpl.java +++ b/src/net/sourceforge/plantuml/code/TranscoderImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/code/TranscoderSmart.java b/src/net/sourceforge/plantuml/code/TranscoderSmart.java index 11a2eb612..e32ece807 100644 --- a/src/net/sourceforge/plantuml/code/TranscoderSmart.java +++ b/src/net/sourceforge/plantuml/code/TranscoderSmart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/code/TranscoderUtil.java b/src/net/sourceforge/plantuml/code/TranscoderUtil.java index 013a55c41..16edb52b5 100644 --- a/src/net/sourceforge/plantuml/code/TranscoderUtil.java +++ b/src/net/sourceforge/plantuml/code/TranscoderUtil.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/code/URLEncoder.java b/src/net/sourceforge/plantuml/code/URLEncoder.java index d46c5c421..fbdfcb8e5 100644 --- a/src/net/sourceforge/plantuml/code/URLEncoder.java +++ b/src/net/sourceforge/plantuml/code/URLEncoder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.code; diff --git a/src/net/sourceforge/plantuml/command/BlocLines.java b/src/net/sourceforge/plantuml/command/BlocLines.java index 9aa67cf26..f580acbdc 100644 --- a/src/net/sourceforge/plantuml/command/BlocLines.java +++ b/src/net/sourceforge/plantuml/command/BlocLines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/Command.java b/src/net/sourceforge/plantuml/command/Command.java index d6fa493c0..fa92f0268 100644 --- a/src/net/sourceforge/plantuml/command/Command.java +++ b/src/net/sourceforge/plantuml/command/Command.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16381 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandAffineTransform.java b/src/net/sourceforge/plantuml/command/CommandAffineTransform.java index 0d568c255..7fbd91de8 100644 --- a/src/net/sourceforge/plantuml/command/CommandAffineTransform.java +++ b/src/net/sourceforge/plantuml/command/CommandAffineTransform.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandAffineTransformMultiline.java b/src/net/sourceforge/plantuml/command/CommandAffineTransformMultiline.java index 48e896fc5..dda54b3a2 100644 --- a/src/net/sourceforge/plantuml/command/CommandAffineTransformMultiline.java +++ b/src/net/sourceforge/plantuml/command/CommandAffineTransformMultiline.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandComment.java b/src/net/sourceforge/plantuml/command/CommandComment.java index 3362ef509..deba35b8f 100644 --- a/src/net/sourceforge/plantuml/command/CommandComment.java +++ b/src/net/sourceforge/plantuml/command/CommandComment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandControl.java b/src/net/sourceforge/plantuml/command/CommandControl.java index 5ad2f111e..36d4cf5a7 100644 --- a/src/net/sourceforge/plantuml/command/CommandControl.java +++ b/src/net/sourceforge/plantuml/command/CommandControl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandDecoratorMultine.java b/src/net/sourceforge/plantuml/command/CommandDecoratorMultine.java index 8cc3358d1..d148b0827 100644 --- a/src/net/sourceforge/plantuml/command/CommandDecoratorMultine.java +++ b/src/net/sourceforge/plantuml/command/CommandDecoratorMultine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandEndPackage.java b/src/net/sourceforge/plantuml/command/CommandEndPackage.java index e46cd9d02..a6c87ad97 100644 --- a/src/net/sourceforge/plantuml/command/CommandEndPackage.java +++ b/src/net/sourceforge/plantuml/command/CommandEndPackage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12338 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandExecutionResult.java b/src/net/sourceforge/plantuml/command/CommandExecutionResult.java index dc851bfca..75e5165e9 100644 --- a/src/net/sourceforge/plantuml/command/CommandExecutionResult.java +++ b/src/net/sourceforge/plantuml/command/CommandExecutionResult.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandFootboxIgnored.java b/src/net/sourceforge/plantuml/command/CommandFootboxIgnored.java index b41f03fe1..5f446373d 100644 --- a/src/net/sourceforge/plantuml/command/CommandFootboxIgnored.java +++ b/src/net/sourceforge/plantuml/command/CommandFootboxIgnored.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandFooter.java b/src/net/sourceforge/plantuml/command/CommandFooter.java index 7505149c5..e43076d38 100644 --- a/src/net/sourceforge/plantuml/command/CommandFooter.java +++ b/src/net/sourceforge/plantuml/command/CommandFooter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14726 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandHeader.java b/src/net/sourceforge/plantuml/command/CommandHeader.java index 4a6933dba..63155482c 100644 --- a/src/net/sourceforge/plantuml/command/CommandHeader.java +++ b/src/net/sourceforge/plantuml/command/CommandHeader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14726 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandHideUnlinked.java b/src/net/sourceforge/plantuml/command/CommandHideUnlinked.java index 593ac60df..994ad4290 100644 --- a/src/net/sourceforge/plantuml/command/CommandHideUnlinked.java +++ b/src/net/sourceforge/plantuml/command/CommandHideUnlinked.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMinwidth.java b/src/net/sourceforge/plantuml/command/CommandMinwidth.java index cc6d6c371..5d4566497 100644 --- a/src/net/sourceforge/plantuml/command/CommandMinwidth.java +++ b/src/net/sourceforge/plantuml/command/CommandMinwidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandMultilines.java b/src/net/sourceforge/plantuml/command/CommandMultilines.java index 77c07d9c6..d818888b1 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilines.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandMultilines2.java b/src/net/sourceforge/plantuml/command/CommandMultilines2.java index 3dad6b2ba..921d73fe1 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilines2.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilines2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMultilines3.java b/src/net/sourceforge/plantuml/command/CommandMultilines3.java index dc61d05c2..8ef3db657 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilines3.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilines3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesBracket.java b/src/net/sourceforge/plantuml/command/CommandMultilinesBracket.java index 218bf762c..ae73e37ef 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesBracket.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesBracket.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesComment.java b/src/net/sourceforge/plantuml/command/CommandMultilinesComment.java index 1dc3b0dab..d2a6d7e38 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesComment.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesComment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java b/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java index 16d3c74fd..1fc7d6fd9 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesHeader.java b/src/net/sourceforge/plantuml/command/CommandMultilinesHeader.java index 821da6bba..18307e5b2 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesHeader.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesHeader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesLegend.java b/src/net/sourceforge/plantuml/command/CommandMultilinesLegend.java index 4ab64b5f0..566f6f224 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesLegend.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesLegend.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesTitle.java b/src/net/sourceforge/plantuml/command/CommandMultilinesTitle.java index 2dcf6c128..9b7f0e14c 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesTitle.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesTitle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16435 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandNamespace.java b/src/net/sourceforge/plantuml/command/CommandNamespace.java index fb1b87a14..8a89144a5 100644 --- a/src/net/sourceforge/plantuml/command/CommandNamespace.java +++ b/src/net/sourceforge/plantuml/command/CommandNamespace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandNope.java b/src/net/sourceforge/plantuml/command/CommandNope.java index 13d25b05c..6a133d3e4 100644 --- a/src/net/sourceforge/plantuml/command/CommandNope.java +++ b/src/net/sourceforge/plantuml/command/CommandNope.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandPackage.java b/src/net/sourceforge/plantuml/command/CommandPackage.java index 275c917f5..b2a596e5a 100644 --- a/src/net/sourceforge/plantuml/command/CommandPackage.java +++ b/src/net/sourceforge/plantuml/command/CommandPackage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandPackageEmpty.java b/src/net/sourceforge/plantuml/command/CommandPackageEmpty.java index 6e1d67f33..eeab1ef02 100644 --- a/src/net/sourceforge/plantuml/command/CommandPackageEmpty.java +++ b/src/net/sourceforge/plantuml/command/CommandPackageEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandPage.java b/src/net/sourceforge/plantuml/command/CommandPage.java index d013f892a..9640c16df 100644 --- a/src/net/sourceforge/plantuml/command/CommandPage.java +++ b/src/net/sourceforge/plantuml/command/CommandPage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandPragma.java b/src/net/sourceforge/plantuml/command/CommandPragma.java index f34bd12f1..3c1cae890 100644 --- a/src/net/sourceforge/plantuml/command/CommandPragma.java +++ b/src/net/sourceforge/plantuml/command/CommandPragma.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandRankDir.java b/src/net/sourceforge/plantuml/command/CommandRankDir.java index 6b610f57d..381f5e845 100644 --- a/src/net/sourceforge/plantuml/command/CommandRankDir.java +++ b/src/net/sourceforge/plantuml/command/CommandRankDir.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandRotate.java b/src/net/sourceforge/plantuml/command/CommandRotate.java index 42dfe748d..e744a0df5 100644 --- a/src/net/sourceforge/plantuml/command/CommandRotate.java +++ b/src/net/sourceforge/plantuml/command/CommandRotate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandScale.java b/src/net/sourceforge/plantuml/command/CommandScale.java index 807e0283a..1ad03a1e5 100644 --- a/src/net/sourceforge/plantuml/command/CommandScale.java +++ b/src/net/sourceforge/plantuml/command/CommandScale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandScaleMaxWidthAndHeight.java b/src/net/sourceforge/plantuml/command/CommandScaleMaxWidthAndHeight.java index d41218bfb..766e605d5 100644 --- a/src/net/sourceforge/plantuml/command/CommandScaleMaxWidthAndHeight.java +++ b/src/net/sourceforge/plantuml/command/CommandScaleMaxWidthAndHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandScaleWidthAndHeight.java b/src/net/sourceforge/plantuml/command/CommandScaleWidthAndHeight.java index a59ba30fd..66908efca 100644 --- a/src/net/sourceforge/plantuml/command/CommandScaleWidthAndHeight.java +++ b/src/net/sourceforge/plantuml/command/CommandScaleWidthAndHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandScaleWidthOrHeight.java b/src/net/sourceforge/plantuml/command/CommandScaleWidthOrHeight.java index 7c6f33bbf..29d06c4ac 100644 --- a/src/net/sourceforge/plantuml/command/CommandScaleWidthOrHeight.java +++ b/src/net/sourceforge/plantuml/command/CommandScaleWidthOrHeight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandSkinParam.java b/src/net/sourceforge/plantuml/command/CommandSkinParam.java index 482056a97..d7d87b5d7 100644 --- a/src/net/sourceforge/plantuml/command/CommandSkinParam.java +++ b/src/net/sourceforge/plantuml/command/CommandSkinParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/CommandSkinParamMultilines.java b/src/net/sourceforge/plantuml/command/CommandSkinParamMultilines.java index 8bc165c8c..d89efbf56 100644 --- a/src/net/sourceforge/plantuml/command/CommandSkinParamMultilines.java +++ b/src/net/sourceforge/plantuml/command/CommandSkinParamMultilines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/CommandSpriteFile.java b/src/net/sourceforge/plantuml/command/CommandSpriteFile.java index 87bb2d27d..1ec638968 100644 --- a/src/net/sourceforge/plantuml/command/CommandSpriteFile.java +++ b/src/net/sourceforge/plantuml/command/CommandSpriteFile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.command; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; +import java.io.InputStream; import javax.imageio.ImageIO; @@ -46,6 +47,7 @@ import net.sourceforge.plantuml.command.regex.RegexConcat; import net.sourceforge.plantuml.command.regex.RegexLeaf; import net.sourceforge.plantuml.command.regex.RegexResult; import net.sourceforge.plantuml.ugraphic.SpriteImage; +import net.sourceforge.plantuml.version.PSystemVersion; public class CommandSpriteFile extends SingleLineCommand2 { @@ -67,11 +69,20 @@ public class CommandSpriteFile extends SingleLineCommand2 { final String src = arg.get("FILE", 0); final BufferedImage im; try { - final File f = FileSystem.getInstance().getFile(src); - if (f.exists() == false) { - return CommandExecutionResult.error("File does not exist: " + src); + if (src.startsWith("jar:")) { + final String inner = src.substring(4) + ".png"; + final InputStream is = SpriteImage.getInternalSprite(inner); + if (is == null) { + return CommandExecutionResult.error("No such internal sprite: " + inner); + } + im = ImageIO.read(is); + } else { + final File f = FileSystem.getInstance().getFile(src); + if (f.exists() == false) { + return CommandExecutionResult.error("File does not exist: " + src); + } + im = ImageIO.read(f); } - im = ImageIO.read(f); } catch (IOException e) { Log.error("Error reading " + src + " " + e); return CommandExecutionResult.error("Cannot read: " + src); diff --git a/src/net/sourceforge/plantuml/command/CommandTitle.java b/src/net/sourceforge/plantuml/command/CommandTitle.java index 89051aa70..42a3f3a42 100644 --- a/src/net/sourceforge/plantuml/command/CommandTitle.java +++ b/src/net/sourceforge/plantuml/command/CommandTitle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/FactorySpriteCommand.java b/src/net/sourceforge/plantuml/command/FactorySpriteCommand.java index 838eff2f6..53c58add3 100644 --- a/src/net/sourceforge/plantuml/command/FactorySpriteCommand.java +++ b/src/net/sourceforge/plantuml/command/FactorySpriteCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/MultilinesStrategy.java b/src/net/sourceforge/plantuml/command/MultilinesStrategy.java index 8a340c26e..6cd3909bf 100644 --- a/src/net/sourceforge/plantuml/command/MultilinesStrategy.java +++ b/src/net/sourceforge/plantuml/command/MultilinesStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/PSystemAbstractFactory.java b/src/net/sourceforge/plantuml/command/PSystemAbstractFactory.java index b835a1104..db2a70455 100644 --- a/src/net/sourceforge/plantuml/command/PSystemAbstractFactory.java +++ b/src/net/sourceforge/plantuml/command/PSystemAbstractFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/PSystemBasicFactory.java b/src/net/sourceforge/plantuml/command/PSystemBasicFactory.java index 1847d8a18..fc8238772 100644 --- a/src/net/sourceforge/plantuml/command/PSystemBasicFactory.java +++ b/src/net/sourceforge/plantuml/command/PSystemBasicFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/PSystemSingleLineFactory.java b/src/net/sourceforge/plantuml/command/PSystemSingleLineFactory.java index d8446e27d..1df10e770 100644 --- a/src/net/sourceforge/plantuml/command/PSystemSingleLineFactory.java +++ b/src/net/sourceforge/plantuml/command/PSystemSingleLineFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/Position.java b/src/net/sourceforge/plantuml/command/Position.java index e99d766dc..210976d38 100644 --- a/src/net/sourceforge/plantuml/command/Position.java +++ b/src/net/sourceforge/plantuml/command/Position.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16285 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/ProtectedCommand.java b/src/net/sourceforge/plantuml/command/ProtectedCommand.java index 14ee68515..60cfcac88 100644 --- a/src/net/sourceforge/plantuml/command/ProtectedCommand.java +++ b/src/net/sourceforge/plantuml/command/ProtectedCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/SingleLineCommand.java b/src/net/sourceforge/plantuml/command/SingleLineCommand.java index 80c3196e3..fd6c8b743 100644 --- a/src/net/sourceforge/plantuml/command/SingleLineCommand.java +++ b/src/net/sourceforge/plantuml/command/SingleLineCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17468 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.command; diff --git a/src/net/sourceforge/plantuml/command/SingleLineCommand2.java b/src/net/sourceforge/plantuml/command/SingleLineCommand2.java index e31f5ec44..4d43ff6eb 100644 --- a/src/net/sourceforge/plantuml/command/SingleLineCommand2.java +++ b/src/net/sourceforge/plantuml/command/SingleLineCommand2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/UmlDiagramFactory.java b/src/net/sourceforge/plantuml/command/UmlDiagramFactory.java index f99fa6d58..f0d725ffa 100644 --- a/src/net/sourceforge/plantuml/command/UmlDiagramFactory.java +++ b/src/net/sourceforge/plantuml/command/UmlDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.AbstractPSystem; import net.sourceforge.plantuml.CharSequence2; import net.sourceforge.plantuml.ErrorUml; import net.sourceforge.plantuml.ErrorUmlType; +import net.sourceforge.plantuml.NewpagedDiagram; import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.PSystemError; import net.sourceforge.plantuml.StringUtils; @@ -182,6 +183,11 @@ public abstract class UmlDiagramFactory extends PSystemAbstractFactory { for (Command cmd : cmds) { if (isMultilineCommandOk(it.cloneMe(), cmd) != null) { final BlocLines lines = isMultilineCommandOk(it, cmd); + if (system instanceof NewpagedDiagram) { + final NewpagedDiagram newpagedDiagram = (NewpagedDiagram) system; + return cmd.execute(newpagedDiagram.getLastDiagram(), lines); + + } return cmd.execute(system, lines); } } diff --git a/src/net/sourceforge/plantuml/command/note/FactoryNoteActivityCommand.java b/src/net/sourceforge/plantuml/command/note/FactoryNoteActivityCommand.java index 156b99234..dd18b2d71 100644 --- a/src/net/sourceforge/plantuml/command/note/FactoryNoteActivityCommand.java +++ b/src/net/sourceforge/plantuml/command/note/FactoryNoteActivityCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -61,7 +61,7 @@ import net.sourceforge.plantuml.utils.UniqueSequence; public final class FactoryNoteActivityCommand implements SingleMultiFactoryCommand { private RegexConcat getRegexConcatMultiLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left|top|bottom)[%s]*"), // ColorParser.exp1(), // new RegexLeaf("[%s]*"), // @@ -69,7 +69,7 @@ public final class FactoryNoteActivityCommand implements SingleMultiFactoryComma } private RegexConcat getRegexConcatSingleLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left|top|bottom)[%s]*"), // ColorParser.exp1(), // new RegexLeaf("[%s]*:[%s]*"), // @@ -83,7 +83,7 @@ public final class FactoryNoteActivityCommand implements SingleMultiFactoryComma @Override public String getPatternEnd() { - return "(?i)^end[%s]?note$"; + return "(?i)^[%s]*end[%s]?note$"; } public final CommandExecutionResult executeNow(final ActivityDiagram system, BlocLines lines) { diff --git a/src/net/sourceforge/plantuml/command/note/FactoryNoteCommand.java b/src/net/sourceforge/plantuml/command/note/FactoryNoteCommand.java index f38ecd96a..e6cc1a6f1 100644 --- a/src/net/sourceforge/plantuml/command/note/FactoryNoteCommand.java +++ b/src/net/sourceforge/plantuml/command/note/FactoryNoteCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -53,7 +53,7 @@ import net.sourceforge.plantuml.graphic.color.ColorType; public final class FactoryNoteCommand implements SingleMultiFactoryCommand { private RegexConcat getRegexConcatMultiLine() { - return new RegexConcat(new RegexLeaf("^(note)[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*(note)[%s]+"), // new RegexLeaf("CODE", "as[%s]+([\\p{L}0-9_.]+)"), // new RegexLeaf("[%s]*"), // ColorParser.exp1(), // @@ -62,7 +62,7 @@ public final class FactoryNoteCommand implements SingleMultiFactoryCommand { private RegexConcat getRegexConcatSingleLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left|top|bottom)?[%s]*on[%s]+link"), // new RegexLeaf("[%s]*"), // color().getRegex(), // @@ -66,7 +66,7 @@ public final class FactoryNoteOnLinkCommand implements SingleMultiFactoryCommand } private RegexConcat getRegexConcatMultiLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left|top|bottom)?[%s]*on[%s]+link"), // new RegexLeaf("[%s]*"), // color().getRegex(), // @@ -82,7 +82,7 @@ public final class FactoryNoteOnLinkCommand implements SingleMultiFactoryCommand @Override public String getPatternEnd() { - return "(?i)^end[%s]?note$"; + return "(?i)^[%s]*end[%s]?note$"; } public CommandExecutionResult executeNow(final CucaDiagram system, BlocLines lines) { diff --git a/src/net/sourceforge/plantuml/command/note/FactoryTipOnEntityCommand.java b/src/net/sourceforge/plantuml/command/note/FactoryTipOnEntityCommand.java index ddf7662b8..bdc8b98da 100644 --- a/src/net/sourceforge/plantuml/command/note/FactoryTipOnEntityCommand.java +++ b/src/net/sourceforge/plantuml/command/note/FactoryTipOnEntityCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -69,7 +69,7 @@ public final class FactoryTipOnEntityCommand implements SingleMultiFactoryComman } private RegexConcat getRegexConcatMultiLine(IRegex partialPattern, final boolean withBracket) { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left)"), // new RegexLeaf("[%s]+of[%s]+"), partialPattern, // new RegexLeaf("[%s]*"), // @@ -92,7 +92,7 @@ public final class FactoryTipOnEntityCommand implements SingleMultiFactoryComman if (withBracket) { return "(?i)^(\\})$"; } - return "(?i)^(end[%s]?note)$"; + return "(?i)^[%s]*(end[%s]?note)$"; } public CommandExecutionResult executeNow(final AbstractEntityDiagram system, BlocLines lines) { diff --git a/src/net/sourceforge/plantuml/command/note/SingleMultiFactoryCommand.java b/src/net/sourceforge/plantuml/command/note/SingleMultiFactoryCommand.java index 4071ff608..ac8ada631 100644 --- a/src/net/sourceforge/plantuml/command/note/SingleMultiFactoryCommand.java +++ b/src/net/sourceforge/plantuml/command/note/SingleMultiFactoryCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteCommand.java b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteCommand.java index 8e09273aa..608de29c6 100644 --- a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteCommand.java +++ b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOnArrowCommand.java b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOnArrowCommand.java index 7db30f243..9a1f079c6 100644 --- a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOnArrowCommand.java +++ b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOnArrowCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -56,14 +56,14 @@ import net.sourceforge.plantuml.sequencediagram.SequenceDiagram; public final class FactorySequenceNoteOnArrowCommand implements SingleMultiFactoryCommand { private RegexConcat getRegexConcatMultiLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left)[%s]*"), // ColorParser.exp1(), // new RegexLeaf("$")); } private RegexConcat getRegexConcatSingleLine() { - return new RegexConcat(new RegexLeaf("^note[%s]+"), // + return new RegexConcat(new RegexLeaf("^[%s]*note[%s]+"), // new RegexLeaf("POSITION", "(right|left)[%s]*"), // ColorParser.exp1(), // new RegexLeaf("[%s]*:[%s]*"), // @@ -88,7 +88,7 @@ public final class FactorySequenceNoteOnArrowCommand implements SingleMultiFacto @Override public String getPatternEnd() { - return "(?i)^end[%s]?note$"; + return "(?i)^[%s]*end[%s]?note$"; } public CommandExecutionResult executeNow(final SequenceDiagram system, BlocLines lines) { diff --git a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOverSeveralCommand.java b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOverSeveralCommand.java index 2686a5e30..db64f1827 100644 --- a/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOverSeveralCommand.java +++ b/src/net/sourceforge/plantuml/command/note/sequence/FactorySequenceNoteOverSeveralCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/IRegex.java b/src/net/sourceforge/plantuml/command/regex/IRegex.java index ac61ed47c..f37c3c850 100644 --- a/src/net/sourceforge/plantuml/command/regex/IRegex.java +++ b/src/net/sourceforge/plantuml/command/regex/IRegex.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/MatcherIterator.java b/src/net/sourceforge/plantuml/command/regex/MatcherIterator.java index 9feefd87e..ed3a4e115 100644 --- a/src/net/sourceforge/plantuml/command/regex/MatcherIterator.java +++ b/src/net/sourceforge/plantuml/command/regex/MatcherIterator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/MyPattern.java b/src/net/sourceforge/plantuml/command/regex/MyPattern.java index 6a7967d2e..4b09b9aa7 100644 --- a/src/net/sourceforge/plantuml/command/regex/MyPattern.java +++ b/src/net/sourceforge/plantuml/command/regex/MyPattern.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexComposed.java b/src/net/sourceforge/plantuml/command/regex/RegexComposed.java index 490cfdfb9..d0b38295d 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexComposed.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexComposed.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexConcat.java b/src/net/sourceforge/plantuml/command/regex/RegexConcat.java index 06b7f0f13..5c782a8b8 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexConcat.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexConcat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexLeaf.java b/src/net/sourceforge/plantuml/command/regex/RegexLeaf.java index 12747d1c0..f0d0b3793 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexLeaf.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexLeaf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexOptional.java b/src/net/sourceforge/plantuml/command/regex/RegexOptional.java index 8bb225c88..ffa3c3f95 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexOptional.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexOptional.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexOr.java b/src/net/sourceforge/plantuml/command/regex/RegexOr.java index 17a118263..556556280 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexOr.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexOr.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexPartialMatch.java b/src/net/sourceforge/plantuml/command/regex/RegexPartialMatch.java index 41fe9bf0d..ec9b70e16 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexPartialMatch.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexPartialMatch.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/command/regex/RegexResult.java b/src/net/sourceforge/plantuml/command/regex/RegexResult.java index e47c1d901..df288c52b 100644 --- a/src/net/sourceforge/plantuml/command/regex/RegexResult.java +++ b/src/net/sourceforge/plantuml/command/regex/RegexResult.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/CompositeDiagram.java b/src/net/sourceforge/plantuml/compositediagram/CompositeDiagram.java index 24617d7e3..6b5da670b 100644 --- a/src/net/sourceforge/plantuml/compositediagram/CompositeDiagram.java +++ b/src/net/sourceforge/plantuml/compositediagram/CompositeDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/CompositeDiagramFactory.java b/src/net/sourceforge/plantuml/compositediagram/CompositeDiagramFactory.java index 835441f0f..90537df5b 100644 --- a/src/net/sourceforge/plantuml/compositediagram/CompositeDiagramFactory.java +++ b/src/net/sourceforge/plantuml/compositediagram/CompositeDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/command/CommandCreateBlock.java b/src/net/sourceforge/plantuml/compositediagram/command/CommandCreateBlock.java index 2647edf23..fbdc3986c 100644 --- a/src/net/sourceforge/plantuml/compositediagram/command/CommandCreateBlock.java +++ b/src/net/sourceforge/plantuml/compositediagram/command/CommandCreateBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/command/CommandCreatePackageBlock.java b/src/net/sourceforge/plantuml/compositediagram/command/CommandCreatePackageBlock.java index 71e7e4697..b64494bef 100644 --- a/src/net/sourceforge/plantuml/compositediagram/command/CommandCreatePackageBlock.java +++ b/src/net/sourceforge/plantuml/compositediagram/command/CommandCreatePackageBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/command/CommandEndPackageBlock.java b/src/net/sourceforge/plantuml/compositediagram/command/CommandEndPackageBlock.java index b02d7649d..8c8b1a6be 100644 --- a/src/net/sourceforge/plantuml/compositediagram/command/CommandEndPackageBlock.java +++ b/src/net/sourceforge/plantuml/compositediagram/command/CommandEndPackageBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/compositediagram/command/CommandLinkBlock.java b/src/net/sourceforge/plantuml/compositediagram/command/CommandLinkBlock.java index b9c8fdb83..3b2ce8831 100644 --- a/src/net/sourceforge/plantuml/compositediagram/command/CommandLinkBlock.java +++ b/src/net/sourceforge/plantuml/compositediagram/command/CommandLinkBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/core/Diagram.java b/src/net/sourceforge/plantuml/core/Diagram.java index 6073a2676..cbaa0f613 100644 --- a/src/net/sourceforge/plantuml/core/Diagram.java +++ b/src/net/sourceforge/plantuml/core/Diagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14544 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.core; diff --git a/src/net/sourceforge/plantuml/core/DiagramDescription.java b/src/net/sourceforge/plantuml/core/DiagramDescription.java index 8100fed21..67c29c4c8 100644 --- a/src/net/sourceforge/plantuml/core/DiagramDescription.java +++ b/src/net/sourceforge/plantuml/core/DiagramDescription.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/core/DiagramDescriptionImpl.java b/src/net/sourceforge/plantuml/core/DiagramDescriptionImpl.java index e3fe721b7..128971d2d 100644 --- a/src/net/sourceforge/plantuml/core/DiagramDescriptionImpl.java +++ b/src/net/sourceforge/plantuml/core/DiagramDescriptionImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/core/DiagramType.java b/src/net/sourceforge/plantuml/core/DiagramType.java index d5c2c1f87..16cb162a9 100644 --- a/src/net/sourceforge/plantuml/core/DiagramType.java +++ b/src/net/sourceforge/plantuml/core/DiagramType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/core/ImageData.java b/src/net/sourceforge/plantuml/core/ImageData.java index 28d67fc28..16fe3a24a 100644 --- a/src/net/sourceforge/plantuml/core/ImageData.java +++ b/src/net/sourceforge/plantuml/core/ImageData.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/core/UmlSource.java b/src/net/sourceforge/plantuml/core/UmlSource.java index b1e365906..4a0c1d1f4 100644 --- a/src/net/sourceforge/plantuml/core/UmlSource.java +++ b/src/net/sourceforge/plantuml/core/UmlSource.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Atom.java b/src/net/sourceforge/plantuml/creole/Atom.java index f9d650d88..d0d2009a5 100644 --- a/src/net/sourceforge/plantuml/creole/Atom.java +++ b/src/net/sourceforge/plantuml/creole/Atom.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomEmbededSystem.java b/src/net/sourceforge/plantuml/creole/AtomEmbededSystem.java index 0e9e1ddc7..92120a39f 100644 --- a/src/net/sourceforge/plantuml/creole/AtomEmbededSystem.java +++ b/src/net/sourceforge/plantuml/creole/AtomEmbededSystem.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomImg.java b/src/net/sourceforge/plantuml/creole/AtomImg.java index 1d0925aa7..9361d8b39 100644 --- a/src/net/sourceforge/plantuml/creole/AtomImg.java +++ b/src/net/sourceforge/plantuml/creole/AtomImg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomOpenIcon.java b/src/net/sourceforge/plantuml/creole/AtomOpenIcon.java index d7872c9e8..3232d7e49 100644 --- a/src/net/sourceforge/plantuml/creole/AtomOpenIcon.java +++ b/src/net/sourceforge/plantuml/creole/AtomOpenIcon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomSpace.java b/src/net/sourceforge/plantuml/creole/AtomSpace.java index 47ab34528..54ab6afed 100644 --- a/src/net/sourceforge/plantuml/creole/AtomSpace.java +++ b/src/net/sourceforge/plantuml/creole/AtomSpace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomSprite.java b/src/net/sourceforge/plantuml/creole/AtomSprite.java index 43f3cd15c..b87ff8082 100644 --- a/src/net/sourceforge/plantuml/creole/AtomSprite.java +++ b/src/net/sourceforge/plantuml/creole/AtomSprite.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomTable.java b/src/net/sourceforge/plantuml/creole/AtomTable.java index 1068d50d8..b6325ee76 100644 --- a/src/net/sourceforge/plantuml/creole/AtomTable.java +++ b/src/net/sourceforge/plantuml/creole/AtomTable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomText.java b/src/net/sourceforge/plantuml/creole/AtomText.java index 6d31d51b6..9f5504894 100644 --- a/src/net/sourceforge/plantuml/creole/AtomText.java +++ b/src/net/sourceforge/plantuml/creole/AtomText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomTree.java b/src/net/sourceforge/plantuml/creole/AtomTree.java index 80970bcde..b137f670b 100644 --- a/src/net/sourceforge/plantuml/creole/AtomTree.java +++ b/src/net/sourceforge/plantuml/creole/AtomTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/AtomWithMargin.java b/src/net/sourceforge/plantuml/creole/AtomWithMargin.java index 661a013b2..cd9c31fde 100644 --- a/src/net/sourceforge/plantuml/creole/AtomWithMargin.java +++ b/src/net/sourceforge/plantuml/creole/AtomWithMargin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Bullet.java b/src/net/sourceforge/plantuml/creole/Bullet.java index 37247fac6..44dedeb6b 100644 --- a/src/net/sourceforge/plantuml/creole/Bullet.java +++ b/src/net/sourceforge/plantuml/creole/Bullet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Command.java b/src/net/sourceforge/plantuml/creole/Command.java index 670d5c0f5..71fcc6a5d 100644 --- a/src/net/sourceforge/plantuml/creole/Command.java +++ b/src/net/sourceforge/plantuml/creole/Command.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleColorAndSizeChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleColorAndSizeChange.java index 8d5f448aa..a1bccfc80 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleColorAndSizeChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleColorAndSizeChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleColorChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleColorChange.java index 04c26a61a..b03d70d9d 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleColorChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleColorChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleExposantChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleExposantChange.java index 680b61089..c4580b446 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleExposantChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleExposantChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleFontFamilyChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleFontFamilyChange.java index 847154e71..4b60faa15 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleFontFamilyChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleFontFamilyChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleImg.java b/src/net/sourceforge/plantuml/creole/CommandCreoleImg.java index 39ece144b..f7a2bafe6 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleImg.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleImg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleMonospaced.java b/src/net/sourceforge/plantuml/creole/CommandCreoleMonospaced.java index 1c9ecf731..d8b04e314 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleMonospaced.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleMonospaced.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleOpenIcon.java b/src/net/sourceforge/plantuml/creole/CommandCreoleOpenIcon.java index f55ba878f..44701084c 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleOpenIcon.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleOpenIcon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleSizeChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleSizeChange.java index e4966679b..67ca74a95 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleSizeChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleSizeChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleSpace.java b/src/net/sourceforge/plantuml/creole/CommandCreoleSpace.java index 2380cbfd2..ca1aede53 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleSpace.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleSpace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleSprite.java b/src/net/sourceforge/plantuml/creole/CommandCreoleSprite.java index 63ba1b864..3121c6395 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleSprite.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleSprite.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleStyle.java b/src/net/sourceforge/plantuml/creole/CommandCreoleStyle.java index 6e7f9e4ac..228603b2d 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleStyle.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleSvgAttributeChange.java b/src/net/sourceforge/plantuml/creole/CommandCreoleSvgAttributeChange.java index 7b9b3daf4..4dd5bbe03 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleSvgAttributeChange.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleSvgAttributeChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CommandCreoleUrl.java b/src/net/sourceforge/plantuml/creole/CommandCreoleUrl.java index 1a4e13f64..0a701fb61 100644 --- a/src/net/sourceforge/plantuml/creole/CommandCreoleUrl.java +++ b/src/net/sourceforge/plantuml/creole/CommandCreoleUrl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CreoleContext.java b/src/net/sourceforge/plantuml/creole/CreoleContext.java index bf4610e34..d8ac388de 100644 --- a/src/net/sourceforge/plantuml/creole/CreoleContext.java +++ b/src/net/sourceforge/plantuml/creole/CreoleContext.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CreoleHorizontalLine.java b/src/net/sourceforge/plantuml/creole/CreoleHorizontalLine.java index 84292ae35..3c2d2ada5 100644 --- a/src/net/sourceforge/plantuml/creole/CreoleHorizontalLine.java +++ b/src/net/sourceforge/plantuml/creole/CreoleHorizontalLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CreoleMode.java b/src/net/sourceforge/plantuml/creole/CreoleMode.java index bde8f00c8..d567d8e6b 100644 --- a/src/net/sourceforge/plantuml/creole/CreoleMode.java +++ b/src/net/sourceforge/plantuml/creole/CreoleMode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CreoleParser.java b/src/net/sourceforge/plantuml/creole/CreoleParser.java index 0222062cf..b484aa4ff 100644 --- a/src/net/sourceforge/plantuml/creole/CreoleParser.java +++ b/src/net/sourceforge/plantuml/creole/CreoleParser.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/CreoleStripeSimpleParser.java b/src/net/sourceforge/plantuml/creole/CreoleStripeSimpleParser.java index f4e48084a..620279ca9 100644 --- a/src/net/sourceforge/plantuml/creole/CreoleStripeSimpleParser.java +++ b/src/net/sourceforge/plantuml/creole/CreoleStripeSimpleParser.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Fission.java b/src/net/sourceforge/plantuml/creole/Fission.java index 58f314d9d..d60e1b4a8 100644 --- a/src/net/sourceforge/plantuml/creole/Fission.java +++ b/src/net/sourceforge/plantuml/creole/Fission.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/PSystemCreole.java b/src/net/sourceforge/plantuml/creole/PSystemCreole.java index fc3a3af98..fb6c82797 100644 --- a/src/net/sourceforge/plantuml/creole/PSystemCreole.java +++ b/src/net/sourceforge/plantuml/creole/PSystemCreole.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/PSystemCreoleFactory.java b/src/net/sourceforge/plantuml/creole/PSystemCreoleFactory.java index aee2e0dfe..56c0b4e60 100644 --- a/src/net/sourceforge/plantuml/creole/PSystemCreoleFactory.java +++ b/src/net/sourceforge/plantuml/creole/PSystemCreoleFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Position.java b/src/net/sourceforge/plantuml/creole/Position.java index a80d717d4..9981e67a2 100644 --- a/src/net/sourceforge/plantuml/creole/Position.java +++ b/src/net/sourceforge/plantuml/creole/Position.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Sea.java b/src/net/sourceforge/plantuml/creole/Sea.java index 7694456a3..9d3787458 100644 --- a/src/net/sourceforge/plantuml/creole/Sea.java +++ b/src/net/sourceforge/plantuml/creole/Sea.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Sheet.java b/src/net/sourceforge/plantuml/creole/Sheet.java index 314ccf8ba..b1864b03b 100644 --- a/src/net/sourceforge/plantuml/creole/Sheet.java +++ b/src/net/sourceforge/plantuml/creole/Sheet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/SheetBlock1.java b/src/net/sourceforge/plantuml/creole/SheetBlock1.java index c6506526a..bfce9c367 100644 --- a/src/net/sourceforge/plantuml/creole/SheetBlock1.java +++ b/src/net/sourceforge/plantuml/creole/SheetBlock1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/SheetBlock2.java b/src/net/sourceforge/plantuml/creole/SheetBlock2.java index e7f246d5e..f469821c9 100644 --- a/src/net/sourceforge/plantuml/creole/SheetBlock2.java +++ b/src/net/sourceforge/plantuml/creole/SheetBlock2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Stencil.java b/src/net/sourceforge/plantuml/creole/Stencil.java index 4bd03c8ac..14ebd3fa2 100644 --- a/src/net/sourceforge/plantuml/creole/Stencil.java +++ b/src/net/sourceforge/plantuml/creole/Stencil.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/Stripe.java b/src/net/sourceforge/plantuml/creole/Stripe.java index 2810a5aed..fbe5d44e6 100644 --- a/src/net/sourceforge/plantuml/creole/Stripe.java +++ b/src/net/sourceforge/plantuml/creole/Stripe.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/StripeSimple.java b/src/net/sourceforge/plantuml/creole/StripeSimple.java index 679821112..7c8e14b40 100644 --- a/src/net/sourceforge/plantuml/creole/StripeSimple.java +++ b/src/net/sourceforge/plantuml/creole/StripeSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/StripeStyle.java b/src/net/sourceforge/plantuml/creole/StripeStyle.java index f0616d3b1..3f59f5f0c 100644 --- a/src/net/sourceforge/plantuml/creole/StripeStyle.java +++ b/src/net/sourceforge/plantuml/creole/StripeStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/StripeStyleType.java b/src/net/sourceforge/plantuml/creole/StripeStyleType.java index 3bec5662f..3b5d46338 100644 --- a/src/net/sourceforge/plantuml/creole/StripeStyleType.java +++ b/src/net/sourceforge/plantuml/creole/StripeStyleType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/StripeTable.java b/src/net/sourceforge/plantuml/creole/StripeTable.java index 0a9958141..239a745d3 100644 --- a/src/net/sourceforge/plantuml/creole/StripeTable.java +++ b/src/net/sourceforge/plantuml/creole/StripeTable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/StripeTree.java b/src/net/sourceforge/plantuml/creole/StripeTree.java index cfabf7c18..ec0072118 100644 --- a/src/net/sourceforge/plantuml/creole/StripeTree.java +++ b/src/net/sourceforge/plantuml/creole/StripeTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/creole/UCreole.java b/src/net/sourceforge/plantuml/creole/UCreole.java index a47b970f3..9ef4ac3cb 100644 --- a/src/net/sourceforge/plantuml/creole/UCreole.java +++ b/src/net/sourceforge/plantuml/creole/UCreole.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Bodier.java b/src/net/sourceforge/plantuml/cucadiagram/Bodier.java index ab3b4b396..54afd4c65 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Bodier.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Bodier.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -51,11 +51,17 @@ public class Bodier { private final List rawBody = new ArrayList(); private final Set hides; - private final LeafType type; + private LeafType type; private List methodsToDisplay; private List fieldsToDisplay; private final boolean manageModifier; + public void muteClassToObject() { + methodsToDisplay = null; + fieldsToDisplay = null; + type = LeafType.OBJECT; + } + public Bodier(LeafType type, Set hides) { this.hides = hides; this.type = type; diff --git a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced.java b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced.java index 01c3a3099..3e861ce89 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced.java +++ b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced2.java b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced2.java index 716e6793b..7692a0856 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced2.java +++ b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Code.java b/src/net/sourceforge/plantuml/cucadiagram/Code.java index effcac311..18a17ce74 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Code.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Code.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/CucaDiagram.java b/src/net/sourceforge/plantuml/cucadiagram/CucaDiagram.java index f50a2bbfa..164e2fab4 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/CucaDiagram.java +++ b/src/net/sourceforge/plantuml/cucadiagram/CucaDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16520 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; @@ -112,6 +112,9 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy, result = createLeafInternal(code, Display.getWithNewlines(code), type, getCurrentGroup(), symbol); result.setUSymbol(symbol); } + if (result.getEntityType() == LeafType.CLASS && type == LeafType.OBJECT) { + result.muteToType(type, symbol); + } this.lastEntity = result; return result; } @@ -154,8 +157,7 @@ public abstract class CucaDiagram extends UmlDiagram implements GroupHierarchy, return g; } - private IGroup getOrCreateGroupInternal(Code code, Display display, Code namespace2, GroupType type, - IGroup parent) { + private IGroup getOrCreateGroupInternal(Code code, Display display, Code namespace2, GroupType type, IGroup parent) { IGroup result = entityFactory.getGroups().get(code); if (result != null) { return result; diff --git a/src/net/sourceforge/plantuml/cucadiagram/Display.java b/src/net/sourceforge/plantuml/cucadiagram/Display.java index 338f51b3b..41165a562 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Display.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Display.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -81,6 +81,12 @@ public class Display implements Iterable { // this.defaultCreoleMode = defaultCreoleMode; // } + public Display removeUrlHiddenNewLineUrl() { + final String full = UrlBuilder.purgeUrl(asStringWithHiddenNewLine()); + return new Display(StringUtils.splitHiddenNewLine(full), this.naturalHorizontalAlignment, this.isNull, + this.defaultCreoleMode); + } + public final static Display NULL = new Display(null, null, true, CreoleMode.FULL); public boolean isWhite() { @@ -201,6 +207,17 @@ public class Display implements Iterable { return new Display(this, mode); } + public String asStringWithHiddenNewLine() { + final StringBuilder sb = new StringBuilder(); + for (int i = 0; i < display.size(); i++) { + sb.append(display.get(i)); + if (i < display.size() - 1) { + sb.append(StringUtils.hiddenNewLine()); + } + } + return sb.toString(); + } + @Override public String toString() { if (isNull) { @@ -326,9 +343,9 @@ public class Display implements Iterable { // ------ public static boolean isNull(Display display) { -// if (display == null) { -// throw new IllegalArgumentException(); -// } + // if (display == null) { + // throw new IllegalArgumentException(); + // } return display == null || display.isNull; } diff --git a/src/net/sourceforge/plantuml/cucadiagram/EntityGender.java b/src/net/sourceforge/plantuml/cucadiagram/EntityGender.java index bef5fe643..c0acf1637 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/EntityGender.java +++ b/src/net/sourceforge/plantuml/cucadiagram/EntityGender.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/EntityGenderUtils.java b/src/net/sourceforge/plantuml/cucadiagram/EntityGenderUtils.java index b0aab600a..5e88d364f 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/EntityGenderUtils.java +++ b/src/net/sourceforge/plantuml/cucadiagram/EntityGenderUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/EntityPortion.java b/src/net/sourceforge/plantuml/cucadiagram/EntityPortion.java index 36b80c8ba..12cb44273 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/EntityPortion.java +++ b/src/net/sourceforge/plantuml/cucadiagram/EntityPortion.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/EntityPosition.java b/src/net/sourceforge/plantuml/cucadiagram/EntityPosition.java index 8f210efe5..e7cf3fce4 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/EntityPosition.java +++ b/src/net/sourceforge/plantuml/cucadiagram/EntityPosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/EntityUtils.java b/src/net/sourceforge/plantuml/cucadiagram/EntityUtils.java index 3a29e1ad8..21cbc481e 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/EntityUtils.java +++ b/src/net/sourceforge/plantuml/cucadiagram/EntityUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/GroupHierarchy.java b/src/net/sourceforge/plantuml/cucadiagram/GroupHierarchy.java index 1cf58c2a7..9bfb07c61 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/GroupHierarchy.java +++ b/src/net/sourceforge/plantuml/cucadiagram/GroupHierarchy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; diff --git a/src/net/sourceforge/plantuml/cucadiagram/GroupPrinter.java b/src/net/sourceforge/plantuml/cucadiagram/GroupPrinter.java index 6bff09ec0..ba2ddb778 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/GroupPrinter.java +++ b/src/net/sourceforge/plantuml/cucadiagram/GroupPrinter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/GroupRoot.java b/src/net/sourceforge/plantuml/cucadiagram/GroupRoot.java index be8600f6f..c74d28957 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/GroupRoot.java +++ b/src/net/sourceforge/plantuml/cucadiagram/GroupRoot.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.FontParam; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Url; import net.sourceforge.plantuml.cucadiagram.entity.EntityFactory; +import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.TextBlock; import net.sourceforge.plantuml.graphic.USymbol; @@ -216,10 +217,6 @@ public class GroupRoot implements IGroup { throw new UnsupportedOperationException(); } - public FontParam getTitleFontParam() { - throw new UnsupportedOperationException(); - } - public int getRawLayout() { throw new UnsupportedOperationException(); } @@ -229,7 +226,7 @@ public class GroupRoot implements IGroup { } public void setConcurrentSeparator(char separator) { - throw new UnsupportedOperationException(); + // throw new UnsupportedOperationException(); } public void putTip(String member, Display display) { @@ -268,4 +265,8 @@ public class GroupRoot implements IGroup { throw new UnsupportedOperationException(); } + public FontConfiguration getFontConfigurationForTitle(ISkinParam skinParam) { + throw new UnsupportedOperationException(); + } + } diff --git a/src/net/sourceforge/plantuml/cucadiagram/GroupType.java b/src/net/sourceforge/plantuml/cucadiagram/GroupType.java index f85a9ddce..7bbf52dba 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/GroupType.java +++ b/src/net/sourceforge/plantuml/cucadiagram/GroupType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; diff --git a/src/net/sourceforge/plantuml/cucadiagram/IEntity.java b/src/net/sourceforge/plantuml/cucadiagram/IEntity.java index 02dd83ae5..ca24cfc0b 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/IEntity.java +++ b/src/net/sourceforge/plantuml/cucadiagram/IEntity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/IGroup.java b/src/net/sourceforge/plantuml/cucadiagram/IGroup.java index a6464849b..40359b8b5 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/IGroup.java +++ b/src/net/sourceforge/plantuml/cucadiagram/IGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -35,7 +35,8 @@ package net.sourceforge.plantuml.cucadiagram; import java.util.Collection; -import net.sourceforge.plantuml.FontParam; +import net.sourceforge.plantuml.ISkinParam; +import net.sourceforge.plantuml.graphic.FontConfiguration; import net.sourceforge.plantuml.svek.IEntityImage; import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.svek.SingleStrategy; @@ -66,9 +67,9 @@ public interface IGroup extends IEntity { public SingleStrategy getSingleStrategy(); - public FontParam getTitleFontParam(); - + public FontConfiguration getFontConfigurationForTitle(ISkinParam skinParam); + public char getConcurrentSeparator(); - + public void setConcurrentSeparator(char separator); } diff --git a/src/net/sourceforge/plantuml/cucadiagram/ILeaf.java b/src/net/sourceforge/plantuml/cucadiagram/ILeaf.java index 000a0c6b1..d55f124fc 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/ILeaf.java +++ b/src/net/sourceforge/plantuml/cucadiagram/ILeaf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Ident.java b/src/net/sourceforge/plantuml/cucadiagram/Ident.java index 7b91f1926..2cb1d6683 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Ident.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Ident.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LeafType.java b/src/net/sourceforge/plantuml/cucadiagram/LeafType.java index 91353b439..8833e4449 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LeafType.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LeafType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16249 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; diff --git a/src/net/sourceforge/plantuml/cucadiagram/Link.java b/src/net/sourceforge/plantuml/cucadiagram/Link.java index 4492e6aa9..f5f0b7ffa 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Link.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Link.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17068 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkArrow.java b/src/net/sourceforge/plantuml/cucadiagram/LinkArrow.java index dc5f8ac44..fa2475645 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkArrow.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkDecor.java b/src/net/sourceforge/plantuml/cucadiagram/LinkDecor.java index 0ecc4943c..51d1356f2 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkDecor.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkDecor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkHat.java b/src/net/sourceforge/plantuml/cucadiagram/LinkHat.java index ede628ed4..6ee16bf42 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkHat.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkHat.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkMiddleDecor.java b/src/net/sourceforge/plantuml/cucadiagram/LinkMiddleDecor.java index 78bde9550..fd984258c 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkMiddleDecor.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkMiddleDecor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkStyle.java b/src/net/sourceforge/plantuml/cucadiagram/LinkStyle.java index 44fcbe69e..d5be0ebaa 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkStyle.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkType.java b/src/net/sourceforge/plantuml/cucadiagram/LinkType.java index 408a3eb95..c11d84a76 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkType.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/LongCode.java b/src/net/sourceforge/plantuml/cucadiagram/LongCode.java index 76c5eb8c3..e46b091c0 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LongCode.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LongCode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Magma.java b/src/net/sourceforge/plantuml/cucadiagram/Magma.java index 9b71724d9..d5ee61a9c 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Magma.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Magma.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/MagmaList.java b/src/net/sourceforge/plantuml/cucadiagram/MagmaList.java index bf8db4cb5..b36be0f88 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/MagmaList.java +++ b/src/net/sourceforge/plantuml/cucadiagram/MagmaList.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Member.java b/src/net/sourceforge/plantuml/cucadiagram/Member.java index a67d293e3..d68efbbaa 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Member.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Member.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/MemberImpl.java b/src/net/sourceforge/plantuml/cucadiagram/MemberImpl.java index 962b95a46..cb6fff61f 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/MemberImpl.java +++ b/src/net/sourceforge/plantuml/cucadiagram/MemberImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/MethodsOrFieldsArea.java b/src/net/sourceforge/plantuml/cucadiagram/MethodsOrFieldsArea.java index 392ef88c7..1e16815e4 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/MethodsOrFieldsArea.java +++ b/src/net/sourceforge/plantuml/cucadiagram/MethodsOrFieldsArea.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Namespace.java b/src/net/sourceforge/plantuml/cucadiagram/Namespace.java index ada0b0dab..6e9da3796 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Namespace.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Namespace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/PortionShower.java b/src/net/sourceforge/plantuml/cucadiagram/PortionShower.java index d7fa06ae4..b571775cd 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/PortionShower.java +++ b/src/net/sourceforge/plantuml/cucadiagram/PortionShower.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Rankdir.java b/src/net/sourceforge/plantuml/cucadiagram/Rankdir.java index db8e1e1d8..3ddad4ff6 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Rankdir.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Rankdir.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15146 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram; diff --git a/src/net/sourceforge/plantuml/cucadiagram/RuleType.java b/src/net/sourceforge/plantuml/cucadiagram/RuleType.java index 931818bbe..7b52c7588 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/RuleType.java +++ b/src/net/sourceforge/plantuml/cucadiagram/RuleType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/SquareLinker.java b/src/net/sourceforge/plantuml/cucadiagram/SquareLinker.java index 228e99b52..561ea84eb 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/SquareLinker.java +++ b/src/net/sourceforge/plantuml/cucadiagram/SquareLinker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/SquareMaker.java b/src/net/sourceforge/plantuml/cucadiagram/SquareMaker.java index 0cf7749f8..ada2e7664 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/SquareMaker.java +++ b/src/net/sourceforge/plantuml/cucadiagram/SquareMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/Stereotype.java b/src/net/sourceforge/plantuml/cucadiagram/Stereotype.java index bdc719230..49dda0e73 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/Stereotype.java +++ b/src/net/sourceforge/plantuml/cucadiagram/Stereotype.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16159 $ + * Revision $Revision: 18291 $ * */ package net.sourceforge.plantuml.cucadiagram; @@ -53,7 +53,7 @@ public class Stereotype implements CharSequence, Hideable { private final static Pattern circleChar = MyPattern .cmpile("\\<\\<[%s]*\\(?(\\S)[%s]*,[%s]*(#[0-9a-fA-F]{6}|\\w+)[%s]*(?:[),](.*?))?\\>\\>"); private final static Pattern circleSprite = MyPattern - .cmpile("\\<\\<[%s]*\\(?\\$([\\p{L}0-9_]+)[%s]*(?:,[%s]*(#[0-9a-fA-F]{6}|\\w+))?[%s]*(?:[),](.*?))?\\>\\>"); + .cmpile("\\<\\<[%s]*\\(?\\$([-\\p{L}0-9_/]+)[%s]*(?:,[%s]*(#[0-9a-fA-F]{6}|\\w+))?[%s]*(?:[),](.*?))?\\>\\>"); private final String label; private final HtmlColor htmlColor; @@ -120,7 +120,11 @@ public class Stereotype implements CharSequence, Hideable { this.character = '\0'; this.radius = 0; this.circledFont = null; - this.sprite = null; + if (label.startsWith("<<$") && label.endsWith(">>")) { + this.sprite = label.substring(3, label.length() - 2); + } else { + this.sprite = null; + } } public HtmlColor getHtmlColor() { diff --git a/src/net/sourceforge/plantuml/cucadiagram/UnparsableGraphvizException.java b/src/net/sourceforge/plantuml/cucadiagram/UnparsableGraphvizException.java index 6f510dddf..14b091178 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/UnparsableGraphvizException.java +++ b/src/net/sourceforge/plantuml/cucadiagram/UnparsableGraphvizException.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/AbstractGraphviz.java b/src/net/sourceforge/plantuml/cucadiagram/dot/AbstractGraphviz.java index bece1d67a..3b763db8a 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/AbstractGraphviz.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/AbstractGraphviz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16447 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramPngMaker3.java b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramPngMaker3.java index d5554ca18..ee9bf55fa 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramPngMaker3.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramPngMaker3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12850 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierActivity.java b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierActivity.java index 5372d897f..26b33cc51 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierActivity.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierState.java b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierState.java index 01534fddb..11a3e5012 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierState.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramSimplifierState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramTxtMaker.java b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramTxtMaker.java index eba1736fa..f948cb13f 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramTxtMaker.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/CucaDiagramTxtMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/DebugTrace.java b/src/net/sourceforge/plantuml/cucadiagram/dot/DebugTrace.java index e9f68ace7..7130a1020 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/DebugTrace.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/DebugTrace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/DotData.java b/src/net/sourceforge/plantuml/cucadiagram/dot/DotData.java index 2df40069b..280d388b9 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/DotData.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/DotData.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15561 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/DotMaker2.java b/src/net/sourceforge/plantuml/cucadiagram/dot/DotMaker2.java index 688f68b79..de8f410c4 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/DotMaker2.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/DotMaker2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/DotSplines.java b/src/net/sourceforge/plantuml/cucadiagram/dot/DotSplines.java index bcf166ace..0f83a87d3 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/DotSplines.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/DotSplines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/Graphviz.java b/src/net/sourceforge/plantuml/cucadiagram/dot/Graphviz.java index 68a6b799e..87ef04106 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/Graphviz.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/Graphviz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15599 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLayoutStrategy.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLayoutStrategy.java index 1750999eb..152876d35 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLayoutStrategy.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLayoutStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLinux.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLinux.java index cf77e29ef..e5fdc0db4 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLinux.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLinux.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizUtils.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizUtils.java index bfa938b0b..8d819a216 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizUtils.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14590 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersion.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersion.java index bb15193d7..09c5e14ed 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersion.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersion.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersionFinder.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersionFinder.java index 773954458..9fae2806d 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersionFinder.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersionFinder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersions.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersions.java index d503b8865..144d5db45 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersions.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizVersions.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizWindows.java b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizWindows.java index 0c6751364..07c346f1a 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizWindows.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizWindows.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14727 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.cucadiagram.dot; diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/Neighborhood.java b/src/net/sourceforge/plantuml/cucadiagram/dot/Neighborhood.java index 611f860e0..007e121fb 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/Neighborhood.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/Neighborhood.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/OS.java b/src/net/sourceforge/plantuml/cucadiagram/dot/OS.java index c75bf4b5e..5a0d239c7 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/OS.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/OS.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/OSLinux.java b/src/net/sourceforge/plantuml/cucadiagram/dot/OSLinux.java index e51c383b4..5dec048ae 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/OSLinux.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/OSLinux.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/OSWindows.java b/src/net/sourceforge/plantuml/cucadiagram/dot/OSWindows.java index 280a43c81..61b588386 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/OSWindows.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/OSWindows.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessRunner.java b/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessRunner.java index 504ea0177..7330ae17c 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessRunner.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessRunner.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessState.java b/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessState.java index f7b9e4a5b..502c2aab5 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessState.java +++ b/src/net/sourceforge/plantuml/cucadiagram/dot/ProcessState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/entity/EntityFactory.java b/src/net/sourceforge/plantuml/cucadiagram/entity/EntityFactory.java index f378d5116..570dab999 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/entity/EntityFactory.java +++ b/src/net/sourceforge/plantuml/cucadiagram/entity/EntityFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cucadiagram/entity/EntityImpl.java b/src/net/sourceforge/plantuml/cucadiagram/entity/EntityImpl.java index 1ccb63ce1..e6d5b7cdb 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/entity/EntityImpl.java +++ b/src/net/sourceforge/plantuml/cucadiagram/entity/EntityImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -58,6 +58,8 @@ import net.sourceforge.plantuml.cucadiagram.Link; import net.sourceforge.plantuml.cucadiagram.LongCode; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.cucadiagram.dot.Neighborhood; +import net.sourceforge.plantuml.graphic.FontConfiguration; +import net.sourceforge.plantuml.graphic.HorizontalAlignment; import net.sourceforge.plantuml.graphic.HtmlColor; import net.sourceforge.plantuml.graphic.USymbol; import net.sourceforge.plantuml.graphic.color.ColorType; @@ -65,6 +67,7 @@ import net.sourceforge.plantuml.graphic.color.Colors; import net.sourceforge.plantuml.svek.IEntityImage; import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.svek.SingleStrategy; +import net.sourceforge.plantuml.ugraphic.UFont; import net.sourceforge.plantuml.utils.UniqueSequence; final class EntityImpl implements ILeaf, IGroup { @@ -165,10 +168,13 @@ final class EntityImpl implements ILeaf, IGroup { throw new IllegalArgumentException("type=" + leafType); } if (newType != LeafType.ANNOTATION && newType != LeafType.ABSTRACT_CLASS && newType != LeafType.CLASS - && newType != LeafType.ENUM && newType != LeafType.INTERFACE) { + && newType != LeafType.ENUM && newType != LeafType.INTERFACE && newType != LeafType.OBJECT) { throw new IllegalArgumentException("newtype=" + newType); } } + if (leafType == LeafType.CLASS && newType == LeafType.OBJECT) { + bodier.muteClassToObject(); + } this.leafType = newType; this.symbol = newSymbol; } @@ -467,6 +473,9 @@ final class EntityImpl implements ILeaf, IGroup { } public USymbol getUSymbol() { + if (symbol != null && stereotype != null && stereotype.getSprite() != null) { + return symbol.withStereoAlignment(HorizontalAlignment.RIGHT); + } return symbol; } @@ -519,13 +528,22 @@ final class EntityImpl implements ILeaf, IGroup { return longCode; } - public FontParam getTitleFontParam() { + private FontParam getTitleFontParam() { if (symbol != null) { return symbol.getFontParam(); } return getGroupType() == GroupType.STATE ? FontParam.STATE : FontParam.PACKAGE; } + public FontConfiguration getFontConfigurationForTitle(final ISkinParam skinParam) { + final FontParam fontParam = getTitleFontParam(); + final HtmlColor fontHtmlColor = skinParam.getFontHtmlColor(getStereotype(), fontParam, FontParam.PACKAGE); + final UFont font = skinParam.getFont(getStereotype(), true, fontParam, FontParam.PACKAGE); + final FontConfiguration fontConfiguration = new FontConfiguration(font, fontHtmlColor, + skinParam.getHyperlinkColor(), skinParam.useUnderlineForHyperlink(), skinParam.getTabSize()); + return fontConfiguration; + } + public final int getRawLayout() { return rawLayout; } @@ -574,19 +592,19 @@ final class EntityImpl implements ILeaf, IGroup { } } -// public void setSpecificLineStroke(UStroke specificLineStroke) { -// colors = colors.addSpecificLineStroke(specificLineStroke); -// } + // public void setSpecificLineStroke(UStroke specificLineStroke) { + // colors = colors.addSpecificLineStroke(specificLineStroke); + // } @Deprecated public void applyStroke(String s) { throw new UnsupportedOperationException(); -// if (s == null) { -// return; -// } -// final LinkStyle style = LinkStyle.valueOf(StringUtils.goUpperCase(s)); -// colors = colors.addSpecificLineStroke(style); -// // setSpecificLineStroke(LinkStyle.getStroke(style)); + // if (s == null) { + // return; + // } + // final LinkStyle style = LinkStyle.valueOf(StringUtils.goUpperCase(s)); + // colors = colors.addSpecificLineStroke(style); + // // setSpecificLineStroke(LinkStyle.getStroke(style)); } } diff --git a/src/net/sourceforge/plantuml/cute/Arc.java b/src/net/sourceforge/plantuml/cute/Arc.java index ae7342588..87542a8b8 100644 --- a/src/net/sourceforge/plantuml/cute/Arc.java +++ b/src/net/sourceforge/plantuml/cute/Arc.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Balloon.java b/src/net/sourceforge/plantuml/cute/Balloon.java index e5ce91791..d82dcc579 100644 --- a/src/net/sourceforge/plantuml/cute/Balloon.java +++ b/src/net/sourceforge/plantuml/cute/Balloon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/BetweenCorners.java b/src/net/sourceforge/plantuml/cute/BetweenCorners.java index 18a576e91..97b9ec1dc 100644 --- a/src/net/sourceforge/plantuml/cute/BetweenCorners.java +++ b/src/net/sourceforge/plantuml/cute/BetweenCorners.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Cheese.java b/src/net/sourceforge/plantuml/cute/Cheese.java index a5e4f00fa..633d4551c 100644 --- a/src/net/sourceforge/plantuml/cute/Cheese.java +++ b/src/net/sourceforge/plantuml/cute/Cheese.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Circle.java b/src/net/sourceforge/plantuml/cute/Circle.java index c77fc47cf..d27a2f067 100644 --- a/src/net/sourceforge/plantuml/cute/Circle.java +++ b/src/net/sourceforge/plantuml/cute/Circle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Corner.java b/src/net/sourceforge/plantuml/cute/Corner.java index 20b27d93a..927b27444 100644 --- a/src/net/sourceforge/plantuml/cute/Corner.java +++ b/src/net/sourceforge/plantuml/cute/Corner.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Crossing.java b/src/net/sourceforge/plantuml/cute/Crossing.java index 78930c953..a2f461844 100644 --- a/src/net/sourceforge/plantuml/cute/Crossing.java +++ b/src/net/sourceforge/plantuml/cute/Crossing.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/CrossingSimple.java b/src/net/sourceforge/plantuml/cute/CrossingSimple.java index f5968d7e8..23780ab3f 100644 --- a/src/net/sourceforge/plantuml/cute/CrossingSimple.java +++ b/src/net/sourceforge/plantuml/cute/CrossingSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/CutePath.java b/src/net/sourceforge/plantuml/cute/CutePath.java index 87261cd4f..90de761a7 100644 --- a/src/net/sourceforge/plantuml/cute/CutePath.java +++ b/src/net/sourceforge/plantuml/cute/CutePath.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/CuteShape.java b/src/net/sourceforge/plantuml/cute/CuteShape.java index c4577fa7b..bb39ecd70 100644 --- a/src/net/sourceforge/plantuml/cute/CuteShape.java +++ b/src/net/sourceforge/plantuml/cute/CuteShape.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/CuteShapeFactory.java b/src/net/sourceforge/plantuml/cute/CuteShapeFactory.java index 93ecbda7e..c822a0524 100644 --- a/src/net/sourceforge/plantuml/cute/CuteShapeFactory.java +++ b/src/net/sourceforge/plantuml/cute/CuteShapeFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -70,12 +70,12 @@ public class CuteShapeFactory { return new Triangle(varArgs); } final String first = data.split(" ")[0]; - System.err.println("Looking for group " + first + " in " + groups.keySet()); + // System.err.println("Looking for group " + first + " in " + groups.keySet()); final Group group = groups.get(first); if (group == null) { throw new IllegalArgumentException("Cannot find group " + first + " in " + groups.keySet()); } - System.err.println("Found group " + first + " in " + groups.keySet()); + // System.err.println("Found group " + first + " in " + groups.keySet()); return group; } diff --git a/src/net/sourceforge/plantuml/cute/Group.java b/src/net/sourceforge/plantuml/cute/Group.java index 9ead8b0f8..de33e0f1d 100644 --- a/src/net/sourceforge/plantuml/cute/Group.java +++ b/src/net/sourceforge/plantuml/cute/Group.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/InfiniteLine.java b/src/net/sourceforge/plantuml/cute/InfiniteLine.java index 914ba86a7..26d39b399 100644 --- a/src/net/sourceforge/plantuml/cute/InfiniteLine.java +++ b/src/net/sourceforge/plantuml/cute/InfiniteLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/MyDouble.java b/src/net/sourceforge/plantuml/cute/MyDouble.java index 4196ee3ad..b23a19ec2 100644 --- a/src/net/sourceforge/plantuml/cute/MyDouble.java +++ b/src/net/sourceforge/plantuml/cute/MyDouble.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/MyPoint2D.java b/src/net/sourceforge/plantuml/cute/MyPoint2D.java index dd98176f3..add7f00b6 100644 --- a/src/net/sourceforge/plantuml/cute/MyPoint2D.java +++ b/src/net/sourceforge/plantuml/cute/MyPoint2D.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/PSystemCute.java b/src/net/sourceforge/plantuml/cute/PSystemCute.java index ec20da360..f819dd5f7 100644 --- a/src/net/sourceforge/plantuml/cute/PSystemCute.java +++ b/src/net/sourceforge/plantuml/cute/PSystemCute.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/PSystemCuteFactory.java b/src/net/sourceforge/plantuml/cute/PSystemCuteFactory.java index 10fcb7aab..9690e7766 100644 --- a/src/net/sourceforge/plantuml/cute/PSystemCuteFactory.java +++ b/src/net/sourceforge/plantuml/cute/PSystemCuteFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Positionned.java b/src/net/sourceforge/plantuml/cute/Positionned.java index 9803db1be..3294f1e3a 100644 --- a/src/net/sourceforge/plantuml/cute/Positionned.java +++ b/src/net/sourceforge/plantuml/cute/Positionned.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/PositionnedImpl.java b/src/net/sourceforge/plantuml/cute/PositionnedImpl.java index b2f9d1d87..42fa4a16f 100644 --- a/src/net/sourceforge/plantuml/cute/PositionnedImpl.java +++ b/src/net/sourceforge/plantuml/cute/PositionnedImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Rectangle.java b/src/net/sourceforge/plantuml/cute/Rectangle.java index 7c3c289b1..1802a870b 100644 --- a/src/net/sourceforge/plantuml/cute/Rectangle.java +++ b/src/net/sourceforge/plantuml/cute/Rectangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/RotationZoom.java b/src/net/sourceforge/plantuml/cute/RotationZoom.java index 250405ced..6ac60ea27 100644 --- a/src/net/sourceforge/plantuml/cute/RotationZoom.java +++ b/src/net/sourceforge/plantuml/cute/RotationZoom.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Segment.java b/src/net/sourceforge/plantuml/cute/Segment.java index eaefc1334..f59e20250 100644 --- a/src/net/sourceforge/plantuml/cute/Segment.java +++ b/src/net/sourceforge/plantuml/cute/Segment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Stick.java b/src/net/sourceforge/plantuml/cute/Stick.java index 8eba99524..951d0462d 100644 --- a/src/net/sourceforge/plantuml/cute/Stick.java +++ b/src/net/sourceforge/plantuml/cute/Stick.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Tension.java b/src/net/sourceforge/plantuml/cute/Tension.java index 67434b9eb..05f8ffb6f 100644 --- a/src/net/sourceforge/plantuml/cute/Tension.java +++ b/src/net/sourceforge/plantuml/cute/Tension.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/Triangle.java b/src/net/sourceforge/plantuml/cute/Triangle.java index fe795c723..25689254f 100644 --- a/src/net/sourceforge/plantuml/cute/Triangle.java +++ b/src/net/sourceforge/plantuml/cute/Triangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/TriangleCorner.java b/src/net/sourceforge/plantuml/cute/TriangleCorner.java index 5ed980947..f3cfcb301 100644 --- a/src/net/sourceforge/plantuml/cute/TriangleCorner.java +++ b/src/net/sourceforge/plantuml/cute/TriangleCorner.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/TriangleCornerSimple.java b/src/net/sourceforge/plantuml/cute/TriangleCornerSimple.java index 1b7319c5f..417d73870 100644 --- a/src/net/sourceforge/plantuml/cute/TriangleCornerSimple.java +++ b/src/net/sourceforge/plantuml/cute/TriangleCornerSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/cute/VarArgs.java b/src/net/sourceforge/plantuml/cute/VarArgs.java index 5fe98d5cc..09e69d0e9 100644 --- a/src/net/sourceforge/plantuml/cute/VarArgs.java +++ b/src/net/sourceforge/plantuml/cute/VarArgs.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagram.java b/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagram.java index 0b44a0493..e91bc8d28 100644 --- a/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagram.java +++ b/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagramFactory.java b/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagramFactory.java index cf0e9a401..c7e41f029 100644 --- a/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagramFactory.java +++ b/src/net/sourceforge/plantuml/descdiagram/DescriptionDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -37,11 +37,11 @@ import java.util.ArrayList; import java.util.List; import net.sourceforge.plantuml.AbstractPSystem; +import net.sourceforge.plantuml.classdiagram.command.CommandHideShowSpecificClass; import net.sourceforge.plantuml.classdiagram.command.CommandUrl; import net.sourceforge.plantuml.command.Command; import net.sourceforge.plantuml.command.CommandEndPackage; import net.sourceforge.plantuml.command.CommandFootboxIgnored; -import net.sourceforge.plantuml.command.CommandPackage; import net.sourceforge.plantuml.command.CommandPage; import net.sourceforge.plantuml.command.CommandRankDir; import net.sourceforge.plantuml.command.UmlDiagramFactory; @@ -108,6 +108,8 @@ public class DescriptionDiagramFactory extends UmlDiagramFactory { cmds.add(factoryNoteOnLinkCommand.createSingleLine()); cmds.add(factoryNoteOnLinkCommand.createMultiLine(false)); + cmds.add(new CommandHideShowSpecificClass()); + return cmds; } diff --git a/src/net/sourceforge/plantuml/descdiagram/command/CommandCreateElementFull.java b/src/net/sourceforge/plantuml/descdiagram/command/CommandCreateElementFull.java index 4937be997..662abe2da 100644 --- a/src/net/sourceforge/plantuml/descdiagram/command/CommandCreateElementFull.java +++ b/src/net/sourceforge/plantuml/descdiagram/command/CommandCreateElementFull.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -214,7 +214,7 @@ public class CommandCreateElementFull extends SingleLineCommand2 asList = Arrays.asList("A thought for those who died in Paris the 13th November 2015."); + + final String name = portrait.getName(); + final UFont font = new UFont("SansSerif", Font.BOLD, 12); + TextBlock comment = Display.create(name).create(new FontConfiguration(font, color, HtmlColorUtils.BLUE, true), + HorizontalAlignment.LEFT, new SpriteContainerEmpty()); + comment = TextBlockUtils.withMargin(comment, 4, 4); + + final TextBlock bottom0 = getComment(asList, color); + final TextBlock bottom1 = new AbstractTextBlock() { + private double margin = 10; + + public void drawU(UGraphic ug) { + ug = ug.apply(new UTranslate(0, margin)); + ug.draw(new UImage(im)); + } + + public Dimension2D calculateDimension(StringBounder stringBounder) { + return new Dimension2DDouble(im.getWidth(), margin + im.getHeight()); + } + }; + final TextBlock bottom = TextBlockUtils.mergeTB(bottom0, + TextBlockUtils.mergeLR(bottom1, comment, VerticalAlignment.CENTER), HorizontalAlignment.LEFT); + return TextBlockUtils.mergeTB(textBlock, bottom, HorizontalAlignment.LEFT); + } + private static TextBlock addCharlie(TextBlock textBlock) { final TextBlock charlie = new AbstractTextBlock() { private final BufferedImage charlie = PSystemVersion.getCharlieImage(); diff --git a/src/net/sourceforge/plantuml/graphic/DisplayUtils.java b/src/net/sourceforge/plantuml/graphic/DisplayUtils.java index fe5419b9f..58f6380f3 100644 --- a/src/net/sourceforge/plantuml/graphic/DisplayUtils.java +++ b/src/net/sourceforge/plantuml/graphic/DisplayUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/EmbededSystemLine.java b/src/net/sourceforge/plantuml/graphic/EmbededSystemLine.java index 97c1ad1f1..54ee766f9 100644 --- a/src/net/sourceforge/plantuml/graphic/EmbededSystemLine.java +++ b/src/net/sourceforge/plantuml/graphic/EmbededSystemLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/ExposantChange.java b/src/net/sourceforge/plantuml/graphic/ExposantChange.java index 0f52cb4a5..1ca715e14 100644 --- a/src/net/sourceforge/plantuml/graphic/ExposantChange.java +++ b/src/net/sourceforge/plantuml/graphic/ExposantChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/FontChange.java b/src/net/sourceforge/plantuml/graphic/FontChange.java index c3399b0e3..60bfbe292 100644 --- a/src/net/sourceforge/plantuml/graphic/FontChange.java +++ b/src/net/sourceforge/plantuml/graphic/FontChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/FontConfiguration.java b/src/net/sourceforge/plantuml/graphic/FontConfiguration.java index 0270d5423..19fa14d04 100644 --- a/src/net/sourceforge/plantuml/graphic/FontConfiguration.java +++ b/src/net/sourceforge/plantuml/graphic/FontConfiguration.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17124 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/FontFamilyChange.java b/src/net/sourceforge/plantuml/graphic/FontFamilyChange.java index 8a6ca2fe4..0cb535d3e 100644 --- a/src/net/sourceforge/plantuml/graphic/FontFamilyChange.java +++ b/src/net/sourceforge/plantuml/graphic/FontFamilyChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/FontPosition.java b/src/net/sourceforge/plantuml/graphic/FontPosition.java index 06a401a42..866caee1c 100644 --- a/src/net/sourceforge/plantuml/graphic/FontPosition.java +++ b/src/net/sourceforge/plantuml/graphic/FontPosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/FontStyle.java b/src/net/sourceforge/plantuml/graphic/FontStyle.java index ced18f628..d7d1b8e2e 100644 --- a/src/net/sourceforge/plantuml/graphic/FontStyle.java +++ b/src/net/sourceforge/plantuml/graphic/FontStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13970 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/GraphicPosition.java b/src/net/sourceforge/plantuml/graphic/GraphicPosition.java index 60ac8d4f6..48496f07b 100644 --- a/src/net/sourceforge/plantuml/graphic/GraphicPosition.java +++ b/src/net/sourceforge/plantuml/graphic/GraphicPosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/GraphicStrings.java b/src/net/sourceforge/plantuml/graphic/GraphicStrings.java index a05965484..87e2df6a7 100644 --- a/src/net/sourceforge/plantuml/graphic/GraphicStrings.java +++ b/src/net/sourceforge/plantuml/graphic/GraphicStrings.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17072 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/HorizontalAlignment.java b/src/net/sourceforge/plantuml/graphic/HorizontalAlignment.java index 9b416a796..fd5dc9b0e 100644 --- a/src/net/sourceforge/plantuml/graphic/HorizontalAlignment.java +++ b/src/net/sourceforge/plantuml/graphic/HorizontalAlignment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColor.java b/src/net/sourceforge/plantuml/graphic/HtmlColor.java index 16d9b6778..d16ad7e7b 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColor.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorGradient.java b/src/net/sourceforge/plantuml/graphic/HtmlColorGradient.java index d9b44ec0e..0271c03b5 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorGradient.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorGradient.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorSet.java b/src/net/sourceforge/plantuml/graphic/HtmlColorSet.java index 95612dc02..b26a493b3 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorSet.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorSetSimple.java b/src/net/sourceforge/plantuml/graphic/HtmlColorSetSimple.java index 510a48e7b..e7c3766ee 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorSetSimple.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorSetSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorSimple.java b/src/net/sourceforge/plantuml/graphic/HtmlColorSimple.java index 706c37cb0..ea0bc0f14 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorSimple.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorTransparent.java b/src/net/sourceforge/plantuml/graphic/HtmlColorTransparent.java index 9b64999e6..5265a7435 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorTransparent.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorTransparent.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorUserDef.java b/src/net/sourceforge/plantuml/graphic/HtmlColorUserDef.java index a3ac773b0..0215c5258 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorUserDef.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorUserDef.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlColorUtils.java b/src/net/sourceforge/plantuml/graphic/HtmlColorUtils.java index 7ef271c07..0a62b531f 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlColorUtils.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlColorUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/HtmlCommand.java b/src/net/sourceforge/plantuml/graphic/HtmlCommand.java index 21a4176a3..eeb95dc87 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlCommand.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/HtmlCommandFactory.java b/src/net/sourceforge/plantuml/graphic/HtmlCommandFactory.java index db419b3e6..8ae92e667 100644 --- a/src/net/sourceforge/plantuml/graphic/HtmlCommandFactory.java +++ b/src/net/sourceforge/plantuml/graphic/HtmlCommandFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/IHtmlColorSet.java b/src/net/sourceforge/plantuml/graphic/IHtmlColorSet.java index e010b3634..7c5cb7a73 100644 --- a/src/net/sourceforge/plantuml/graphic/IHtmlColorSet.java +++ b/src/net/sourceforge/plantuml/graphic/IHtmlColorSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/Img.java b/src/net/sourceforge/plantuml/graphic/Img.java index 584715f09..89b05e988 100644 --- a/src/net/sourceforge/plantuml/graphic/Img.java +++ b/src/net/sourceforge/plantuml/graphic/Img.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14726 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/ImgValign.java b/src/net/sourceforge/plantuml/graphic/ImgValign.java index fbeb40b10..9cee89798 100644 --- a/src/net/sourceforge/plantuml/graphic/ImgValign.java +++ b/src/net/sourceforge/plantuml/graphic/ImgValign.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/Line.java b/src/net/sourceforge/plantuml/graphic/Line.java index ecbf16f2d..6a2125c59 100644 --- a/src/net/sourceforge/plantuml/graphic/Line.java +++ b/src/net/sourceforge/plantuml/graphic/Line.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/QuoteUtils.java b/src/net/sourceforge/plantuml/graphic/QuoteUtils.java index 0c8d33b26..e70a9b83f 100644 --- a/src/net/sourceforge/plantuml/graphic/QuoteUtils.java +++ b/src/net/sourceforge/plantuml/graphic/QuoteUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -164,6 +164,11 @@ public class QuoteUtils { "To sculpt an elephant from a big block of marble, just knock away all the bits that don't look like an elephant.", // "Who said you could talk to me? Have I got something on my face ?" ); + // We've been through worst + // United we stand + // We shall never surrender + // Absolute honesty isn't always the most diplomatic nor the safest form of communication with emotional beings. + // Humor: seventy-five percent. [Confirmed] Self destruct sequence in T minus 10, 9... private QuoteUtils() { } diff --git a/src/net/sourceforge/plantuml/graphic/RemoveStyle.java b/src/net/sourceforge/plantuml/graphic/RemoveStyle.java index edf703f6e..348293298 100644 --- a/src/net/sourceforge/plantuml/graphic/RemoveStyle.java +++ b/src/net/sourceforge/plantuml/graphic/RemoveStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/ResetFont.java b/src/net/sourceforge/plantuml/graphic/ResetFont.java index 0af3b45cb..8afdd6923 100644 --- a/src/net/sourceforge/plantuml/graphic/ResetFont.java +++ b/src/net/sourceforge/plantuml/graphic/ResetFont.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/SingleLine.java b/src/net/sourceforge/plantuml/graphic/SingleLine.java index 947066a03..60c737fb3 100644 --- a/src/net/sourceforge/plantuml/graphic/SingleLine.java +++ b/src/net/sourceforge/plantuml/graphic/SingleLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16265 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/SizeChange.java b/src/net/sourceforge/plantuml/graphic/SizeChange.java index f29503282..ef850e3f5 100644 --- a/src/net/sourceforge/plantuml/graphic/SizeChange.java +++ b/src/net/sourceforge/plantuml/graphic/SizeChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/SkinParameter.java b/src/net/sourceforge/plantuml/graphic/SkinParameter.java index ab084967e..15443d049 100644 --- a/src/net/sourceforge/plantuml/graphic/SkinParameter.java +++ b/src/net/sourceforge/plantuml/graphic/SkinParameter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/Splitter.java b/src/net/sourceforge/plantuml/graphic/Splitter.java index 87075b8df..9ee2b7302 100644 --- a/src/net/sourceforge/plantuml/graphic/Splitter.java +++ b/src/net/sourceforge/plantuml/graphic/Splitter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14321 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/SpriteCommand.java b/src/net/sourceforge/plantuml/graphic/SpriteCommand.java index eb117aac8..90d382abf 100644 --- a/src/net/sourceforge/plantuml/graphic/SpriteCommand.java +++ b/src/net/sourceforge/plantuml/graphic/SpriteCommand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/StringBounder.java b/src/net/sourceforge/plantuml/graphic/StringBounder.java index 3bfab5a88..c6491d344 100644 --- a/src/net/sourceforge/plantuml/graphic/StringBounder.java +++ b/src/net/sourceforge/plantuml/graphic/StringBounder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/StringBounderUtils.java b/src/net/sourceforge/plantuml/graphic/StringBounderUtils.java index 9277cfc31..dc30dc175 100644 --- a/src/net/sourceforge/plantuml/graphic/StringBounderUtils.java +++ b/src/net/sourceforge/plantuml/graphic/StringBounderUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/SvgAttributes.java b/src/net/sourceforge/plantuml/graphic/SvgAttributes.java index 264408de4..ad8afff68 100644 --- a/src/net/sourceforge/plantuml/graphic/SvgAttributes.java +++ b/src/net/sourceforge/plantuml/graphic/SvgAttributes.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/SvgAttributesChange.java b/src/net/sourceforge/plantuml/graphic/SvgAttributesChange.java index f3c48334f..f36b3ace2 100644 --- a/src/net/sourceforge/plantuml/graphic/SvgAttributesChange.java +++ b/src/net/sourceforge/plantuml/graphic/SvgAttributesChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/SymbolContext.java b/src/net/sourceforge/plantuml/graphic/SymbolContext.java index f33b5ff4d..c6fa3b7fe 100644 --- a/src/net/sourceforge/plantuml/graphic/SymbolContext.java +++ b/src/net/sourceforge/plantuml/graphic/SymbolContext.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/Text.java b/src/net/sourceforge/plantuml/graphic/Text.java index 7574911ee..35c8696ef 100644 --- a/src/net/sourceforge/plantuml/graphic/Text.java +++ b/src/net/sourceforge/plantuml/graphic/Text.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TextBlock.java b/src/net/sourceforge/plantuml/graphic/TextBlock.java index f04e644e4..91264f000 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlock.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16264 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockArrow.java b/src/net/sourceforge/plantuml/graphic/TextBlockArrow.java index af7945e00..284584c9e 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockArrow.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockBordered.java b/src/net/sourceforge/plantuml/graphic/TextBlockBordered.java index d32d42156..f927d62c2 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockBordered.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockBordered.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockCompressed.java b/src/net/sourceforge/plantuml/graphic/TextBlockCompressed.java index 9a6ddcee9..2eaff594f 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockCompressed.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockCompressed.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockCompressed2.java b/src/net/sourceforge/plantuml/graphic/TextBlockCompressed2.java index fc2e7485a..47d9d3e97 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockCompressed2.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockCompressed2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockEmpty.java b/src/net/sourceforge/plantuml/graphic/TextBlockEmpty.java index dbde37525..1e3ac9bad 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockEmpty.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockGeneric.java b/src/net/sourceforge/plantuml/graphic/TextBlockGeneric.java index 75b8b4dc8..4dde6f658 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockGeneric.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockGeneric.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockHorizontal.java b/src/net/sourceforge/plantuml/graphic/TextBlockHorizontal.java index ad6c856ec..ab65f7df1 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockHorizontal.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockHorizontal.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockLineBefore.java b/src/net/sourceforge/plantuml/graphic/TextBlockLineBefore.java index 9d93c15d9..4cf519a9e 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockLineBefore.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockLineBefore.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockMarged.java b/src/net/sourceforge/plantuml/graphic/TextBlockMarged.java index 1e1102d3d..0f1f4eb72 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockMarged.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockMarged.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockMinWidth.java b/src/net/sourceforge/plantuml/graphic/TextBlockMinWidth.java index a18e4bf77..c2284e3cd 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockMinWidth.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockMinWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockRecentred.java b/src/net/sourceforge/plantuml/graphic/TextBlockRecentred.java index 6ff0810b8..3ac1461ed 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockRecentred.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockRecentred.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockSimple.java b/src/net/sourceforge/plantuml/graphic/TextBlockSimple.java index 230b9b8f4..efee2f65d 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockSimple.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16518 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockSpotted.java b/src/net/sourceforge/plantuml/graphic/TextBlockSpotted.java index 5891f7321..e221c551a 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockSpotted.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockSpotted.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16518 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockUtils.java b/src/net/sourceforge/plantuml/graphic/TextBlockUtils.java index 5a2533685..4b65bdb89 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockUtils.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16602 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockVertical2.java b/src/net/sourceforge/plantuml/graphic/TextBlockVertical2.java index a9c654042..58bb13474 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockVertical2.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockVertical2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -79,6 +79,9 @@ public class TextBlockVertical2 extends AbstractTextBlock implements TextBlock { } else if (horizontalAlignment == HorizontalAlignment.CENTER) { final double dx = (dimtotal.getWidth() - dimb.getWidth()) / 2; block.drawU(ug.apply(new UTranslate(dx, y))); + } else if (horizontalAlignment == HorizontalAlignment.RIGHT) { + final double dx = dimtotal.getWidth() - dimb.getWidth(); + block.drawU(ug.apply(new UTranslate(dx, y))); } else { throw new UnsupportedOperationException(); } diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockWidth.java b/src/net/sourceforge/plantuml/graphic/TextBlockWidth.java index 1c3b4c160..ee3725a67 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockWidth.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextBlockWidthAdapter.java b/src/net/sourceforge/plantuml/graphic/TextBlockWidthAdapter.java index 13b45df80..083ed67ae 100644 --- a/src/net/sourceforge/plantuml/graphic/TextBlockWidthAdapter.java +++ b/src/net/sourceforge/plantuml/graphic/TextBlockWidthAdapter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TextLink.java b/src/net/sourceforge/plantuml/graphic/TextLink.java index 1df8570e4..72584c661 100644 --- a/src/net/sourceforge/plantuml/graphic/TextLink.java +++ b/src/net/sourceforge/plantuml/graphic/TextLink.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TileImage.java b/src/net/sourceforge/plantuml/graphic/TileImage.java index 68b515ec4..71d3b8349 100644 --- a/src/net/sourceforge/plantuml/graphic/TileImage.java +++ b/src/net/sourceforge/plantuml/graphic/TileImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16265 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/TileImageSvg.java b/src/net/sourceforge/plantuml/graphic/TileImageSvg.java index 61f4c946d..a4f394eed 100644 --- a/src/net/sourceforge/plantuml/graphic/TileImageSvg.java +++ b/src/net/sourceforge/plantuml/graphic/TileImageSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/TileText.java b/src/net/sourceforge/plantuml/graphic/TileText.java index fdbb40a54..79d54806c 100644 --- a/src/net/sourceforge/plantuml/graphic/TileText.java +++ b/src/net/sourceforge/plantuml/graphic/TileText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16265 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/UDrawable.java b/src/net/sourceforge/plantuml/graphic/UDrawable.java index 6ee27b0f3..07f6d11b3 100644 --- a/src/net/sourceforge/plantuml/graphic/UDrawable.java +++ b/src/net/sourceforge/plantuml/graphic/UDrawable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/UDrawableUtils.java b/src/net/sourceforge/plantuml/graphic/UDrawableUtils.java index 2e5800281..6b423a828 100644 --- a/src/net/sourceforge/plantuml/graphic/UDrawableUtils.java +++ b/src/net/sourceforge/plantuml/graphic/UDrawableUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/UGraphicDelegator.java b/src/net/sourceforge/plantuml/graphic/UGraphicDelegator.java index da3e2c0ed..47ddc08e5 100644 --- a/src/net/sourceforge/plantuml/graphic/UGraphicDelegator.java +++ b/src/net/sourceforge/plantuml/graphic/UGraphicDelegator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/UGraphicInterceptorUDrawable.java b/src/net/sourceforge/plantuml/graphic/UGraphicInterceptorUDrawable.java index 6304a44a2..b8a19adb6 100644 --- a/src/net/sourceforge/plantuml/graphic/UGraphicInterceptorUDrawable.java +++ b/src/net/sourceforge/plantuml/graphic/UGraphicInterceptorUDrawable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbol.java b/src/net/sourceforge/plantuml/graphic/USymbol.java index 11177759d..1244ad652 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbol.java +++ b/src/net/sourceforge/plantuml/graphic/USymbol.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -56,8 +56,8 @@ public abstract class USymbol { public final static USymbol PACKAGE = record("PACKAGE", SkinParameter.PACKAGE, new USymbolFolder( SkinParameter.PACKAGE)); public final static USymbol FOLDER = record("FOLDER", SkinParameter.FOLDER, new USymbolFolder(SkinParameter.FOLDER)); - public final static USymbol RECTANGLE = record("RECTANGLE", SkinParameter.CARD, new USymbolRect(SkinParameter.CARD)); - public final static USymbol AGENT = record("AGENT", SkinParameter.AGENT, new USymbolRect(SkinParameter.AGENT)); + public final static USymbol RECTANGLE = record("RECTANGLE", SkinParameter.CARD, new USymbolRect(SkinParameter.CARD, HorizontalAlignment.CENTER)); + public final static USymbol AGENT = record("AGENT", SkinParameter.AGENT, new USymbolRect(SkinParameter.AGENT, HorizontalAlignment.CENTER)); public final static USymbol ACTOR = record("ACTOR", SkinParameter.ACTOR, new USymbolActor()); public final static USymbol USECASE = null; public final static USymbol COMPONENT1 = record("COMPONENT1", SkinParameter.COMPONENT1, new USymbolComponent1()); @@ -70,6 +70,10 @@ public abstract class USymbol { public final static USymbol QUEUE = record("QUEUE", SkinParameter.QUEUE, new USymbolQueue()); abstract public SkinParameter getSkinParameter(); + + public USymbol withStereoAlignment(HorizontalAlignment alignment) { + return this; + } public FontParam getFontParam() { return getSkinParameter().getFontParam(); diff --git a/src/net/sourceforge/plantuml/graphic/USymbolActor.java b/src/net/sourceforge/plantuml/graphic/USymbolActor.java index 0ae935a19..007521578 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolActor.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolActor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolArtifact.java b/src/net/sourceforge/plantuml/graphic/USymbolArtifact.java index 38beadd03..b9d8da0c1 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolArtifact.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolArtifact.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolBoundary.java b/src/net/sourceforge/plantuml/graphic/USymbolBoundary.java index 08d8772ba..350962768 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolBoundary.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolBoundary.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolCard.java b/src/net/sourceforge/plantuml/graphic/USymbolCard.java index f65e82542..7c8d67817 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolCard.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolCard.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolCloud.java b/src/net/sourceforge/plantuml/graphic/USymbolCloud.java index cb51e8f35..e926d3240 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolCloud.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolCloud.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolComponent1.java b/src/net/sourceforge/plantuml/graphic/USymbolComponent1.java index d0468c458..71d4db4cc 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolComponent1.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolComponent1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolComponent2.java b/src/net/sourceforge/plantuml/graphic/USymbolComponent2.java index c6f833abf..d6975e40d 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolComponent2.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolComponent2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolControl.java b/src/net/sourceforge/plantuml/graphic/USymbolControl.java index e7a18d649..507d6a8f0 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolControl.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolControl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolDatabase.java b/src/net/sourceforge/plantuml/graphic/USymbolDatabase.java index 64c34d9df..b3bb55f2b 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolDatabase.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolDatabase.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolEntityDomain.java b/src/net/sourceforge/plantuml/graphic/USymbolEntityDomain.java index 7fea5c5ec..92852cdc3 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolEntityDomain.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolEntityDomain.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolFolder.java b/src/net/sourceforge/plantuml/graphic/USymbolFolder.java index 97f8526e0..b6131e63f 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolFolder.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolFolder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolFrame.java b/src/net/sourceforge/plantuml/graphic/USymbolFrame.java index cfcbd8d45..0cdd06da4 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolFrame.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolFrame.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolInterface.java b/src/net/sourceforge/plantuml/graphic/USymbolInterface.java index e90efb823..3346d72f5 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolInterface.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolInterface.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolNode.java b/src/net/sourceforge/plantuml/graphic/USymbolNode.java index 354f596dd..f4b160dec 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolNode.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolNode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolQueue.java b/src/net/sourceforge/plantuml/graphic/USymbolQueue.java index ea8d55966..29253ea92 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolQueue.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolQueue.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolRect.java b/src/net/sourceforge/plantuml/graphic/USymbolRect.java index 94abca8bf..2168838a5 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolRect.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolRect.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -41,20 +41,25 @@ import net.sourceforge.plantuml.ugraphic.URectangle; import net.sourceforge.plantuml.ugraphic.UTranslate; class USymbolRect extends USymbol { - + private final SkinParameter skinParameter; + private final HorizontalAlignment stereotypeAlignement; - - public USymbolRect(SkinParameter skinParameter) { + public USymbolRect(SkinParameter skinParameter, HorizontalAlignment stereotypeAlignement) { this.skinParameter = skinParameter; + this.stereotypeAlignement = stereotypeAlignement; } - + + @Override + public USymbol withStereoAlignment(HorizontalAlignment alignment) { + return new USymbolRect(skinParameter, alignment); + } + @Override public SkinParameter getSkinParameter() { return skinParameter; } - private void drawRect(UGraphic ug, double width, double height, boolean shadowing) { final URectangle shape = new URectangle(width, height); if (shadowing) { @@ -67,7 +72,8 @@ class USymbolRect extends USymbol { return new Margin(10, 10, 10, 10); } - public TextBlock asSmall(TextBlock name, final TextBlock label, final TextBlock stereotype, final SymbolContext symbolContext) { + public TextBlock asSmall(TextBlock name, final TextBlock label, final TextBlock stereotype, + final SymbolContext symbolContext) { return new AbstractTextBlock() { public void drawU(UGraphic ug) { @@ -75,7 +81,7 @@ class USymbolRect extends USymbol { ug = symbolContext.apply(ug); drawRect(ug, dim.getWidth(), dim.getHeight(), symbolContext.isShadowing()); final Margin margin = getMargin(); - final TextBlock tb = TextBlockUtils.mergeTB(stereotype, label, HorizontalAlignment.CENTER); + final TextBlock tb = TextBlockUtils.mergeTB(stereotype, label, stereotypeAlignement); tb.drawU(ug.apply(new UTranslate(margin.getX1(), margin.getY1()))); } @@ -90,14 +96,21 @@ class USymbolRect extends USymbol { public TextBlock asBig(final TextBlock title, final TextBlock stereotype, final double width, final double height, final SymbolContext symbolContext) { return new AbstractTextBlock() { - public void drawU(UGraphic ug) { final Dimension2D dim = calculateDimension(ug.getStringBounder()); ug = symbolContext.apply(ug); drawRect(ug, dim.getWidth(), dim.getHeight(), symbolContext.isShadowing()); final Dimension2D dimStereo = stereotype.calculateDimension(ug.getStringBounder()); - final double posStereo = (width - dimStereo.getWidth()) / 2; - stereotype.drawU(ug.apply(new UTranslate(posStereo, 2))); + final double posStereoX; + final double posStereoY; + if (stereotypeAlignement == HorizontalAlignment.RIGHT) { + posStereoX = width - dimStereo.getWidth() - getMargin().getX1() / 2; + posStereoY = getMargin().getY1() / 2; + } else { + posStereoX = (width - dimStereo.getWidth()) / 2; + posStereoY = 2; + } + stereotype.drawU(ug.apply(new UTranslate(posStereoX, posStereoY))); final Dimension2D dimTitle = title.calculateDimension(ug.getStringBounder()); final double posTitle = (width - dimTitle.getWidth()) / 2; title.drawU(ug.apply(new UTranslate(posTitle, 2 + dimStereo.getHeight()))); diff --git a/src/net/sourceforge/plantuml/graphic/USymbolSimpleAbstract.java b/src/net/sourceforge/plantuml/graphic/USymbolSimpleAbstract.java index bfc93a35d..170350027 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolSimpleAbstract.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolSimpleAbstract.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/USymbolStorage.java b/src/net/sourceforge/plantuml/graphic/USymbolStorage.java index a48e960f7..5abdec5b1 100644 --- a/src/net/sourceforge/plantuml/graphic/USymbolStorage.java +++ b/src/net/sourceforge/plantuml/graphic/USymbolStorage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/UnusedSpace.java b/src/net/sourceforge/plantuml/graphic/UnusedSpace.java index 0a18e35b0..7c0fd0701 100644 --- a/src/net/sourceforge/plantuml/graphic/UnusedSpace.java +++ b/src/net/sourceforge/plantuml/graphic/UnusedSpace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/VerticalAlignment.java b/src/net/sourceforge/plantuml/graphic/VerticalAlignment.java index ec3806088..79275135c 100644 --- a/src/net/sourceforge/plantuml/graphic/VerticalAlignment.java +++ b/src/net/sourceforge/plantuml/graphic/VerticalAlignment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/VerticalPosition.java b/src/net/sourceforge/plantuml/graphic/VerticalPosition.java index 9839b60f4..a68617807 100644 --- a/src/net/sourceforge/plantuml/graphic/VerticalPosition.java +++ b/src/net/sourceforge/plantuml/graphic/VerticalPosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.graphic; diff --git a/src/net/sourceforge/plantuml/graphic/color/ColorParser.java b/src/net/sourceforge/plantuml/graphic/color/ColorParser.java index 57c750ec4..c71e82ee5 100644 --- a/src/net/sourceforge/plantuml/graphic/color/ColorParser.java +++ b/src/net/sourceforge/plantuml/graphic/color/ColorParser.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/color/ColorType.java b/src/net/sourceforge/plantuml/graphic/color/ColorType.java index e6474102b..f4c50ae32 100644 --- a/src/net/sourceforge/plantuml/graphic/color/ColorType.java +++ b/src/net/sourceforge/plantuml/graphic/color/ColorType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/graphic/color/Colors.java b/src/net/sourceforge/plantuml/graphic/color/Colors.java index d7ca783f0..1a61216de 100644 --- a/src/net/sourceforge/plantuml/graphic/color/Colors.java +++ b/src/net/sourceforge/plantuml/graphic/color/Colors.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -208,7 +208,7 @@ public class Colors { if (getColor(colorType) != null) { return this; } - final HtmlColor col = skinParam.getFontHtmlColor(param, stereotype); + final HtmlColor col = skinParam.getFontHtmlColor(stereotype, param); return add(colorType, col); } diff --git a/src/net/sourceforge/plantuml/hector/Box2D.java b/src/net/sourceforge/plantuml/hector/Box2D.java index f7a167dd0..a3185ece3 100644 --- a/src/net/sourceforge/plantuml/hector/Box2D.java +++ b/src/net/sourceforge/plantuml/hector/Box2D.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector.java index 4db4be3d3..53d5fc577 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector2.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector2.java index 0d5c14005..5d6bad4cb 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector2.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector3.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector3.java index 9b4efe31b..70750f037 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector3.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector4.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector4.java index 37c2d30ae..d92cdf284 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector4.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHector4.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB1.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB1.java index a5b94bd89..b62565d6e 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB1.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB2.java b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB2.java index fd2198c15..a63ae99a2 100644 --- a/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB2.java +++ b/src/net/sourceforge/plantuml/hector/CucaDiagramFileMakerHectorB2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/GrowingTree.java b/src/net/sourceforge/plantuml/hector/GrowingTree.java index 974ba5cf6..7771f71eb 100644 --- a/src/net/sourceforge/plantuml/hector/GrowingTree.java +++ b/src/net/sourceforge/plantuml/hector/GrowingTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/HectorPath.java b/src/net/sourceforge/plantuml/hector/HectorPath.java index 5f1b8b66c..a47c0f00d 100644 --- a/src/net/sourceforge/plantuml/hector/HectorPath.java +++ b/src/net/sourceforge/plantuml/hector/HectorPath.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/Pin.java b/src/net/sourceforge/plantuml/hector/Pin.java index 6cc0c95c6..6523c13f6 100644 --- a/src/net/sourceforge/plantuml/hector/Pin.java +++ b/src/net/sourceforge/plantuml/hector/Pin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/PinFactory.java b/src/net/sourceforge/plantuml/hector/PinFactory.java index cfaca4965..cd3a818b4 100644 --- a/src/net/sourceforge/plantuml/hector/PinFactory.java +++ b/src/net/sourceforge/plantuml/hector/PinFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/PinLink.java b/src/net/sourceforge/plantuml/hector/PinLink.java index 183760ecc..983642c86 100644 --- a/src/net/sourceforge/plantuml/hector/PinLink.java +++ b/src/net/sourceforge/plantuml/hector/PinLink.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/PinLinksContinuousSet.java b/src/net/sourceforge/plantuml/hector/PinLinksContinuousSet.java index 5ee44cbce..966486d8b 100644 --- a/src/net/sourceforge/plantuml/hector/PinLinksContinuousSet.java +++ b/src/net/sourceforge/plantuml/hector/PinLinksContinuousSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/Skeleton.java b/src/net/sourceforge/plantuml/hector/Skeleton.java index 78e9dc36a..c890b9a81 100644 --- a/src/net/sourceforge/plantuml/hector/Skeleton.java +++ b/src/net/sourceforge/plantuml/hector/Skeleton.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonBuilder.java b/src/net/sourceforge/plantuml/hector/SkeletonBuilder.java index 91dc70a51..d512a85bb 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonBuilder.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfiguration.java b/src/net/sourceforge/plantuml/hector/SkeletonConfiguration.java index 3ae8071cd..e10337c46 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfiguration.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfiguration.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationComparator.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationComparator.java index 36b789817..c63ca55e6 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationComparator.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationComparator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluator.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluator.java index a1014a5a0..c59a06398 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluator.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluatorLineLenght.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluatorLineLenght.java index c005d0bfd..71c8b1cd1 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluatorLineLenght.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationEvaluatorLineLenght.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationSet.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationSet.java index 9316216a3..ab223c1b3 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationSet.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationUtils.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationUtils.java index 03ab080f7..be6f61218 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurationUtils.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurationUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonConfigurations.java b/src/net/sourceforge/plantuml/hector/SkeletonConfigurations.java index dc3cc1ca3..a86264927 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonConfigurations.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonConfigurations.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SkeletonMutation.java b/src/net/sourceforge/plantuml/hector/SkeletonMutation.java index 5975a8550..7c61260d3 100644 --- a/src/net/sourceforge/plantuml/hector/SkeletonMutation.java +++ b/src/net/sourceforge/plantuml/hector/SkeletonMutation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/SmartConnection.java b/src/net/sourceforge/plantuml/hector/SmartConnection.java index acc962b49..52a23f9c3 100644 --- a/src/net/sourceforge/plantuml/hector/SmartConnection.java +++ b/src/net/sourceforge/plantuml/hector/SmartConnection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/UnlinarCompressedPlan.java b/src/net/sourceforge/plantuml/hector/UnlinarCompressedPlan.java index 3526bf202..3e70c5922 100644 --- a/src/net/sourceforge/plantuml/hector/UnlinarCompressedPlan.java +++ b/src/net/sourceforge/plantuml/hector/UnlinarCompressedPlan.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector/UnlinearCompression.java b/src/net/sourceforge/plantuml/hector/UnlinearCompression.java index 88c2d4834..acc6bcc05 100644 --- a/src/net/sourceforge/plantuml/hector/UnlinearCompression.java +++ b/src/net/sourceforge/plantuml/hector/UnlinearCompression.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/CucaDiagramFileMakerHectorC1.java b/src/net/sourceforge/plantuml/hector2/CucaDiagramFileMakerHectorC1.java index 2b54ef1d9..8519c7b1a 100644 --- a/src/net/sourceforge/plantuml/hector2/CucaDiagramFileMakerHectorC1.java +++ b/src/net/sourceforge/plantuml/hector2/CucaDiagramFileMakerHectorC1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/MinMax.java b/src/net/sourceforge/plantuml/hector2/MinMax.java index 5459cecc2..bc33de60c 100644 --- a/src/net/sourceforge/plantuml/hector2/MinMax.java +++ b/src/net/sourceforge/plantuml/hector2/MinMax.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/continuity/Skeleton.java b/src/net/sourceforge/plantuml/hector2/continuity/Skeleton.java index 3e773b77d..f22a68bd8 100644 --- a/src/net/sourceforge/plantuml/hector2/continuity/Skeleton.java +++ b/src/net/sourceforge/plantuml/hector2/continuity/Skeleton.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/continuity/SkeletonBuilder.java b/src/net/sourceforge/plantuml/hector2/continuity/SkeletonBuilder.java index 0f9387921..0a4b3d116 100644 --- a/src/net/sourceforge/plantuml/hector2/continuity/SkeletonBuilder.java +++ b/src/net/sourceforge/plantuml/hector2/continuity/SkeletonBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/graphic/Foo1.java b/src/net/sourceforge/plantuml/hector2/graphic/Foo1.java index 7573ba790..70561f75d 100644 --- a/src/net/sourceforge/plantuml/hector2/graphic/Foo1.java +++ b/src/net/sourceforge/plantuml/hector2/graphic/Foo1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/graphic/Foo2.java b/src/net/sourceforge/plantuml/hector2/graphic/Foo2.java index 1d08e32d0..2a796ee24 100644 --- a/src/net/sourceforge/plantuml/hector2/graphic/Foo2.java +++ b/src/net/sourceforge/plantuml/hector2/graphic/Foo2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/layering/Layer.java b/src/net/sourceforge/plantuml/hector2/layering/Layer.java index 892fa1632..363ab0d01 100644 --- a/src/net/sourceforge/plantuml/hector2/layering/Layer.java +++ b/src/net/sourceforge/plantuml/hector2/layering/Layer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/layering/LayerFactory.java b/src/net/sourceforge/plantuml/hector2/layering/LayerFactory.java index de70e6dbb..8b9d08d6b 100644 --- a/src/net/sourceforge/plantuml/hector2/layering/LayerFactory.java +++ b/src/net/sourceforge/plantuml/hector2/layering/LayerFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/mpos/Distribution.java b/src/net/sourceforge/plantuml/hector2/mpos/Distribution.java index 04180f341..ae2fb92dc 100644 --- a/src/net/sourceforge/plantuml/hector2/mpos/Distribution.java +++ b/src/net/sourceforge/plantuml/hector2/mpos/Distribution.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/mpos/MutationLayer.java b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayer.java index 4fc03aa13..324f7b17b 100644 --- a/src/net/sourceforge/plantuml/hector2/mpos/MutationLayer.java +++ b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java index 5f1934c03..5e26f20c5 100644 --- a/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java +++ b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/html/CucaDiagramHtmlMaker.java b/src/net/sourceforge/plantuml/html/CucaDiagramHtmlMaker.java index 0397a0d45..460d6c8d8 100644 --- a/src/net/sourceforge/plantuml/html/CucaDiagramHtmlMaker.java +++ b/src/net/sourceforge/plantuml/html/CucaDiagramHtmlMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/html/LinkHtmlPrinter.java b/src/net/sourceforge/plantuml/html/LinkHtmlPrinter.java index 655ff1378..47d8d88cb 100644 --- a/src/net/sourceforge/plantuml/html/LinkHtmlPrinter.java +++ b/src/net/sourceforge/plantuml/html/LinkHtmlPrinter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java index ed4c24068..1fd3e8e0d 100644 --- a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java +++ b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jcckit/PSystemJcckitFactory.java b/src/net/sourceforge/plantuml/jcckit/PSystemJcckitFactory.java index dcd00c21d..6b9fdf218 100644 --- a/src/net/sourceforge/plantuml/jcckit/PSystemJcckitFactory.java +++ b/src/net/sourceforge/plantuml/jcckit/PSystemJcckitFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/CommandAddLevel.java b/src/net/sourceforge/plantuml/jungle/CommandAddLevel.java index c0556098b..11e20bf29 100644 --- a/src/net/sourceforge/plantuml/jungle/CommandAddLevel.java +++ b/src/net/sourceforge/plantuml/jungle/CommandAddLevel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/CommandEmpty.java b/src/net/sourceforge/plantuml/jungle/CommandEmpty.java index 286d97c9d..c5e5b9a47 100644 --- a/src/net/sourceforge/plantuml/jungle/CommandEmpty.java +++ b/src/net/sourceforge/plantuml/jungle/CommandEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GNode.java b/src/net/sourceforge/plantuml/jungle/GNode.java index 798527669..1e4728216 100644 --- a/src/net/sourceforge/plantuml/jungle/GNode.java +++ b/src/net/sourceforge/plantuml/jungle/GNode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GNodeUtils.java b/src/net/sourceforge/plantuml/jungle/GNodeUtils.java index b2657ef74..7cd31f742 100644 --- a/src/net/sourceforge/plantuml/jungle/GNodeUtils.java +++ b/src/net/sourceforge/plantuml/jungle/GNodeUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GTile.java b/src/net/sourceforge/plantuml/jungle/GTile.java index 1dcc91442..1ab1b5170 100644 --- a/src/net/sourceforge/plantuml/jungle/GTile.java +++ b/src/net/sourceforge/plantuml/jungle/GTile.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GTileGeometry.java b/src/net/sourceforge/plantuml/jungle/GTileGeometry.java index 18710494e..ea4d31e50 100644 --- a/src/net/sourceforge/plantuml/jungle/GTileGeometry.java +++ b/src/net/sourceforge/plantuml/jungle/GTileGeometry.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GTileLeftRight.java b/src/net/sourceforge/plantuml/jungle/GTileLeftRight.java index 29b7f2697..2ca29e50f 100644 --- a/src/net/sourceforge/plantuml/jungle/GTileLeftRight.java +++ b/src/net/sourceforge/plantuml/jungle/GTileLeftRight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GTileNode.java b/src/net/sourceforge/plantuml/jungle/GTileNode.java index c4c3ca43a..345663732 100644 --- a/src/net/sourceforge/plantuml/jungle/GTileNode.java +++ b/src/net/sourceforge/plantuml/jungle/GTileNode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -73,7 +73,7 @@ public class GTileNode extends AbstractTextBlock implements GTile { final Rose rose = new Rose(); final SkinParam skinParam = new SkinParam(); final HtmlColor fontColor = rose.getFontColor(skinParam, FontParam.NOTE); - final UFont fontNote = skinParam.getFont(FontParam.NOTE, null, false); + final UFont fontNote = skinParam.getFont(null, false, FontParam.NOTE); final FontConfiguration fc = new FontConfiguration(skinParam, FontParam.NOTE, null); diff --git a/src/net/sourceforge/plantuml/jungle/GTileOneLevelFactory.java b/src/net/sourceforge/plantuml/jungle/GTileOneLevelFactory.java index d14506e67..aea0c4f48 100644 --- a/src/net/sourceforge/plantuml/jungle/GTileOneLevelFactory.java +++ b/src/net/sourceforge/plantuml/jungle/GTileOneLevelFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/GTileStack.java b/src/net/sourceforge/plantuml/jungle/GTileStack.java index 41d2cbcf2..7635461c0 100644 --- a/src/net/sourceforge/plantuml/jungle/GTileStack.java +++ b/src/net/sourceforge/plantuml/jungle/GTileStack.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/Needle.java b/src/net/sourceforge/plantuml/jungle/Needle.java index f529c7520..4bd1c6758 100644 --- a/src/net/sourceforge/plantuml/jungle/Needle.java +++ b/src/net/sourceforge/plantuml/jungle/Needle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/PSystemTree.java b/src/net/sourceforge/plantuml/jungle/PSystemTree.java index 4dc251eb4..3db890222 100644 --- a/src/net/sourceforge/plantuml/jungle/PSystemTree.java +++ b/src/net/sourceforge/plantuml/jungle/PSystemTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/PSystemTreeFactory.java b/src/net/sourceforge/plantuml/jungle/PSystemTreeFactory.java index c28e6db57..56f3963e4 100644 --- a/src/net/sourceforge/plantuml/jungle/PSystemTreeFactory.java +++ b/src/net/sourceforge/plantuml/jungle/PSystemTreeFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/jungle/Rendering.java b/src/net/sourceforge/plantuml/jungle/Rendering.java index c13056847..f627bec0b 100644 --- a/src/net/sourceforge/plantuml/jungle/Rendering.java +++ b/src/net/sourceforge/plantuml/jungle/Rendering.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/LogoScanner.java b/src/net/sourceforge/plantuml/logo/LogoScanner.java index d59a6d937..e883d66eb 100644 --- a/src/net/sourceforge/plantuml/logo/LogoScanner.java +++ b/src/net/sourceforge/plantuml/logo/LogoScanner.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/LogoToken.java b/src/net/sourceforge/plantuml/logo/LogoToken.java index 0e83dfcdd..7ea255492 100644 --- a/src/net/sourceforge/plantuml/logo/LogoToken.java +++ b/src/net/sourceforge/plantuml/logo/LogoToken.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/PSystemLogo.java b/src/net/sourceforge/plantuml/logo/PSystemLogo.java index ba7c3e339..453dbb620 100644 --- a/src/net/sourceforge/plantuml/logo/PSystemLogo.java +++ b/src/net/sourceforge/plantuml/logo/PSystemLogo.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/PSystemLogoFactory.java b/src/net/sourceforge/plantuml/logo/PSystemLogoFactory.java index baa31cf87..7a0c0d281 100644 --- a/src/net/sourceforge/plantuml/logo/PSystemLogoFactory.java +++ b/src/net/sourceforge/plantuml/logo/PSystemLogoFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/TinyJavaLogo.java b/src/net/sourceforge/plantuml/logo/TinyJavaLogo.java index bfe5ce110..b0efde6fc 100644 --- a/src/net/sourceforge/plantuml/logo/TinyJavaLogo.java +++ b/src/net/sourceforge/plantuml/logo/TinyJavaLogo.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java b/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java index 6e59a5ac6..00df06828 100644 --- a/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java +++ b/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/mda/MDADiagramImpl.java b/src/net/sourceforge/plantuml/mda/MDADiagramImpl.java index 328fb8cde..ff1e2158d 100644 --- a/src/net/sourceforge/plantuml/mda/MDADiagramImpl.java +++ b/src/net/sourceforge/plantuml/mda/MDADiagramImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/mda/MDAEntityImpl.java b/src/net/sourceforge/plantuml/mda/MDAEntityImpl.java index c81c87a9d..85ab27ca9 100644 --- a/src/net/sourceforge/plantuml/mda/MDAEntityImpl.java +++ b/src/net/sourceforge/plantuml/mda/MDAEntityImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/mda/MDAPackageImpl.java b/src/net/sourceforge/plantuml/mda/MDAPackageImpl.java index 5bda81ac2..5268c1db4 100644 --- a/src/net/sourceforge/plantuml/mda/MDAPackageImpl.java +++ b/src/net/sourceforge/plantuml/mda/MDAPackageImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/objectdiagram/AbstractClassOrObjectDiagram.java b/src/net/sourceforge/plantuml/objectdiagram/AbstractClassOrObjectDiagram.java index 32695fe3b..5c1168747 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/AbstractClassOrObjectDiagram.java +++ b/src/net/sourceforge/plantuml/objectdiagram/AbstractClassOrObjectDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -155,17 +155,19 @@ public abstract class AbstractClassOrObjectDiagram extends AbstractEntityDiagram void createNew(int mode, LinkType linkType, Display label) { existingLink = foundLink(entity1, entity2); if (existingLink == null) { - existingLink = new Link(entity1, entity2, new LinkType(LinkDecor.NONE, LinkDecor.NONE), Display.NULL, - 2); + existingLink = new Link(entity1, entity2, new LinkType(LinkDecor.NONE, LinkDecor.NONE), Display.NULL, 2); } else { removeLink(existingLink); } - entity1ToPoint = new Link(entity1, point, existingLink.getType().getPart2(), existingLink.getLabel(), + final IEntity entity1real = existingLink.isInverted() ? existingLink.getEntity2() : existingLink.getEntity1(); + final IEntity entity2real = existingLink.isInverted() ? existingLink.getEntity1() : existingLink.getEntity2(); + + entity1ToPoint = new Link(entity1real, point, existingLink.getType().getPart2(), existingLink.getLabel(), existingLink.getLength(), existingLink.getQualifier1(), null, existingLink.getLabeldistance(), existingLink.getLabelangle()); entity1ToPoint.setLinkArrow(existingLink.getLinkArrow()); - pointToEntity2 = new Link(point, entity2, existingLink.getType().getPart1(), Display.NULL, + pointToEntity2 = new Link(point, entity2real, existingLink.getType().getPart1(), Display.NULL, existingLink.getLength(), null, existingLink.getQualifier2(), existingLink.getLabeldistance(), existingLink.getLabelangle()); addLink(entity1ToPoint); @@ -190,8 +192,7 @@ public abstract class AbstractClassOrObjectDiagram extends AbstractEntityDiagram void createInSecond(LinkType linkType, Display label) { existingLink = foundLink(entity1, entity2); if (existingLink == null) { - existingLink = new Link(entity1, entity2, new LinkType(LinkDecor.NONE, LinkDecor.NONE), Display.NULL, - 2); + existingLink = new Link(entity1, entity2, new LinkType(LinkDecor.NONE, LinkDecor.NONE), Display.NULL, 2); } else { removeLink(existingLink); } @@ -214,7 +215,8 @@ public abstract class AbstractClassOrObjectDiagram extends AbstractEntityDiagram pointToAssocied = new Link(point, associed, linkType, label, 1); addLink(pointToAssocied); - final Link lnode = new Link(other.point, this.point, new LinkType(LinkDecor.NONE, LinkDecor.NONE), Display.NULL, 1); + final Link lnode = new Link(other.point, this.point, new LinkType(LinkDecor.NONE, LinkDecor.NONE), + Display.NULL, 1); lnode.setInvis(true); addLink(lnode); diff --git a/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagram.java b/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagram.java index bba0ddad8..bf2722977 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagram.java +++ b/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagramFactory.java b/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagramFactory.java index 4e5209f62..0e68a06d4 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagramFactory.java +++ b/src/net/sourceforge/plantuml/objectdiagram/ObjectDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/objectdiagram/command/CommandAddData.java b/src/net/sourceforge/plantuml/objectdiagram/command/CommandAddData.java index 5d4369131..0e511b594 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/command/CommandAddData.java +++ b/src/net/sourceforge/plantuml/objectdiagram/command/CommandAddData.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -39,17 +39,17 @@ import net.sourceforge.plantuml.command.CommandExecutionResult; import net.sourceforge.plantuml.command.SingleLineCommand; import net.sourceforge.plantuml.cucadiagram.Code; import net.sourceforge.plantuml.cucadiagram.IEntity; -import net.sourceforge.plantuml.objectdiagram.ObjectDiagram; +import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram; import net.sourceforge.plantuml.skin.VisibilityModifier; -public class CommandAddData extends SingleLineCommand { +public class CommandAddData extends SingleLineCommand { public CommandAddData() { super("(?i)^([\\p{L}0-9_.]+)[%s]*:[%s]*(.*)$"); } @Override - protected CommandExecutionResult executeArg(ObjectDiagram diagram, List arg) { + protected CommandExecutionResult executeArg(AbstractClassOrObjectDiagram diagram, List arg) { final IEntity entity = diagram.getOrCreateLeaf(Code.of(arg.get(0)), null, null); final String field = arg.get(1); diff --git a/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObject.java b/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObject.java index b0fb46150..f6fea6f9e 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObject.java +++ b/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObject.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -49,9 +49,10 @@ import net.sourceforge.plantuml.cucadiagram.LeafType; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; +import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram; import net.sourceforge.plantuml.objectdiagram.ObjectDiagram; -public class CommandCreateEntityObject extends SingleLineCommand2 { +public class CommandCreateEntityObject extends SingleLineCommand2 { public CommandCreateEntityObject() { super(getRegexConcat()); @@ -71,7 +72,7 @@ public class CommandCreateEntityObject extends SingleLineCommand2 } @Override - protected CommandExecutionResult executeArg(ObjectDiagram diagram, RegexResult arg) { + protected CommandExecutionResult executeArg(AbstractClassOrObjectDiagram diagram, RegexResult arg) { final Code code = Code.of(arg.get("NAME", 1)); final String display = arg.get("NAME", 0); final String stereotype = arg.get("STEREO", 0); @@ -81,7 +82,7 @@ public class CommandCreateEntityObject extends SingleLineCommand2 final IEntity entity = diagram.createLeaf(code, Display.getWithNewlines(display), LeafType.OBJECT, null); if (stereotype != null) { entity.setStereotype(new Stereotype(stereotype, diagram.getSkinParam().getCircledCharacterRadius(), diagram - .getSkinParam().getFont(FontParam.CIRCLED_CHARACTER, null, false), diagram.getSkinParam() + .getSkinParam().getFont(null, false, FontParam.CIRCLED_CHARACTER), diagram.getSkinParam() .getIHtmlColorSet())); } final String urlString = arg.get("URL", 0); diff --git a/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObjectMultilines.java b/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObjectMultilines.java index b81af2817..c06d37f52 100644 --- a/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObjectMultilines.java +++ b/src/net/sourceforge/plantuml/objectdiagram/command/CommandCreateEntityObjectMultilines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -50,10 +50,11 @@ import net.sourceforge.plantuml.cucadiagram.LeafType; import net.sourceforge.plantuml.cucadiagram.Stereotype; import net.sourceforge.plantuml.graphic.color.ColorParser; import net.sourceforge.plantuml.graphic.color.ColorType; +import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram; import net.sourceforge.plantuml.objectdiagram.ObjectDiagram; import net.sourceforge.plantuml.skin.VisibilityModifier; -public class CommandCreateEntityObjectMultilines extends CommandMultilines2 { +public class CommandCreateEntityObjectMultilines extends CommandMultilines2 { public CommandCreateEntityObjectMultilines() { super(getRegexConcat(), MultilinesStrategy.REMOVE_STARTING_QUOTE); @@ -77,7 +78,7 @@ public class CommandCreateEntityObjectMultilines extends CommandMultilines2 copy = new ArrayList(beziers); copy.addAll(0, other.beziers); return new DotPath(copy); @@ -322,7 +325,7 @@ public class DotPath implements UShape, Moveable { return result; } - public PointDirected getIntersection(ClusterPosition position) { + private PointDirected getIntersection(ClusterPosition position) { for (CubicCurve2D.Double bez : beziers) { final PointDirected result = position.getIntersection(bez); if (result != null) { @@ -332,15 +335,6 @@ public class DotPath implements UShape, Moveable { return null; } - // public void drawOld(Graphics2D g2d, double x, double y) { - // for (CubicCurve2D.Double bez : beziers) { - // bez = new CubicCurve2D.Double(x + bez.x1, y + bez.y1, x + bez.ctrlx1, y + - // bez.ctrly1, x + bez.ctrlx2, y - // + bez.ctrly2, x + bez.x2, y + bez.y2); - // g2d.draw(bez); - // } - // } - // public void draw(Graphics2D g2d, double x, double y) { final GeneralPath p = new GeneralPath(); for (CubicCurve2D.Double bez : beziers) { @@ -399,7 +393,7 @@ public class DotPath implements UShape, Moveable { return result; } - public Point2D getFrontierIntersection(Shape shape, Rectangle2D... notIn) { + private Point2D getFrontierIntersection(Shape shape, Rectangle2D... notIn) { final List all = new ArrayList(beziers); for (int i = 0; i < 8; i++) { for (CubicCurve2D.Double immutable : all) { @@ -453,7 +447,7 @@ public class DotPath implements UShape, Moveable { return false; } - public DotPath manageRect(Rectangle2D start, Rectangle2D end) { + private DotPath manageRect(Rectangle2D start, Rectangle2D end) { final List list = new ArrayList(this.beziers); while (true) { if (BezierUtils.isCutting(list.get(0), start) == false) { @@ -474,7 +468,7 @@ public class DotPath implements UShape, Moveable { return new DotPath(list); } - public Point2D getFrontierIntersection(Positionable p) { + private Point2D getFrontierIntersection(Positionable p) { return getFrontierIntersection(PositionableUtils.convert(p)); } @@ -503,6 +497,7 @@ public class DotPath implements UShape, Moveable { final StringBuilder sb = new StringBuilder(); for (CubicCurve2D.Double c : beziers) { sb.append(toString(c)); + sb.append(" - "); } return sb.toString(); } @@ -536,4 +531,97 @@ public class DotPath implements UShape, Moveable { return Collections.unmodifiableList(beziers); } + public DotPath simulateCompound(Cluster head, Cluster tail) { + if (OptionFlags.USE_COMPOUND) { + throw new IllegalStateException(); + } + if (head == null && tail == null) { + return this; + } + // System.err.println("head=" + head + " tail=" + tail); + DotPath me = this; + if (tail != null) { + // System.err.println("beziers1=" + this.toString()); + final ClusterPosition clusterPosition = tail.getClusterPosition(); + if (clusterPosition.contains(getStartPoint()) == false) { + throw new IllegalStateException(); + } + final DotPath result = new DotPath(); + int idx = 0; + while (idx + 1 < this.beziers.size() && clusterPosition.contains(this.beziers.get(idx).getP2())) { + if (clusterPosition.contains(this.beziers.get(idx).getP1()) == false) { + throw new IllegalStateException(); + } + idx++; + } + if (clusterPosition.contains(this.beziers.get(idx).getP2())) { + // System.err.println("strange1"); + } else { + assert clusterPosition.contains(this.beziers.get(idx).getP1()); + assert clusterPosition.contains(this.beziers.get(idx).getP2()) == false; + CubicCurve2D current = this.beziers.get(idx); + for (int k = 0; k < 8; k++) { + // System.err.println("length=" + length(current)); + final CubicCurve2D.Double part1 = new CubicCurve2D.Double(); + final CubicCurve2D.Double part2 = new CubicCurve2D.Double(); + current.subdivide(part1, part2); + assert part1.getP2().equals(part2.getP1()); + if (clusterPosition.contains(part1.getP2())) { + current = part2; + } else { + result.beziers.add(0, part2); + current = part1; + } + } + for (int i = idx + 1; i < this.beziers.size(); i++) { + result.beziers.add(this.beziers.get(i)); + } + me = result; + } + } + if (head != null) { + // System.err.println("beziers2=" + me.toString()); + final DotPath result = new DotPath(); + final ClusterPosition clusterPosition = head.getClusterPosition(); + if (clusterPosition.contains(getEndPoint()) == false) { + // System.err.println("strange3"); + return me; + } + for (CubicCurve2D.Double current : me.beziers) { + if (clusterPosition.contains(current.getP2()) == false) { + result.beziers.add(current); + } else { + if (clusterPosition.contains(current.getP1())) { + // System.err.println("strange2"); + return me; + } + assert clusterPosition.contains(current.getP1()) == false; + assert clusterPosition.contains(current.getP2()); + for (int k = 0; k < 8; k++) { + // System.err.println("length=" + length(current)); + final CubicCurve2D.Double part1 = new CubicCurve2D.Double(); + final CubicCurve2D.Double part2 = new CubicCurve2D.Double(); + current.subdivide(part1, part2); + assert part1.getP2().equals(part2.getP1()); + if (clusterPosition.contains(part1.getP2())) { + current = part1; + } else { + result.beziers.add(part1); + current = part2; + // System.err.println("k=" + k + " result=" + result.toString()); + } + } + // System.err.println("Final Result=" + result.toString()); + return result; + } + } + + } + return me; + } + + private double length(CubicCurve2D curve) { + return curve.getP1().distance(curve.getP2()); + } + } diff --git a/src/net/sourceforge/plantuml/posimo/DotxMaker.java b/src/net/sourceforge/plantuml/posimo/DotxMaker.java index 46d24fe41..7bdebf9e8 100644 --- a/src/net/sourceforge/plantuml/posimo/DotxMaker.java +++ b/src/net/sourceforge/plantuml/posimo/DotxMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/EntityImageNote2.java b/src/net/sourceforge/plantuml/posimo/EntityImageNote2.java index e0e3c4d95..6a14fa703 100644 --- a/src/net/sourceforge/plantuml/posimo/EntityImageNote2.java +++ b/src/net/sourceforge/plantuml/posimo/EntityImageNote2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Frame.java b/src/net/sourceforge/plantuml/posimo/Frame.java index 58f10455e..0e53266d8 100644 --- a/src/net/sourceforge/plantuml/posimo/Frame.java +++ b/src/net/sourceforge/plantuml/posimo/Frame.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -118,8 +118,8 @@ public class Frame implements Component { } private TextBlock createTextBloc() { - final UFont font = skinParam.getFont(FontParam.PACKAGE, null, false); - final HtmlColor textColor = skinParam.getFontHtmlColor(FontParam.PACKAGE, null); + final UFont font = skinParam.getFont(null, false, FontParam.PACKAGE); + final HtmlColor textColor = skinParam.getFontHtmlColor(null, FontParam.PACKAGE); // final TextBlock bloc = Display.create(name).create(new FontConfiguration(font, textColor, // skinParam.getHyperlinkColor(), skinParam.useUnderlineForHyperlink()), HorizontalAlignment.LEFT, new // SpriteContainerEmpty()); diff --git a/src/net/sourceforge/plantuml/posimo/GraphvizSolverB.java b/src/net/sourceforge/plantuml/posimo/GraphvizSolverB.java index 2812585df..5a86953a0 100644 --- a/src/net/sourceforge/plantuml/posimo/GraphvizSolverB.java +++ b/src/net/sourceforge/plantuml/posimo/GraphvizSolverB.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/IEntityImageBlock.java b/src/net/sourceforge/plantuml/posimo/IEntityImageBlock.java index c69e3d30d..892e88c9e 100644 --- a/src/net/sourceforge/plantuml/posimo/IEntityImageBlock.java +++ b/src/net/sourceforge/plantuml/posimo/IEntityImageBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Label.java b/src/net/sourceforge/plantuml/posimo/Label.java index aba4f7cf3..9942a9d78 100644 --- a/src/net/sourceforge/plantuml/posimo/Label.java +++ b/src/net/sourceforge/plantuml/posimo/Label.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/LabelImage.java b/src/net/sourceforge/plantuml/posimo/LabelImage.java index 780a357e2..5c5727d39 100644 --- a/src/net/sourceforge/plantuml/posimo/LabelImage.java +++ b/src/net/sourceforge/plantuml/posimo/LabelImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java b/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java index 63305efb8..642db7012 100644 --- a/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java +++ b/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/LineSegmentIntersection.java b/src/net/sourceforge/plantuml/posimo/LineSegmentIntersection.java index 11c13dfaf..ef97c0960 100644 --- a/src/net/sourceforge/plantuml/posimo/LineSegmentIntersection.java +++ b/src/net/sourceforge/plantuml/posimo/LineSegmentIntersection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/MargedBlock.java b/src/net/sourceforge/plantuml/posimo/MargedBlock.java index b64d0504e..ecdd40f17 100644 --- a/src/net/sourceforge/plantuml/posimo/MargedBlock.java +++ b/src/net/sourceforge/plantuml/posimo/MargedBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Mirror.java b/src/net/sourceforge/plantuml/posimo/Mirror.java index 5324c789b..178b50d8d 100644 --- a/src/net/sourceforge/plantuml/posimo/Mirror.java +++ b/src/net/sourceforge/plantuml/posimo/Mirror.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Moveable.java b/src/net/sourceforge/plantuml/posimo/Moveable.java index ded7a1ac4..06038188d 100644 --- a/src/net/sourceforge/plantuml/posimo/Moveable.java +++ b/src/net/sourceforge/plantuml/posimo/Moveable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Path.java b/src/net/sourceforge/plantuml/posimo/Path.java index f631acbcf..514d9ae3d 100644 --- a/src/net/sourceforge/plantuml/posimo/Path.java +++ b/src/net/sourceforge/plantuml/posimo/Path.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/PathDrawer.java b/src/net/sourceforge/plantuml/posimo/PathDrawer.java index 4f8045395..589e828e4 100644 --- a/src/net/sourceforge/plantuml/posimo/PathDrawer.java +++ b/src/net/sourceforge/plantuml/posimo/PathDrawer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/PathDrawerInterface.java b/src/net/sourceforge/plantuml/posimo/PathDrawerInterface.java index 44dd6f25b..be5164156 100644 --- a/src/net/sourceforge/plantuml/posimo/PathDrawerInterface.java +++ b/src/net/sourceforge/plantuml/posimo/PathDrawerInterface.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Positionable.java b/src/net/sourceforge/plantuml/posimo/Positionable.java index 48b73b1c3..62fa8bf70 100644 --- a/src/net/sourceforge/plantuml/posimo/Positionable.java +++ b/src/net/sourceforge/plantuml/posimo/Positionable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/PositionableImpl.java b/src/net/sourceforge/plantuml/posimo/PositionableImpl.java index 94b3fe24a..f2f6180dd 100644 --- a/src/net/sourceforge/plantuml/posimo/PositionableImpl.java +++ b/src/net/sourceforge/plantuml/posimo/PositionableImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/PositionableUtils.java b/src/net/sourceforge/plantuml/posimo/PositionableUtils.java index 6531ce42f..2887e4c41 100644 --- a/src/net/sourceforge/plantuml/posimo/PositionableUtils.java +++ b/src/net/sourceforge/plantuml/posimo/PositionableUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/Racorder.java b/src/net/sourceforge/plantuml/posimo/Racorder.java index c5874e654..97fa79ac5 100644 --- a/src/net/sourceforge/plantuml/posimo/Racorder.java +++ b/src/net/sourceforge/plantuml/posimo/Racorder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/RacorderAbstract.java b/src/net/sourceforge/plantuml/posimo/RacorderAbstract.java index fbba65a49..357504748 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderAbstract.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderAbstract.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeante.java b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeante.java index b0c1ad1f3..3d91dbf25 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeante.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeante.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java index 9f4611922..3befe78c7 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java b/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java index 2f0b4ecc5..306ab34f8 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/RacorderOrthogonal.java b/src/net/sourceforge/plantuml/posimo/RacorderOrthogonal.java index 5d8ac8d79..9ba53d04e 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderOrthogonal.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderOrthogonal.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/SimpleDrawer.java b/src/net/sourceforge/plantuml/posimo/SimpleDrawer.java index 3d6ce3465..2ab9f9eef 100644 --- a/src/net/sourceforge/plantuml/posimo/SimpleDrawer.java +++ b/src/net/sourceforge/plantuml/posimo/SimpleDrawer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/posimo/TwoLinesIntersection.java b/src/net/sourceforge/plantuml/posimo/TwoLinesIntersection.java index 01662293f..078479bcc 100644 --- a/src/net/sourceforge/plantuml/posimo/TwoLinesIntersection.java +++ b/src/net/sourceforge/plantuml/posimo/TwoLinesIntersection.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/Area.java b/src/net/sourceforge/plantuml/postit/Area.java index 4aa44b232..c601cefb5 100644 --- a/src/net/sourceforge/plantuml/postit/Area.java +++ b/src/net/sourceforge/plantuml/postit/Area.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/AreaLayout.java b/src/net/sourceforge/plantuml/postit/AreaLayout.java index 37e271db5..996f54daa 100644 --- a/src/net/sourceforge/plantuml/postit/AreaLayout.java +++ b/src/net/sourceforge/plantuml/postit/AreaLayout.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/AreaLayoutFixedWidth.java b/src/net/sourceforge/plantuml/postit/AreaLayoutFixedWidth.java index d6fd38c03..b57a22614 100644 --- a/src/net/sourceforge/plantuml/postit/AreaLayoutFixedWidth.java +++ b/src/net/sourceforge/plantuml/postit/AreaLayoutFixedWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/CommandCreatePostIt.java b/src/net/sourceforge/plantuml/postit/CommandCreatePostIt.java index e37a1c217..6382010a7 100644 --- a/src/net/sourceforge/plantuml/postit/CommandCreatePostIt.java +++ b/src/net/sourceforge/plantuml/postit/CommandCreatePostIt.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/CommandWidth.java b/src/net/sourceforge/plantuml/postit/CommandWidth.java index 65f7fcb11..05233d492 100644 --- a/src/net/sourceforge/plantuml/postit/CommandWidth.java +++ b/src/net/sourceforge/plantuml/postit/CommandWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/Elastic.java b/src/net/sourceforge/plantuml/postit/Elastic.java index 8a5af6088..606449156 100644 --- a/src/net/sourceforge/plantuml/postit/Elastic.java +++ b/src/net/sourceforge/plantuml/postit/Elastic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/PostIdDiagramFactory.java b/src/net/sourceforge/plantuml/postit/PostIdDiagramFactory.java index f10370e6e..3c9f29239 100644 --- a/src/net/sourceforge/plantuml/postit/PostIdDiagramFactory.java +++ b/src/net/sourceforge/plantuml/postit/PostIdDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/postit/PostIt.java b/src/net/sourceforge/plantuml/postit/PostIt.java index 449988d35..b55b07ca9 100644 --- a/src/net/sourceforge/plantuml/postit/PostIt.java +++ b/src/net/sourceforge/plantuml/postit/PostIt.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -111,7 +111,7 @@ public class PostIt { final HtmlColor borderColor = HtmlColorUtils.MY_RED; final SkinParam param = SkinParam.noShadowing(); - final UFont fontNote = param.getFont(FontParam.NOTE, null, false); + final UFont fontNote = param.getFont(null, false, FontParam.NOTE); final FontConfiguration font2 = fontNote.toFont2(HtmlColorUtils.BLACK, true, HtmlColorUtils.BLUE, 8); final ComponentRoseNote note = new ComponentRoseNote( new SymbolContext(noteBackgroundColor, borderColor).withStroke(new UStroke()), font2, text, 0, 0, diff --git a/src/net/sourceforge/plantuml/postit/PostItDiagram.java b/src/net/sourceforge/plantuml/postit/PostItDiagram.java index a811d6b58..6a5aaaa3a 100644 --- a/src/net/sourceforge/plantuml/postit/PostItDiagram.java +++ b/src/net/sourceforge/plantuml/postit/PostItDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/preproc/Defines.java b/src/net/sourceforge/plantuml/preproc/Defines.java index 0f32588bf..506e87af3 100644 --- a/src/net/sourceforge/plantuml/preproc/Defines.java +++ b/src/net/sourceforge/plantuml/preproc/Defines.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17496 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/FileWithSuffix.java b/src/net/sourceforge/plantuml/preproc/FileWithSuffix.java index f1b6a2e3d..3b0c25e40 100644 --- a/src/net/sourceforge/plantuml/preproc/FileWithSuffix.java +++ b/src/net/sourceforge/plantuml/preproc/FileWithSuffix.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/preproc/IfManager.java b/src/net/sourceforge/plantuml/preproc/IfManager.java index 0659fde8a..9f0aa4e15 100644 --- a/src/net/sourceforge/plantuml/preproc/IfManager.java +++ b/src/net/sourceforge/plantuml/preproc/IfManager.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16353 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/IfManagerNegatif.java b/src/net/sourceforge/plantuml/preproc/IfManagerNegatif.java index 87479d0ac..11ac924ca 100644 --- a/src/net/sourceforge/plantuml/preproc/IfManagerNegatif.java +++ b/src/net/sourceforge/plantuml/preproc/IfManagerNegatif.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16353 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/IfManagerPositif.java b/src/net/sourceforge/plantuml/preproc/IfManagerPositif.java index 3e7d87203..da22a0aaa 100644 --- a/src/net/sourceforge/plantuml/preproc/IfManagerPositif.java +++ b/src/net/sourceforge/plantuml/preproc/IfManagerPositif.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16353 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/Preprocessor.java b/src/net/sourceforge/plantuml/preproc/Preprocessor.java index c7c714758..aecde623a 100644 --- a/src/net/sourceforge/plantuml/preproc/Preprocessor.java +++ b/src/net/sourceforge/plantuml/preproc/Preprocessor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17341 $ + * Revision $Revision: 18282 $ * */ package net.sourceforge.plantuml.preproc; @@ -137,17 +137,18 @@ public class Preprocessor implements ReadLine { } else { final List strings = defines.applyDefines(group2); if (strings.size() > 1) { - throw new UnsupportedOperationException(); + defines.define(group1, strings); + } else { + final StringBuilder value = new StringBuilder(strings.get(0)); + while (StringUtils.endsWithBackslash(value.toString())) { + value.setLength(value.length() - 1); + final CharSequence2 read = this.readLine(); + value.append(read.toString2()); + } + final List li = new ArrayList(); + li.add(value.toString()); + defines.define(group1, li); } - final StringBuilder value = new StringBuilder(strings.get(0)); - while (StringUtils.endsWithBackslash(value.toString())) { - value.setLength(value.length() - 1); - final CharSequence2 read = this.readLine(); - value.append(read.toString2()); - } - final List li = new ArrayList(); - li.add(value.toString()); - defines.define(group1, li); } return this.readLine(); } diff --git a/src/net/sourceforge/plantuml/preproc/PreprocessorInclude.java b/src/net/sourceforge/plantuml/preproc/PreprocessorInclude.java index 7123e623a..3818e21b0 100644 --- a/src/net/sourceforge/plantuml/preproc/PreprocessorInclude.java +++ b/src/net/sourceforge/plantuml/preproc/PreprocessorInclude.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -29,7 +29,7 @@ * Original Author: Arnaud Roques * Modified by: Nicolas Jouanin * - * Revision $Revision: 17341 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/ReadLine.java b/src/net/sourceforge/plantuml/preproc/ReadLine.java index 75c34d9b2..ce21557c7 100644 --- a/src/net/sourceforge/plantuml/preproc/ReadLine.java +++ b/src/net/sourceforge/plantuml/preproc/ReadLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16327 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.preproc; diff --git a/src/net/sourceforge/plantuml/preproc/ReadLineInsertable.java b/src/net/sourceforge/plantuml/preproc/ReadLineInsertable.java index 208178ac0..ebfc6b0a0 100644 --- a/src/net/sourceforge/plantuml/preproc/ReadLineInsertable.java +++ b/src/net/sourceforge/plantuml/preproc/ReadLineInsertable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/preproc/ReadLineReader.java b/src/net/sourceforge/plantuml/preproc/ReadLineReader.java index 39334e5c3..94d1ad3ea 100644 --- a/src/net/sourceforge/plantuml/preproc/ReadLineReader.java +++ b/src/net/sourceforge/plantuml/preproc/ReadLineReader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/preproc/StartDiagramExtractReader.java b/src/net/sourceforge/plantuml/preproc/StartDiagramExtractReader.java index f3bbcd90d..7de7caaa4 100644 --- a/src/net/sourceforge/plantuml/preproc/StartDiagramExtractReader.java +++ b/src/net/sourceforge/plantuml/preproc/StartDiagramExtractReader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/preproc/UncommentReadLine.java b/src/net/sourceforge/plantuml/preproc/UncommentReadLine.java index e343e2e84..40ba433d3 100644 --- a/src/net/sourceforge/plantuml/preproc/UncommentReadLine.java +++ b/src/net/sourceforge/plantuml/preproc/UncommentReadLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/printskin/PrintSkin.java b/src/net/sourceforge/plantuml/printskin/PrintSkin.java index 247f97cee..76337ed3e 100644 --- a/src/net/sourceforge/plantuml/printskin/PrintSkin.java +++ b/src/net/sourceforge/plantuml/printskin/PrintSkin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17068 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.printskin; diff --git a/src/net/sourceforge/plantuml/printskin/PrintSkinFactory.java b/src/net/sourceforge/plantuml/printskin/PrintSkinFactory.java index 0d83dc932..213623e16 100644 --- a/src/net/sourceforge/plantuml/printskin/PrintSkinFactory.java +++ b/src/net/sourceforge/plantuml/printskin/PrintSkinFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/BasicInstantArithmetic.java b/src/net/sourceforge/plantuml/project/BasicInstantArithmetic.java index 862465829..575a6f7b7 100644 --- a/src/net/sourceforge/plantuml/project/BasicInstantArithmetic.java +++ b/src/net/sourceforge/plantuml/project/BasicInstantArithmetic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Constant.java b/src/net/sourceforge/plantuml/project/Constant.java index 80834c47e..5a3695b41 100644 --- a/src/net/sourceforge/plantuml/project/Constant.java +++ b/src/net/sourceforge/plantuml/project/Constant.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Day.java b/src/net/sourceforge/plantuml/project/Day.java index d8a72b4de..2fb46c440 100644 --- a/src/net/sourceforge/plantuml/project/Day.java +++ b/src/net/sourceforge/plantuml/project/Day.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/DayClose.java b/src/net/sourceforge/plantuml/project/DayClose.java index 864164fa8..b06149496 100644 --- a/src/net/sourceforge/plantuml/project/DayClose.java +++ b/src/net/sourceforge/plantuml/project/DayClose.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/DayCloseNone.java b/src/net/sourceforge/plantuml/project/DayCloseNone.java index 2e8a73a50..464322fad 100644 --- a/src/net/sourceforge/plantuml/project/DayCloseNone.java +++ b/src/net/sourceforge/plantuml/project/DayCloseNone.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/DayCloseOr.java b/src/net/sourceforge/plantuml/project/DayCloseOr.java index 0d118176e..4449f80c9 100644 --- a/src/net/sourceforge/plantuml/project/DayCloseOr.java +++ b/src/net/sourceforge/plantuml/project/DayCloseOr.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/DayCloseWeekDay.java b/src/net/sourceforge/plantuml/project/DayCloseWeekDay.java index a03d14b9e..a1b80be15 100644 --- a/src/net/sourceforge/plantuml/project/DayCloseWeekDay.java +++ b/src/net/sourceforge/plantuml/project/DayCloseWeekDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Duration.java b/src/net/sourceforge/plantuml/project/Duration.java index d4f5162a2..0c8c79688 100644 --- a/src/net/sourceforge/plantuml/project/Duration.java +++ b/src/net/sourceforge/plantuml/project/Duration.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Expression.java b/src/net/sourceforge/plantuml/project/Expression.java index 5f41ef236..13afcd98c 100644 --- a/src/net/sourceforge/plantuml/project/Expression.java +++ b/src/net/sourceforge/plantuml/project/Expression.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Formal.java b/src/net/sourceforge/plantuml/project/Formal.java index ec838c972..2c055c1db 100644 --- a/src/net/sourceforge/plantuml/project/Formal.java +++ b/src/net/sourceforge/plantuml/project/Formal.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/FormalAddition.java b/src/net/sourceforge/plantuml/project/FormalAddition.java index 0773f85f9..a548c8129 100644 --- a/src/net/sourceforge/plantuml/project/FormalAddition.java +++ b/src/net/sourceforge/plantuml/project/FormalAddition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/FormalAdditionInstantDuration.java b/src/net/sourceforge/plantuml/project/FormalAdditionInstantDuration.java index b36ca147f..8db118f85 100644 --- a/src/net/sourceforge/plantuml/project/FormalAdditionInstantDuration.java +++ b/src/net/sourceforge/plantuml/project/FormalAdditionInstantDuration.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/FreeVariable.java b/src/net/sourceforge/plantuml/project/FreeVariable.java index da85fce84..481bf3433 100644 --- a/src/net/sourceforge/plantuml/project/FreeVariable.java +++ b/src/net/sourceforge/plantuml/project/FreeVariable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/IncompleteItem.java b/src/net/sourceforge/plantuml/project/IncompleteItem.java index 665936331..251a406b6 100644 --- a/src/net/sourceforge/plantuml/project/IncompleteItem.java +++ b/src/net/sourceforge/plantuml/project/IncompleteItem.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Instant.java b/src/net/sourceforge/plantuml/project/Instant.java index 2b8898a95..d3c7317bb 100644 --- a/src/net/sourceforge/plantuml/project/Instant.java +++ b/src/net/sourceforge/plantuml/project/Instant.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/InstantArithmetic.java b/src/net/sourceforge/plantuml/project/InstantArithmetic.java index c3afe8748..328b8a3d9 100644 --- a/src/net/sourceforge/plantuml/project/InstantArithmetic.java +++ b/src/net/sourceforge/plantuml/project/InstantArithmetic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Item.java b/src/net/sourceforge/plantuml/project/Item.java index 1438ebab5..b3d3566ea 100644 --- a/src/net/sourceforge/plantuml/project/Item.java +++ b/src/net/sourceforge/plantuml/project/Item.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/ItemCaract.java b/src/net/sourceforge/plantuml/project/ItemCaract.java index f23abf85a..f8b68976a 100644 --- a/src/net/sourceforge/plantuml/project/ItemCaract.java +++ b/src/net/sourceforge/plantuml/project/ItemCaract.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/ItemComparator.java b/src/net/sourceforge/plantuml/project/ItemComparator.java index 2f4efba86..bded9fc2d 100644 --- a/src/net/sourceforge/plantuml/project/ItemComparator.java +++ b/src/net/sourceforge/plantuml/project/ItemComparator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Jalon.java b/src/net/sourceforge/plantuml/project/Jalon.java index 299730c31..a284f6e4c 100644 --- a/src/net/sourceforge/plantuml/project/Jalon.java +++ b/src/net/sourceforge/plantuml/project/Jalon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Load.java b/src/net/sourceforge/plantuml/project/Load.java index 5f775d8cb..c128d0ce8 100644 --- a/src/net/sourceforge/plantuml/project/Load.java +++ b/src/net/sourceforge/plantuml/project/Load.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Month.java b/src/net/sourceforge/plantuml/project/Month.java index bbaf0f127..d92b3251e 100644 --- a/src/net/sourceforge/plantuml/project/Month.java +++ b/src/net/sourceforge/plantuml/project/Month.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Numeric.java b/src/net/sourceforge/plantuml/project/Numeric.java index 8ced801e6..dd22cf019 100644 --- a/src/net/sourceforge/plantuml/project/Numeric.java +++ b/src/net/sourceforge/plantuml/project/Numeric.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/NumericNumber.java b/src/net/sourceforge/plantuml/project/NumericNumber.java index 00d373d22..e4bab1278 100644 --- a/src/net/sourceforge/plantuml/project/NumericNumber.java +++ b/src/net/sourceforge/plantuml/project/NumericNumber.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/NumericType.java b/src/net/sourceforge/plantuml/project/NumericType.java index 03a379a4b..a04240dea 100644 --- a/src/net/sourceforge/plantuml/project/NumericType.java +++ b/src/net/sourceforge/plantuml/project/NumericType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/PSystemProject.java b/src/net/sourceforge/plantuml/project/PSystemProject.java index ff2b3cc0e..6d6388115 100644 --- a/src/net/sourceforge/plantuml/project/PSystemProject.java +++ b/src/net/sourceforge/plantuml/project/PSystemProject.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/ParentItem.java b/src/net/sourceforge/plantuml/project/ParentItem.java index 2776e06f1..9c854145e 100644 --- a/src/net/sourceforge/plantuml/project/ParentItem.java +++ b/src/net/sourceforge/plantuml/project/ParentItem.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Project.java b/src/net/sourceforge/plantuml/project/Project.java index d5441bb62..08ca7f5be 100644 --- a/src/net/sourceforge/plantuml/project/Project.java +++ b/src/net/sourceforge/plantuml/project/Project.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/Ressource.java b/src/net/sourceforge/plantuml/project/Ressource.java index b9f54a461..48a6f8e9e 100644 --- a/src/net/sourceforge/plantuml/project/Ressource.java +++ b/src/net/sourceforge/plantuml/project/Ressource.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/WeekDay.java b/src/net/sourceforge/plantuml/project/WeekDay.java index 2e4c06441..564e7a3fb 100644 --- a/src/net/sourceforge/plantuml/project/WeekDay.java +++ b/src/net/sourceforge/plantuml/project/WeekDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/command/CommandAffectation.java b/src/net/sourceforge/plantuml/project/command/CommandAffectation.java index 9510f1b6f..af536cd87 100644 --- a/src/net/sourceforge/plantuml/project/command/CommandAffectation.java +++ b/src/net/sourceforge/plantuml/project/command/CommandAffectation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/command/CommandCloseWeekDay.java b/src/net/sourceforge/plantuml/project/command/CommandCloseWeekDay.java index 33dc5df26..2648a951a 100644 --- a/src/net/sourceforge/plantuml/project/command/CommandCloseWeekDay.java +++ b/src/net/sourceforge/plantuml/project/command/CommandCloseWeekDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/graphic/GanttDiagram.java b/src/net/sourceforge/plantuml/project/graphic/GanttDiagram.java index e9e80bdae..601a383b1 100644 --- a/src/net/sourceforge/plantuml/project/graphic/GanttDiagram.java +++ b/src/net/sourceforge/plantuml/project/graphic/GanttDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/graphic/ItemHeader.java b/src/net/sourceforge/plantuml/project/graphic/ItemHeader.java index bbb8e1bd4..bb5765b92 100644 --- a/src/net/sourceforge/plantuml/project/graphic/ItemHeader.java +++ b/src/net/sourceforge/plantuml/project/graphic/ItemHeader.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project/graphic/TimeScale.java b/src/net/sourceforge/plantuml/project/graphic/TimeScale.java index a90074bed..af5f474fb 100644 --- a/src/net/sourceforge/plantuml/project/graphic/TimeScale.java +++ b/src/net/sourceforge/plantuml/project/graphic/TimeScale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Day.java b/src/net/sourceforge/plantuml/project2/Day.java index 2212b38ab..1d06eaead 100644 --- a/src/net/sourceforge/plantuml/project2/Day.java +++ b/src/net/sourceforge/plantuml/project2/Day.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/GanttDiagram2.java b/src/net/sourceforge/plantuml/project2/GanttDiagram2.java index 3b957ad4f..3435d2af2 100644 --- a/src/net/sourceforge/plantuml/project2/GanttDiagram2.java +++ b/src/net/sourceforge/plantuml/project2/GanttDiagram2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Knowledge.java b/src/net/sourceforge/plantuml/project2/Knowledge.java index c0359c6ff..9c069f115 100644 --- a/src/net/sourceforge/plantuml/project2/Knowledge.java +++ b/src/net/sourceforge/plantuml/project2/Knowledge.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/PSystemProject2.java b/src/net/sourceforge/plantuml/project2/PSystemProject2.java index e498eb954..051b62a83 100644 --- a/src/net/sourceforge/plantuml/project2/PSystemProject2.java +++ b/src/net/sourceforge/plantuml/project2/PSystemProject2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/PSystemProjectFactory2.java b/src/net/sourceforge/plantuml/project2/PSystemProjectFactory2.java index 2e4cbf35a..cbaa7ec54 100644 --- a/src/net/sourceforge/plantuml/project2/PSystemProjectFactory2.java +++ b/src/net/sourceforge/plantuml/project2/PSystemProjectFactory2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Project2.java b/src/net/sourceforge/plantuml/project2/Project2.java index cec57f43f..daa9cd3f0 100644 --- a/src/net/sourceforge/plantuml/project2/Project2.java +++ b/src/net/sourceforge/plantuml/project2/Project2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Ressource.java b/src/net/sourceforge/plantuml/project2/Ressource.java index bd0a298e0..7254e380a 100644 --- a/src/net/sourceforge/plantuml/project2/Ressource.java +++ b/src/net/sourceforge/plantuml/project2/Ressource.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Row.java b/src/net/sourceforge/plantuml/project2/Row.java index cd40df94d..fdb6be485 100644 --- a/src/net/sourceforge/plantuml/project2/Row.java +++ b/src/net/sourceforge/plantuml/project2/Row.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/RowMerge.java b/src/net/sourceforge/plantuml/project2/RowMerge.java index ac4142f1e..d2d6e58ab 100644 --- a/src/net/sourceforge/plantuml/project2/RowMerge.java +++ b/src/net/sourceforge/plantuml/project2/RowMerge.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/RowOverwrite.java b/src/net/sourceforge/plantuml/project2/RowOverwrite.java index 7cc8f71c4..2d8840cd0 100644 --- a/src/net/sourceforge/plantuml/project2/RowOverwrite.java +++ b/src/net/sourceforge/plantuml/project2/RowOverwrite.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/RowSimple.java b/src/net/sourceforge/plantuml/project2/RowSimple.java index 5c6ea07fc..81f6c7794 100644 --- a/src/net/sourceforge/plantuml/project2/RowSimple.java +++ b/src/net/sourceforge/plantuml/project2/RowSimple.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/RowUtils.java b/src/net/sourceforge/plantuml/project2/RowUtils.java index 62445ed71..7dcab9047 100644 --- a/src/net/sourceforge/plantuml/project2/RowUtils.java +++ b/src/net/sourceforge/plantuml/project2/RowUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Task.java b/src/net/sourceforge/plantuml/project2/Task.java index 1f25d563c..8a811f0b1 100644 --- a/src/net/sourceforge/plantuml/project2/Task.java +++ b/src/net/sourceforge/plantuml/project2/Task.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TaskAttribute.java b/src/net/sourceforge/plantuml/project2/TaskAttribute.java index 0142c3f35..e63c2364a 100644 --- a/src/net/sourceforge/plantuml/project2/TaskAttribute.java +++ b/src/net/sourceforge/plantuml/project2/TaskAttribute.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TaskContainer.java b/src/net/sourceforge/plantuml/project2/TaskContainer.java index 8c0551a85..5e722e16f 100644 --- a/src/net/sourceforge/plantuml/project2/TaskContainer.java +++ b/src/net/sourceforge/plantuml/project2/TaskContainer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TaskImpl.java b/src/net/sourceforge/plantuml/project2/TaskImpl.java index 2a6be742d..ee6d48593 100644 --- a/src/net/sourceforge/plantuml/project2/TaskImpl.java +++ b/src/net/sourceforge/plantuml/project2/TaskImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TaskMerge.java b/src/net/sourceforge/plantuml/project2/TaskMerge.java index 02d6689f6..96ea3348f 100644 --- a/src/net/sourceforge/plantuml/project2/TaskMerge.java +++ b/src/net/sourceforge/plantuml/project2/TaskMerge.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeConverter.java b/src/net/sourceforge/plantuml/project2/TimeConverter.java index 19d31176d..7eeb80000 100644 --- a/src/net/sourceforge/plantuml/project2/TimeConverter.java +++ b/src/net/sourceforge/plantuml/project2/TimeConverter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeConverterDay.java b/src/net/sourceforge/plantuml/project2/TimeConverterDay.java index 33a7696f1..0ec8a51d3 100644 --- a/src/net/sourceforge/plantuml/project2/TimeConverterDay.java +++ b/src/net/sourceforge/plantuml/project2/TimeConverterDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeElement.java b/src/net/sourceforge/plantuml/project2/TimeElement.java index 715851c71..67171fe81 100644 --- a/src/net/sourceforge/plantuml/project2/TimeElement.java +++ b/src/net/sourceforge/plantuml/project2/TimeElement.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeHeaderDay.java b/src/net/sourceforge/plantuml/project2/TimeHeaderDay.java index c4944251e..a44d883b8 100644 --- a/src/net/sourceforge/plantuml/project2/TimeHeaderDay.java +++ b/src/net/sourceforge/plantuml/project2/TimeHeaderDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeHeaderMonth.java b/src/net/sourceforge/plantuml/project2/TimeHeaderMonth.java index 554514e4d..49c60cdbd 100644 --- a/src/net/sourceforge/plantuml/project2/TimeHeaderMonth.java +++ b/src/net/sourceforge/plantuml/project2/TimeHeaderMonth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeLine.java b/src/net/sourceforge/plantuml/project2/TimeLine.java index b4241e0ce..6459d0b6d 100644 --- a/src/net/sourceforge/plantuml/project2/TimeLine.java +++ b/src/net/sourceforge/plantuml/project2/TimeLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeLineDay.java b/src/net/sourceforge/plantuml/project2/TimeLineDay.java index 6eb5599eb..277cac7c6 100644 --- a/src/net/sourceforge/plantuml/project2/TimeLineDay.java +++ b/src/net/sourceforge/plantuml/project2/TimeLineDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeResolution.java b/src/net/sourceforge/plantuml/project2/TimeResolution.java index 2e9e55b06..b82246def 100644 --- a/src/net/sourceforge/plantuml/project2/TimeResolution.java +++ b/src/net/sourceforge/plantuml/project2/TimeResolution.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/TimeUtils.java b/src/net/sourceforge/plantuml/project2/TimeUtils.java index 2afc61609..887f6e07c 100644 --- a/src/net/sourceforge/plantuml/project2/TimeUtils.java +++ b/src/net/sourceforge/plantuml/project2/TimeUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/Value.java b/src/net/sourceforge/plantuml/project2/Value.java index 32d0f6679..d7b03f1d6 100644 --- a/src/net/sourceforge/plantuml/project2/Value.java +++ b/src/net/sourceforge/plantuml/project2/Value.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/ValueInt.java b/src/net/sourceforge/plantuml/project2/ValueInt.java index 78d0bd7ec..1c94d3919 100644 --- a/src/net/sourceforge/plantuml/project2/ValueInt.java +++ b/src/net/sourceforge/plantuml/project2/ValueInt.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/ValueTime.java b/src/net/sourceforge/plantuml/project2/ValueTime.java index e5e2f4481..1ce8d1c80 100644 --- a/src/net/sourceforge/plantuml/project2/ValueTime.java +++ b/src/net/sourceforge/plantuml/project2/ValueTime.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/command/CommandAffectation.java b/src/net/sourceforge/plantuml/project2/command/CommandAffectation.java index 2fd3b40c2..ec3c2ef0c 100644 --- a/src/net/sourceforge/plantuml/project2/command/CommandAffectation.java +++ b/src/net/sourceforge/plantuml/project2/command/CommandAffectation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/project2/command/CommandCloseWeekDay.java b/src/net/sourceforge/plantuml/project2/command/CommandCloseWeekDay.java index df7021e68..8cc439805 100644 --- a/src/net/sourceforge/plantuml/project2/command/CommandCloseWeekDay.java +++ b/src/net/sourceforge/plantuml/project2/command/CommandCloseWeekDay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/AbstractReal.java b/src/net/sourceforge/plantuml/real/AbstractReal.java index 2e171c1dc..e9fb507fb 100644 --- a/src/net/sourceforge/plantuml/real/AbstractReal.java +++ b/src/net/sourceforge/plantuml/real/AbstractReal.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/PositiveForce.java b/src/net/sourceforge/plantuml/real/PositiveForce.java index 24622d57a..79b5768c0 100644 --- a/src/net/sourceforge/plantuml/real/PositiveForce.java +++ b/src/net/sourceforge/plantuml/real/PositiveForce.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/Real.java b/src/net/sourceforge/plantuml/real/Real.java index 6fc2c1adf..aa068b57d 100644 --- a/src/net/sourceforge/plantuml/real/Real.java +++ b/src/net/sourceforge/plantuml/real/Real.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealDelta.java b/src/net/sourceforge/plantuml/real/RealDelta.java index 90dd45a45..be10f9d12 100644 --- a/src/net/sourceforge/plantuml/real/RealDelta.java +++ b/src/net/sourceforge/plantuml/real/RealDelta.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealImpl.java b/src/net/sourceforge/plantuml/real/RealImpl.java index f23a4a765..a8a2d393b 100644 --- a/src/net/sourceforge/plantuml/real/RealImpl.java +++ b/src/net/sourceforge/plantuml/real/RealImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealLine.java b/src/net/sourceforge/plantuml/real/RealLine.java index 05964b90e..e53e5b0d7 100644 --- a/src/net/sourceforge/plantuml/real/RealLine.java +++ b/src/net/sourceforge/plantuml/real/RealLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealMax.java b/src/net/sourceforge/plantuml/real/RealMax.java index 94b039c0c..4a0750174 100644 --- a/src/net/sourceforge/plantuml/real/RealMax.java +++ b/src/net/sourceforge/plantuml/real/RealMax.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealMiddle.java b/src/net/sourceforge/plantuml/real/RealMiddle.java index 5b49c2461..a78f5d6c5 100644 --- a/src/net/sourceforge/plantuml/real/RealMiddle.java +++ b/src/net/sourceforge/plantuml/real/RealMiddle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealMiddle2.java b/src/net/sourceforge/plantuml/real/RealMiddle2.java index 285d1df74..db028271a 100644 --- a/src/net/sourceforge/plantuml/real/RealMiddle2.java +++ b/src/net/sourceforge/plantuml/real/RealMiddle2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealMin.java b/src/net/sourceforge/plantuml/real/RealMin.java index d6e15762a..126ca2120 100644 --- a/src/net/sourceforge/plantuml/real/RealMin.java +++ b/src/net/sourceforge/plantuml/real/RealMin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealMoveable.java b/src/net/sourceforge/plantuml/real/RealMoveable.java index 4d3218abb..3a796853f 100644 --- a/src/net/sourceforge/plantuml/real/RealMoveable.java +++ b/src/net/sourceforge/plantuml/real/RealMoveable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealOrigin.java b/src/net/sourceforge/plantuml/real/RealOrigin.java index 509d69f5e..a9355a1e5 100644 --- a/src/net/sourceforge/plantuml/real/RealOrigin.java +++ b/src/net/sourceforge/plantuml/real/RealOrigin.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/real/RealUtils.java b/src/net/sourceforge/plantuml/real/RealUtils.java index 7e67145cc..46001b744 100644 --- a/src/net/sourceforge/plantuml/real/RealUtils.java +++ b/src/net/sourceforge/plantuml/real/RealUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Cell.java b/src/net/sourceforge/plantuml/salt/Cell.java index 11a93c116..3657b1ca2 100644 --- a/src/net/sourceforge/plantuml/salt/Cell.java +++ b/src/net/sourceforge/plantuml/salt/Cell.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/DataSource.java b/src/net/sourceforge/plantuml/salt/DataSource.java index 516f093d1..1942c289a 100644 --- a/src/net/sourceforge/plantuml/salt/DataSource.java +++ b/src/net/sourceforge/plantuml/salt/DataSource.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/DataSourceImpl.java b/src/net/sourceforge/plantuml/salt/DataSourceImpl.java index 8f55aa9cb..a6333141c 100644 --- a/src/net/sourceforge/plantuml/salt/DataSourceImpl.java +++ b/src/net/sourceforge/plantuml/salt/DataSourceImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Dictionary.java b/src/net/sourceforge/plantuml/salt/Dictionary.java index 9d9807e29..ed226e31c 100644 --- a/src/net/sourceforge/plantuml/salt/Dictionary.java +++ b/src/net/sourceforge/plantuml/salt/Dictionary.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/PSystemSalt.java b/src/net/sourceforge/plantuml/salt/PSystemSalt.java index 6d55fc6ec..d3be5b758 100644 --- a/src/net/sourceforge/plantuml/salt/PSystemSalt.java +++ b/src/net/sourceforge/plantuml/salt/PSystemSalt.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/PSystemSaltFactory.java b/src/net/sourceforge/plantuml/salt/PSystemSaltFactory.java index 046ed1aee..d668e0cf8 100644 --- a/src/net/sourceforge/plantuml/salt/PSystemSaltFactory.java +++ b/src/net/sourceforge/plantuml/salt/PSystemSaltFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Position.java b/src/net/sourceforge/plantuml/salt/Position.java index 31338271d..a390b2828 100644 --- a/src/net/sourceforge/plantuml/salt/Position.java +++ b/src/net/sourceforge/plantuml/salt/Position.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Positionner2.java b/src/net/sourceforge/plantuml/salt/Positionner2.java index 8d8407d78..a5cb0dad9 100644 --- a/src/net/sourceforge/plantuml/salt/Positionner2.java +++ b/src/net/sourceforge/plantuml/salt/Positionner2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/SaltUtils.java b/src/net/sourceforge/plantuml/salt/SaltUtils.java index ed2414561..8371656cf 100644 --- a/src/net/sourceforge/plantuml/salt/SaltUtils.java +++ b/src/net/sourceforge/plantuml/salt/SaltUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Terminated.java b/src/net/sourceforge/plantuml/salt/Terminated.java index 25f590135..ef74273b8 100644 --- a/src/net/sourceforge/plantuml/salt/Terminated.java +++ b/src/net/sourceforge/plantuml/salt/Terminated.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/Terminator.java b/src/net/sourceforge/plantuml/salt/Terminator.java index d166755d5..c68656363 100644 --- a/src/net/sourceforge/plantuml/salt/Terminator.java +++ b/src/net/sourceforge/plantuml/salt/Terminator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/AbstractElement.java b/src/net/sourceforge/plantuml/salt/element/AbstractElement.java index bd89cfc3e..a5b7e07f6 100644 --- a/src/net/sourceforge/plantuml/salt/element/AbstractElement.java +++ b/src/net/sourceforge/plantuml/salt/element/AbstractElement.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/AbstractElementText.java b/src/net/sourceforge/plantuml/salt/element/AbstractElementText.java index aabb15a69..52c4b40c6 100644 --- a/src/net/sourceforge/plantuml/salt/element/AbstractElementText.java +++ b/src/net/sourceforge/plantuml/salt/element/AbstractElementText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Element.java b/src/net/sourceforge/plantuml/salt/element/Element.java index a5e0c44d3..90eba36f2 100644 --- a/src/net/sourceforge/plantuml/salt/element/Element.java +++ b/src/net/sourceforge/plantuml/salt/element/Element.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementBorder.java b/src/net/sourceforge/plantuml/salt/element/ElementBorder.java index 193e4f12f..54c6e919e 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementBorder.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementBorder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementButton.java b/src/net/sourceforge/plantuml/salt/element/ElementButton.java index 78b489fd9..f57b77ac9 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementButton.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementButton.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java b/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java index 64f97c08a..5adab3dfa 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementEmpty.java b/src/net/sourceforge/plantuml/salt/element/ElementEmpty.java index 53ae900e5..5874fe42b 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementEmpty.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementImage.java b/src/net/sourceforge/plantuml/salt/element/ElementImage.java index 1e7fb93bd..9c2aba7e0 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementImage.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementLine.java b/src/net/sourceforge/plantuml/salt/element/ElementLine.java index ee004c82f..245803353 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementLine.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java index adcde8d98..5c73f98fb 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java index 6aaf7c58d..725013f22 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java index f8a07cfbe..fec6494ad 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementPyramid.java b/src/net/sourceforge/plantuml/salt/element/ElementPyramid.java index 1cfc61cbd..741162551 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementPyramid.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementPyramid.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java b/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java index d395002dc..a847c8fc4 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementTabBar.java b/src/net/sourceforge/plantuml/salt/element/ElementTabBar.java index 9d85938b6..723b41927 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementTabBar.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementTabBar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementText.java b/src/net/sourceforge/plantuml/salt/element/ElementText.java index fb419b2d6..5c8820822 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementText.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementTextField.java b/src/net/sourceforge/plantuml/salt/element/ElementTextField.java index adea58302..173a24efa 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementTextField.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementTextField.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementTree.java b/src/net/sourceforge/plantuml/salt/element/ElementTree.java index d12a61fe6..3b1acbc35 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementTree.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ElementTreeEntry.java b/src/net/sourceforge/plantuml/salt/element/ElementTreeEntry.java index 55bb72a6a..a2ddc2340 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementTreeEntry.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementTreeEntry.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Grid.java b/src/net/sourceforge/plantuml/salt/element/Grid.java index c023b2b61..dab3702f9 100644 --- a/src/net/sourceforge/plantuml/salt/element/Grid.java +++ b/src/net/sourceforge/plantuml/salt/element/Grid.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Grid2.java b/src/net/sourceforge/plantuml/salt/element/Grid2.java index a8d64a560..022d2aae8 100644 --- a/src/net/sourceforge/plantuml/salt/element/Grid2.java +++ b/src/net/sourceforge/plantuml/salt/element/Grid2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/LeftFirst.java b/src/net/sourceforge/plantuml/salt/element/LeftFirst.java index 402d02445..b3abb6af0 100644 --- a/src/net/sourceforge/plantuml/salt/element/LeftFirst.java +++ b/src/net/sourceforge/plantuml/salt/element/LeftFirst.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/ListWidth.java b/src/net/sourceforge/plantuml/salt/element/ListWidth.java index 94da61def..7e0ad2d0c 100644 --- a/src/net/sourceforge/plantuml/salt/element/ListWidth.java +++ b/src/net/sourceforge/plantuml/salt/element/ListWidth.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Segment.java b/src/net/sourceforge/plantuml/salt/element/Segment.java index 10f030090..fad8f91bc 100644 --- a/src/net/sourceforge/plantuml/salt/element/Segment.java +++ b/src/net/sourceforge/plantuml/salt/element/Segment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Skeleton.java b/src/net/sourceforge/plantuml/salt/element/Skeleton.java index bc1e6db4b..52c5d1da7 100644 --- a/src/net/sourceforge/plantuml/salt/element/Skeleton.java +++ b/src/net/sourceforge/plantuml/salt/element/Skeleton.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/Skeleton2.java b/src/net/sourceforge/plantuml/salt/element/Skeleton2.java index de04a0ecf..f561bca7f 100644 --- a/src/net/sourceforge/plantuml/salt/element/Skeleton2.java +++ b/src/net/sourceforge/plantuml/salt/element/Skeleton2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -51,7 +51,7 @@ public class Skeleton2 { private final double ypos; Entry(int level, double y) { - System.err.println("level=" + level); + // System.err.println("level=" + level); this.level = level; this.ypos = y; } @@ -63,7 +63,7 @@ public class Skeleton2 { } public void drawVline(UGraphic ug, double lastY) { - System.err.println("ypos=" + ypos); + // System.err.println("ypos=" + ypos); final double xpos = getXStartForLevel(level); ug.apply(new UTranslate(xpos, lastY)).draw(new ULine(0, ypos - lastY)); } diff --git a/src/net/sourceforge/plantuml/salt/element/TableStrategy.java b/src/net/sourceforge/plantuml/salt/element/TableStrategy.java index 3ce74e613..6142fca39 100644 --- a/src/net/sourceforge/plantuml/salt/element/TableStrategy.java +++ b/src/net/sourceforge/plantuml/salt/element/TableStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/TopFirst.java b/src/net/sourceforge/plantuml/salt/element/TopFirst.java index 42002cc9c..7aea073ad 100644 --- a/src/net/sourceforge/plantuml/salt/element/TopFirst.java +++ b/src/net/sourceforge/plantuml/salt/element/TopFirst.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/element/WrappedElement.java b/src/net/sourceforge/plantuml/salt/element/WrappedElement.java index 4417e2e8d..247f97f28 100644 --- a/src/net/sourceforge/plantuml/salt/element/WrappedElement.java +++ b/src/net/sourceforge/plantuml/salt/element/WrappedElement.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/AbstractElementFactoryComplex.java b/src/net/sourceforge/plantuml/salt/factory/AbstractElementFactoryComplex.java index 61919ded9..cde6c9e36 100644 --- a/src/net/sourceforge/plantuml/salt/factory/AbstractElementFactoryComplex.java +++ b/src/net/sourceforge/plantuml/salt/factory/AbstractElementFactoryComplex.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactory.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactory.java index d9d9c1628..b5054bf80 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactory.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryBorder.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryBorder.java index 5a9c3223f..cbda34d01 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryBorder.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryBorder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryButton.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryButton.java index 10e9a5dca..c772a0dd8 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryButton.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryButton.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOff.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOff.java index bb18560bb..2113fbd48 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOff.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOff.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOn.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOn.java index b6f8815a9..72201abb5 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOn.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryCheckboxOn.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryDroplist.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryDroplist.java index 660727215..85c01d357 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryDroplist.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryDroplist.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryImage.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryImage.java index ae492bb16..322adb1b8 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryImage.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryLine.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryLine.java index eb28b24de..cdc380765 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryLine.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryMenu.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryMenu.java index cb0930b3f..5f76a5c6b 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryMenu.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryMenu.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryPyramid.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryPyramid.java index 3de264e4b..35d3a25ac 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryPyramid.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryPyramid.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOff.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOff.java index f5a10cd24..158e8992c 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOff.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOff.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOn.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOn.java index e91091c9c..8b1d6b9a0 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOn.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRadioOn.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRetrieveFromDictonnary.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRetrieveFromDictonnary.java index a4e1ad12e..a439505fb 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRetrieveFromDictonnary.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryRetrieveFromDictonnary.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTab.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTab.java index 56bb2f5ca..1f7910360 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTab.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTab.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryText.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryText.java index f3c2d9bb1..e199d4f70 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryText.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTextField.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTextField.java index 2f8987921..99af1c0a1 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTextField.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTextField.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTree.java b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTree.java index 6486b9419..ab03321c3 100644 --- a/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTree.java +++ b/src/net/sourceforge/plantuml/salt/factory/ElementFactoryTree.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/AbstractEvent.java b/src/net/sourceforge/plantuml/sequencediagram/AbstractEvent.java index fae8b23a1..1febeec96 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/AbstractEvent.java +++ b/src/net/sourceforge/plantuml/sequencediagram/AbstractEvent.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/AbstractMessage.java b/src/net/sourceforge/plantuml/sequencediagram/AbstractMessage.java index 9a7bf4fa8..541c73a07 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/AbstractMessage.java +++ b/src/net/sourceforge/plantuml/sequencediagram/AbstractMessage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Delay.java b/src/net/sourceforge/plantuml/sequencediagram/Delay.java index 5587b111c..f0f487240 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Delay.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Delay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Divider.java b/src/net/sourceforge/plantuml/sequencediagram/Divider.java index f1c7aa971..0505c92e4 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Divider.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Divider.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Englober.java b/src/net/sourceforge/plantuml/sequencediagram/Englober.java index dd2d60a5f..d7a112c62 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Englober.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Englober.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Event.java b/src/net/sourceforge/plantuml/sequencediagram/Event.java index d469efd73..222bd0686 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Event.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Event.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15048 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/EventWithDeactivate.java b/src/net/sourceforge/plantuml/sequencediagram/EventWithDeactivate.java index 9b9db34b5..2a5a9fcd6 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/EventWithDeactivate.java +++ b/src/net/sourceforge/plantuml/sequencediagram/EventWithDeactivate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Grouping.java b/src/net/sourceforge/plantuml/sequencediagram/Grouping.java index 1a86c6930..03b922738 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Grouping.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Grouping.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/GroupingLeaf.java b/src/net/sourceforge/plantuml/sequencediagram/GroupingLeaf.java index 9c743e4c0..1a906bfb7 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/GroupingLeaf.java +++ b/src/net/sourceforge/plantuml/sequencediagram/GroupingLeaf.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14859 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/GroupingStart.java b/src/net/sourceforge/plantuml/sequencediagram/GroupingStart.java index 215e5da5c..f20f70b6b 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/GroupingStart.java +++ b/src/net/sourceforge/plantuml/sequencediagram/GroupingStart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/GroupingType.java b/src/net/sourceforge/plantuml/sequencediagram/GroupingType.java index eee8223a5..39bc959c1 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/GroupingType.java +++ b/src/net/sourceforge/plantuml/sequencediagram/GroupingType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/HSpace.java b/src/net/sourceforge/plantuml/sequencediagram/HSpace.java index 2ec976e2c..03203194a 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/HSpace.java +++ b/src/net/sourceforge/plantuml/sequencediagram/HSpace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/InGroupable.java b/src/net/sourceforge/plantuml/sequencediagram/InGroupable.java index 7231ba6ae..41845548d 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/InGroupable.java +++ b/src/net/sourceforge/plantuml/sequencediagram/InGroupable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/InGroupableList.java b/src/net/sourceforge/plantuml/sequencediagram/InGroupableList.java index ef3b62d37..91b6685d5 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/InGroupableList.java +++ b/src/net/sourceforge/plantuml/sequencediagram/InGroupableList.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/LifeEvent.java b/src/net/sourceforge/plantuml/sequencediagram/LifeEvent.java index 6fd01b5e9..8f7011651 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/LifeEvent.java +++ b/src/net/sourceforge/plantuml/sequencediagram/LifeEvent.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16932 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/LifeEventType.java b/src/net/sourceforge/plantuml/sequencediagram/LifeEventType.java index e990fa017..61461b747 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/LifeEventType.java +++ b/src/net/sourceforge/plantuml/sequencediagram/LifeEventType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/Message.java b/src/net/sourceforge/plantuml/sequencediagram/Message.java index 4cfa9046d..e96e29920 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Message.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Message.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14994 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/MessageExo.java b/src/net/sourceforge/plantuml/sequencediagram/MessageExo.java index 620c7e81c..149b8cf66 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/MessageExo.java +++ b/src/net/sourceforge/plantuml/sequencediagram/MessageExo.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/MessageExoType.java b/src/net/sourceforge/plantuml/sequencediagram/MessageExoType.java index ca522b641..1a8b47923 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/MessageExoType.java +++ b/src/net/sourceforge/plantuml/sequencediagram/MessageExoType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/MessageNumber.java b/src/net/sourceforge/plantuml/sequencediagram/MessageNumber.java index ea8e0aed1..6bc12ad52 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/MessageNumber.java +++ b/src/net/sourceforge/plantuml/sequencediagram/MessageNumber.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/Newpage.java b/src/net/sourceforge/plantuml/sequencediagram/Newpage.java index 4c790c8d8..5ef00b548 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Newpage.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Newpage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15048 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/Note.java b/src/net/sourceforge/plantuml/sequencediagram/Note.java index d22bdd1d4..24b3ed67d 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Note.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Note.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17479 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; @@ -69,8 +69,9 @@ public class Note extends AbstractEvent implements Event, SpecificBackcolorable this.p2 = p2; this.position = position; if (strings != null && strings.size() > 0) { - final UrlBuilder urlBuilder = new UrlBuilder(null, ModeUrl.STRICT); - this.url = urlBuilder.getUrl(strings.get(0).toString()); + final UrlBuilder urlBuilder = new UrlBuilder(null, ModeUrl.AT_START); + final String s = strings.asStringWithHiddenNewLine(); + this.url = urlBuilder.getUrl(s); } else { this.url = null; } @@ -78,7 +79,7 @@ public class Note extends AbstractEvent implements Event, SpecificBackcolorable if (this.url == null) { this.strings = strings; } else { - this.strings = strings.subList(1, strings.size()); + this.strings = strings.removeUrlHiddenNewLineUrl(); } } diff --git a/src/net/sourceforge/plantuml/sequencediagram/NotePosition.java b/src/net/sourceforge/plantuml/sequencediagram/NotePosition.java index 25e5a5a4e..418e92c41 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/NotePosition.java +++ b/src/net/sourceforge/plantuml/sequencediagram/NotePosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/NoteStyle.java b/src/net/sourceforge/plantuml/sequencediagram/NoteStyle.java index 5d003a0f3..dbf4d39aa 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/NoteStyle.java +++ b/src/net/sourceforge/plantuml/sequencediagram/NoteStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Notes.java b/src/net/sourceforge/plantuml/sequencediagram/Notes.java index a0e4b3c7c..f947a8064 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Notes.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Notes.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/Participant.java b/src/net/sourceforge/plantuml/sequencediagram/Participant.java index 11674492e..e08cc0964 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Participant.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Participant.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17004 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/ParticipantEnglober.java b/src/net/sourceforge/plantuml/sequencediagram/ParticipantEnglober.java index 8678aebee..5c083fd0b 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/ParticipantEnglober.java +++ b/src/net/sourceforge/plantuml/sequencediagram/ParticipantEnglober.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/ParticipantType.java b/src/net/sourceforge/plantuml/sequencediagram/ParticipantType.java index db69337f6..0f6caf4b0 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/ParticipantType.java +++ b/src/net/sourceforge/plantuml/sequencediagram/ParticipantType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12299 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram; diff --git a/src/net/sourceforge/plantuml/sequencediagram/Reference.java b/src/net/sourceforge/plantuml/sequencediagram/Reference.java index 26a8e02bd..38beaaa08 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/Reference.java +++ b/src/net/sourceforge/plantuml/sequencediagram/Reference.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagram.java b/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagram.java index 3d9bc9d11..548b1006f 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagram.java +++ b/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagramFactory.java b/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagramFactory.java index 6dd5c9460..11a3e9214 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagramFactory.java +++ b/src/net/sourceforge/plantuml/sequencediagram/SequenceDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate.java index 407dc25a5..5655e791f 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16937 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate2.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate2.java index be24dfc8d..c2bd34009 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate2.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandActivate2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13992 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandArrow.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandArrow.java index 9004344c3..4a0f9281c 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandArrow.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoNewpage.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoNewpage.java index c972d7579..ac17b79b7 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoNewpage.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoNewpage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoactivate.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoactivate.java index 4e26e83b0..88b80caf7 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoactivate.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutoactivate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumber.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumber.java index 4801a214c..de2d5c133 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumber.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumber.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16583 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberResume.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberResume.java index c92c642b4..753581da5 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberResume.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberResume.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberStop.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberStop.java index 2066c90a6..c3557f58f 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberStop.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandAutonumberStop.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxEnd.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxEnd.java index bb6c80964..0e2cc154b 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxEnd.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxEnd.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxStart.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxStart.java index 219fed9be..2b956f827 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxStart.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandBoxStart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDelay.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDelay.java index 2656d9f02..6d454ffc3 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDelay.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDelay.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java index ec33da838..370e91d12 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandDivider.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowAny.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowAny.java index b3d5691e6..36e055086 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowAny.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowAny.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowLeft.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowLeft.java index 14e801ef0..395472893 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowLeft.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowLeft.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowRight.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowRight.java index 1616d112d..48f430dc4 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowRight.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandExoArrowRight.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootbox.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootbox.java index 4999dacda..a4d2fe9f8 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootbox.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootbox.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12712 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootboxOld.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootboxOld.java index 2db0677a6..8d7541ca8 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootboxOld.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandFootboxOld.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandGrouping.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandGrouping.java index ac6fc0bd8..71660c143 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandGrouping.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandGrouping.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14727 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandHSpace.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandHSpace.java index 9a909f402..10a795a22 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandHSpace.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandHSpace.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandIgnoreNewpage.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandIgnoreNewpage.java index 3b7e44c65..3a0b39988 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandIgnoreNewpage.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandIgnoreNewpage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandNewpage.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandNewpage.java index b3b9f7fcb..d8dc791b2 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandNewpage.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandNewpage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16549 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sequencediagram.command; diff --git a/src/net/sourceforge/plantuml/sequencediagram/command/CommandParticipant.java b/src/net/sourceforge/plantuml/sequencediagram/command/CommandParticipant.java index 626b5129f..626fb3029 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/command/CommandParticipant.java +++ b/src/net/sourceforge/plantuml/sequencediagram/command/CommandParticipant.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -100,7 +100,7 @@ public abstract class CommandParticipant extends SingleLineCommand2 0) { diff --git a/src/net/sourceforge/plantuml/statediagram/StateDiagram.java b/src/net/sourceforge/plantuml/statediagram/StateDiagram.java index 5155335ce..85be2009c 100644 --- a/src/net/sourceforge/plantuml/statediagram/StateDiagram.java +++ b/src/net/sourceforge/plantuml/statediagram/StateDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17451 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.statediagram; diff --git a/src/net/sourceforge/plantuml/statediagram/StateDiagramFactory.java b/src/net/sourceforge/plantuml/statediagram/StateDiagramFactory.java index 1dd85d74e..8b706f1c4 100644 --- a/src/net/sourceforge/plantuml/statediagram/StateDiagramFactory.java +++ b/src/net/sourceforge/plantuml/statediagram/StateDiagramFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandAddField.java b/src/net/sourceforge/plantuml/statediagram/command/CommandAddField.java index a0a323956..fe34166b0 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandAddField.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandAddField.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16273 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.statediagram.command; diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandConcurrentState.java b/src/net/sourceforge/plantuml/statediagram/command/CommandConcurrentState.java index 683fc14fd..6e81fc95b 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandConcurrentState.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandConcurrentState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 15146 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.statediagram.command; diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandCreatePackageState.java b/src/net/sourceforge/plantuml/statediagram/command/CommandCreatePackageState.java index 310249b3d..42af049c3 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandCreatePackageState.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandCreatePackageState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandCreateState.java b/src/net/sourceforge/plantuml/statediagram/command/CommandCreateState.java index da8959efe..9f2871756 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandCreateState.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandCreateState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17015 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.statediagram.command; diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandEndState.java b/src/net/sourceforge/plantuml/statediagram/command/CommandEndState.java index 445b0d9ad..472f7d3f5 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandEndState.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandEndState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.statediagram.command; diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandHideEmptyDescription.java b/src/net/sourceforge/plantuml/statediagram/command/CommandHideEmptyDescription.java index b3653a914..375b53143 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandHideEmptyDescription.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandHideEmptyDescription.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/statediagram/command/CommandLinkState.java b/src/net/sourceforge/plantuml/statediagram/command/CommandLinkState.java index d00e4d35b..44eaf9f63 100644 --- a/src/net/sourceforge/plantuml/statediagram/command/CommandLinkState.java +++ b/src/net/sourceforge/plantuml/statediagram/command/CommandLinkState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java index d3d4be7d0..19e1c573a 100644 --- a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java +++ b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17068 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sudoku; diff --git a/src/net/sourceforge/plantuml/sudoku/ISudoku.java b/src/net/sourceforge/plantuml/sudoku/ISudoku.java index 2c6f792bd..f6ff8854e 100644 --- a/src/net/sourceforge/plantuml/sudoku/ISudoku.java +++ b/src/net/sourceforge/plantuml/sudoku/ISudoku.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sudoku; diff --git a/src/net/sourceforge/plantuml/sudoku/PSystemSudoku.java b/src/net/sourceforge/plantuml/sudoku/PSystemSudoku.java index 1ac0a553f..f2370d637 100644 --- a/src/net/sourceforge/plantuml/sudoku/PSystemSudoku.java +++ b/src/net/sourceforge/plantuml/sudoku/PSystemSudoku.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sudoku; diff --git a/src/net/sourceforge/plantuml/sudoku/PSystemSudokuFactory.java b/src/net/sourceforge/plantuml/sudoku/PSystemSudokuFactory.java index b63902838..54482e041 100644 --- a/src/net/sourceforge/plantuml/sudoku/PSystemSudokuFactory.java +++ b/src/net/sourceforge/plantuml/sudoku/PSystemSudokuFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/sudoku/SudokuDLX.java b/src/net/sourceforge/plantuml/sudoku/SudokuDLX.java index b394b7b2f..4cbd9c16a 100644 --- a/src/net/sourceforge/plantuml/sudoku/SudokuDLX.java +++ b/src/net/sourceforge/plantuml/sudoku/SudokuDLX.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14726 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.sudoku; diff --git a/src/net/sourceforge/plantuml/suggest/SuggestEngine.java b/src/net/sourceforge/plantuml/suggest/SuggestEngine.java index 0537ea6b8..173856d7e 100644 --- a/src/net/sourceforge/plantuml/suggest/SuggestEngine.java +++ b/src/net/sourceforge/plantuml/suggest/SuggestEngine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/SuggestEngineResult.java b/src/net/sourceforge/plantuml/suggest/SuggestEngineResult.java index 48431c941..3aed5af5f 100644 --- a/src/net/sourceforge/plantuml/suggest/SuggestEngineResult.java +++ b/src/net/sourceforge/plantuml/suggest/SuggestEngineResult.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/SuggestEngineStatus.java b/src/net/sourceforge/plantuml/suggest/SuggestEngineStatus.java index 46d3d2ae2..93d79c5eb 100644 --- a/src/net/sourceforge/plantuml/suggest/SuggestEngineStatus.java +++ b/src/net/sourceforge/plantuml/suggest/SuggestEngineStatus.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/Variator.java b/src/net/sourceforge/plantuml/suggest/Variator.java index 3c11b4ed1..d2aacabb3 100644 --- a/src/net/sourceforge/plantuml/suggest/Variator.java +++ b/src/net/sourceforge/plantuml/suggest/Variator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorAddOneChar.java b/src/net/sourceforge/plantuml/suggest/VariatorAddOneChar.java index 72cc7cfa4..b9a129546 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorAddOneChar.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorAddOneChar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorAddOneCharBetweenWords.java b/src/net/sourceforge/plantuml/suggest/VariatorAddOneCharBetweenWords.java index 0775316c3..f5bbe21b3 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorAddOneCharBetweenWords.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorAddOneCharBetweenWords.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorAddTwoChar.java b/src/net/sourceforge/plantuml/suggest/VariatorAddTwoChar.java index 4f015ad79..c36b86fb9 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorAddTwoChar.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorAddTwoChar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorIteratorAdaptor.java b/src/net/sourceforge/plantuml/suggest/VariatorIteratorAdaptor.java index 778fd45cc..c98ab3757 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorIteratorAdaptor.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorIteratorAdaptor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorRemoveOneChar.java b/src/net/sourceforge/plantuml/suggest/VariatorRemoveOneChar.java index 58fd8f222..60c6fb79a 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorRemoveOneChar.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorRemoveOneChar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorSwapChar.java b/src/net/sourceforge/plantuml/suggest/VariatorSwapChar.java index 6f41ed226..28853b58c 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorSwapChar.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorSwapChar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/suggest/VariatorSwapLetter.java b/src/net/sourceforge/plantuml/suggest/VariatorSwapLetter.java index 43d9795aa..c49efd9c6 100644 --- a/src/net/sourceforge/plantuml/suggest/VariatorSwapLetter.java +++ b/src/net/sourceforge/plantuml/suggest/VariatorSwapLetter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/AbstractEntityImage.java b/src/net/sourceforge/plantuml/svek/AbstractEntityImage.java index 4474e86ed..9a418524d 100644 --- a/src/net/sourceforge/plantuml/svek/AbstractEntityImage.java +++ b/src/net/sourceforge/plantuml/svek/AbstractEntityImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/AbstractExtremityFactory.java b/src/net/sourceforge/plantuml/svek/AbstractExtremityFactory.java index 45d1d05b3..2bf26b6d3 100644 --- a/src/net/sourceforge/plantuml/svek/AbstractExtremityFactory.java +++ b/src/net/sourceforge/plantuml/svek/AbstractExtremityFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -35,10 +35,15 @@ package net.sourceforge.plantuml.svek; import java.awt.geom.Point2D; +import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.svek.extremity.ExtremityFactory; public abstract class AbstractExtremityFactory implements ExtremityFactory { + public UDrawable createUDrawable(Point2D p0, double angle) { + throw new UnsupportedOperationException(getClass().toString()); + } + protected double atan2(Point2D p1, Point2D p0) { double a = Math.atan2(p1.getY() - p0.getY(), p1.getX() - p0.getX()); if (a < 0) { diff --git a/src/net/sourceforge/plantuml/svek/ArithmeticStrategy.java b/src/net/sourceforge/plantuml/svek/ArithmeticStrategy.java index 5fb1acca4..efe7ddc0f 100644 --- a/src/net/sourceforge/plantuml/svek/ArithmeticStrategy.java +++ b/src/net/sourceforge/plantuml/svek/ArithmeticStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ArithmeticStrategyMax.java b/src/net/sourceforge/plantuml/svek/ArithmeticStrategyMax.java index e3c95f82b..dd5d6baa1 100644 --- a/src/net/sourceforge/plantuml/svek/ArithmeticStrategyMax.java +++ b/src/net/sourceforge/plantuml/svek/ArithmeticStrategyMax.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ArithmeticStrategySum.java b/src/net/sourceforge/plantuml/svek/ArithmeticStrategySum.java index 2fb4a4e54..68f2ea9d1 100644 --- a/src/net/sourceforge/plantuml/svek/ArithmeticStrategySum.java +++ b/src/net/sourceforge/plantuml/svek/ArithmeticStrategySum.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Bibliotekon.java b/src/net/sourceforge/plantuml/svek/Bibliotekon.java index 9ccd40d34..2913dda24 100644 --- a/src/net/sourceforge/plantuml/svek/Bibliotekon.java +++ b/src/net/sourceforge/plantuml/svek/Bibliotekon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Boundary.java b/src/net/sourceforge/plantuml/svek/Boundary.java index cc13bfa1a..0f9d5b946 100644 --- a/src/net/sourceforge/plantuml/svek/Boundary.java +++ b/src/net/sourceforge/plantuml/svek/Boundary.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java index ddbcba740..d281a2444 100644 --- a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java +++ b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/CircleInterface2.java b/src/net/sourceforge/plantuml/svek/CircleInterface2.java index a8620f6f3..9c834587b 100644 --- a/src/net/sourceforge/plantuml/svek/CircleInterface2.java +++ b/src/net/sourceforge/plantuml/svek/CircleInterface2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Cluster.java b/src/net/sourceforge/plantuml/svek/Cluster.java index 0a70973f0..9a49fdbdf 100644 --- a/src/net/sourceforge/plantuml/svek/Cluster.java +++ b/src/net/sourceforge/plantuml/svek/Cluster.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -371,7 +371,7 @@ public class Cluster implements Moveable { return stroke; } - private void manageEntryExitPoint(DotData dotData, StringBounder stringBounder) { + public void manageEntryExitPoint(DotData dotData, StringBounder stringBounder) { final Collection insides = new ArrayList(); final List points = new ArrayList(); for (Shape sh : shapes) { diff --git a/src/net/sourceforge/plantuml/svek/ClusterDecoration.java b/src/net/sourceforge/plantuml/svek/ClusterDecoration.java index 03c405731..a2c561759 100644 --- a/src/net/sourceforge/plantuml/svek/ClusterDecoration.java +++ b/src/net/sourceforge/plantuml/svek/ClusterDecoration.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ClusterPosition.java b/src/net/sourceforge/plantuml/svek/ClusterPosition.java index ccf3e939c..a2135806b 100644 --- a/src/net/sourceforge/plantuml/svek/ClusterPosition.java +++ b/src/net/sourceforge/plantuml/svek/ClusterPosition.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ColorSequence.java b/src/net/sourceforge/plantuml/svek/ColorSequence.java index 1b97fc28a..2a07a58e1 100644 --- a/src/net/sourceforge/plantuml/svek/ColorSequence.java +++ b/src/net/sourceforge/plantuml/svek/ColorSequence.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ConditionStyle.java b/src/net/sourceforge/plantuml/svek/ConditionStyle.java index 4f477c085..9b93e0b40 100644 --- a/src/net/sourceforge/plantuml/svek/ConditionStyle.java +++ b/src/net/sourceforge/plantuml/svek/ConditionStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Control.java b/src/net/sourceforge/plantuml/svek/Control.java index eb5a170b8..82c660720 100644 --- a/src/net/sourceforge/plantuml/svek/Control.java +++ b/src/net/sourceforge/plantuml/svek/Control.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMaker.java b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMaker.java index 19bed842c..858778066 100644 --- a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMaker.java +++ b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek.java b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek.java index 63e62163f..1ef3ee3ef 100644 --- a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek.java +++ b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -210,12 +210,12 @@ public final class CucaDiagramFileMakerSvek implements CucaDiagramFileMaker { private final UFont getFont(FontParam fontParam) { final ISkinParam skinParam = diagram.getSkinParam(); - return skinParam.getFont(fontParam, null, false); + return skinParam.getFont(null, false, fontParam); } private final HtmlColor getFontColor(FontParam fontParam, Stereotype stereo) { final ISkinParam skinParam = diagram.getSkinParam(); - return skinParam.getFontHtmlColor(fontParam, stereo); + return skinParam.getFontHtmlColor(stereo, fontParam); } private double getScale(FileFormatOption fileFormatOption, final Dimension2D dim) { diff --git a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2.java b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2.java index bbaaca382..54826f01e 100644 --- a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2.java +++ b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -163,17 +163,17 @@ public final class CucaDiagramFileMakerSvek2 { final String shapeUid1 = getBibliotekon().getShapeUid((ILeaf) link.getEntity1()); final String shapeUid2 = getBibliotekon().getShapeUid((ILeaf) link.getEntity2()); - String ltail = null; + Cluster ltail = null; if (shapeUid1.startsWith(Cluster.CENTER_ID)) { // final Group g1 = ((IEntityMutable) // link.getEntity1()).getContainerOrEquivalent(); - ltail = getCluster2((IEntity) link.getEntity1()).getClusterId(); + ltail = getCluster2((IEntity) link.getEntity1()); } - String lhead = null; + Cluster lhead = null; if (shapeUid2.startsWith(Cluster.CENTER_ID)) { // final Group g2 = ((IEntityMutable) // link.getEntity2()).getContainerOrEquivalent(); - lhead = getCluster2((IEntity) link.getEntity2()).getClusterId(); + lhead = getCluster2((IEntity) link.getEntity2()); } final ISkinParam skinParam = dotData.getSkinParam(); final FontConfiguration labelFont = new FontConfiguration(skinParam, FontParam.GENERIC_ARROW, null); @@ -188,14 +188,18 @@ public final class CucaDiagramFileMakerSvek2 { && onlyOneLink(link.getEntity1())) { final Shape shape = getBibliotekon().getShape(link.getEntity1()); final Shape other = getBibliotekon().getShape(link.getEntity2()); - ((EntityImageNote) shape.getImage()).setOpaleLine(line, shape, other); - line.setOpale(true); + if (other != null) { + ((EntityImageNote) shape.getImage()).setOpaleLine(line, shape, other); + line.setOpale(true); + } } else if (link.getEntity2().isGroup() == false && link.getEntity2().getEntityType() == LeafType.NOTE && onlyOneLink(link.getEntity2())) { final Shape shape = getBibliotekon().getShape(link.getEntity2()); final Shape other = getBibliotekon().getShape(link.getEntity1()); - ((EntityImageNote) shape.getImage()).setOpaleLine(line, shape, other); - line.setOpale(true); + if (other != null) { + ((EntityImageNote) shape.getImage()).setOpaleLine(line, shape, other); + line.setOpale(true); + } } } catch (IllegalStateException e) { e.printStackTrace(); @@ -488,6 +492,7 @@ public final class CucaDiagramFileMakerSvek2 { g.getParentContainer(), null, dotData.getNamespaceSeparator()); final USymbol symbol = g.getUSymbol(); folder.setUSymbol(symbol); + folder.setStereotype(g.getStereotype()); if (g.getColors(dotData.getSkinParam()).getColor(ColorType.BACK) == null) { final ColorParam param = symbol == null ? ColorParam.packageBackground : symbol.getColorParamBack(); final HtmlColor c1 = dotData.getSkinParam().getHtmlColor(param, g.getStereotype(), false); @@ -545,25 +550,23 @@ public final class CucaDiagramFileMakerSvek2 { private TextBlock getTitleBlock(IGroup g) { final Display label = g.getDisplay(); - final Stereotype stereotype = g.getStereotype(); - if (label == null) { return TextBlockUtils.empty(0, 0); } - final FontParam fontParam = g.getTitleFontParam(); - final HtmlColor fontHtmlColor = dotData.getSkinParam().getFontHtmlColor(fontParam, stereotype); - final FontConfiguration fontConfiguration = new FontConfiguration(dotData.getSkinParam().getFont(fontParam, - stereotype, true), fontHtmlColor, dotData.getSkinParam().getHyperlinkColor(), dotData.getSkinParam() - .useUnderlineForHyperlink(), dotData.getSkinParam().getTabSize()); - return label.create(fontConfiguration, HorizontalAlignment.CENTER, dotData.getSkinParam()); + final ISkinParam skinParam = dotData.getSkinParam(); + final FontConfiguration fontConfiguration = g.getFontConfigurationForTitle(skinParam); + return label.create(fontConfiguration, HorizontalAlignment.CENTER, skinParam); } private TextBlock getStereoBlock(IGroup g) { - if (g.getStereotype() == null) { + final Stereotype stereotype = g.getStereotype(); + if (stereotype == null) { return TextBlockUtils.empty(0, 0); } - final Stereotype stereotype = g.getStereotype(); + if (stereotype.getSprite() != null) { + return dotData.getSkinParam().getSprite(stereotype.getSprite()).asTextBlock(stereotype.getHtmlColor()); + } final List stereos = stereotype.getLabels(dotData.getSkinParam().useGuillemet()); if (stereos == null) { return TextBlockUtils.empty(0, 0); diff --git a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2InternalImage.java b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2InternalImage.java index d82d3f82a..94992a2e7 100644 --- a/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2InternalImage.java +++ b/src/net/sourceforge/plantuml/svek/CucaDiagramFileMakerSvek2InternalImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/DecorateEntityImage.java b/src/net/sourceforge/plantuml/svek/DecorateEntityImage.java index 86a9c7858..05b45f1c7 100644 --- a/src/net/sourceforge/plantuml/svek/DecorateEntityImage.java +++ b/src/net/sourceforge/plantuml/svek/DecorateEntityImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/DecorateEntityImage3.java b/src/net/sourceforge/plantuml/svek/DecorateEntityImage3.java index a31f71d21..877e11647 100644 --- a/src/net/sourceforge/plantuml/svek/DecorateEntityImage3.java +++ b/src/net/sourceforge/plantuml/svek/DecorateEntityImage3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/DecorateTextBlock.java b/src/net/sourceforge/plantuml/svek/DecorateTextBlock.java index 57cec41f9..2115a1278 100644 --- a/src/net/sourceforge/plantuml/svek/DecorateTextBlock.java +++ b/src/net/sourceforge/plantuml/svek/DecorateTextBlock.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/DotMode.java b/src/net/sourceforge/plantuml/svek/DotMode.java index 29131a086..a6ea23b3e 100644 --- a/src/net/sourceforge/plantuml/svek/DotMode.java +++ b/src/net/sourceforge/plantuml/svek/DotMode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/DotStringFactory.java b/src/net/sourceforge/plantuml/svek/DotStringFactory.java index fc15b4f7d..e0851fb77 100644 --- a/src/net/sourceforge/plantuml/svek/DotStringFactory.java +++ b/src/net/sourceforge/plantuml/svek/DotStringFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -45,6 +45,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.plantuml.Log; +import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.UmlDiagramType; import net.sourceforge.plantuml.cucadiagram.IGroup; import net.sourceforge.plantuml.cucadiagram.Rankdir; @@ -160,9 +161,11 @@ public class DotStringFactory implements Moveable { SvekUtils.println(sb); sb.append("searchsize=500;"); SvekUtils.println(sb); - sb.append("compound=true;"); - SvekUtils.println(sb); - + if (OptionFlags.USE_COMPOUND) { + sb.append("compound=true;"); + SvekUtils.println(sb); + } + if (dotData.getSkinParam().getRankdir() == Rankdir.LEFT_TO_RIGHT) { sb.append("rankdir=LR;"); SvekUtils.println(sb); @@ -365,7 +368,7 @@ public class DotStringFactory implements Moveable { } for (Line line : bibliotekon.allLines()) { - line.solveLine(svg, fullHeight, corner1); + line.solveLine(svg, fullHeight, corner1, dotData); } for (Line line : bibliotekon.allLines()) { diff --git a/src/net/sourceforge/plantuml/svek/EmptySvgException.java b/src/net/sourceforge/plantuml/svek/EmptySvgException.java index 7be5c6000..ba3ee6db3 100644 --- a/src/net/sourceforge/plantuml/svek/EmptySvgException.java +++ b/src/net/sourceforge/plantuml/svek/EmptySvgException.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/EntityDomain.java b/src/net/sourceforge/plantuml/svek/EntityDomain.java index 90a207b76..70992bf81 100644 --- a/src/net/sourceforge/plantuml/svek/EntityDomain.java +++ b/src/net/sourceforge/plantuml/svek/EntityDomain.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/EntityImageProtected.java b/src/net/sourceforge/plantuml/svek/EntityImageProtected.java index a6fe863ea..a6410affe 100644 --- a/src/net/sourceforge/plantuml/svek/EntityImageProtected.java +++ b/src/net/sourceforge/plantuml/svek/EntityImageProtected.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/FrontierCalculator.java b/src/net/sourceforge/plantuml/svek/FrontierCalculator.java index 838809871..e95e0ee76 100644 --- a/src/net/sourceforge/plantuml/svek/FrontierCalculator.java +++ b/src/net/sourceforge/plantuml/svek/FrontierCalculator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/GraphvizCrash.java b/src/net/sourceforge/plantuml/svek/GraphvizCrash.java index ad43faacb..2d17ea2b6 100644 --- a/src/net/sourceforge/plantuml/svek/GraphvizCrash.java +++ b/src/net/sourceforge/plantuml/svek/GraphvizCrash.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/GroupPngMakerActivity.java b/src/net/sourceforge/plantuml/svek/GroupPngMakerActivity.java index 0be2ccd1a..0e8c67497 100644 --- a/src/net/sourceforge/plantuml/svek/GroupPngMakerActivity.java +++ b/src/net/sourceforge/plantuml/svek/GroupPngMakerActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -128,7 +128,7 @@ public final class GroupPngMakerActivity { private UFont getFont(FontParam fontParam) { final ISkinParam skinParam = diagram.getSkinParam(); - return skinParam.getFont(fontParam, null, false); + return skinParam.getFont(null, false, fontParam); } private final Rose rose = new Rose(); diff --git a/src/net/sourceforge/plantuml/svek/GroupPngMakerState.java b/src/net/sourceforge/plantuml/svek/GroupPngMakerState.java index 1f0fb3e1c..a6dbf91a9 100644 --- a/src/net/sourceforge/plantuml/svek/GroupPngMakerState.java +++ b/src/net/sourceforge/plantuml/svek/GroupPngMakerState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -182,7 +182,7 @@ public final class GroupPngMakerState { private UFont getFont(FontParam fontParam) { final ISkinParam skinParam = diagram.getSkinParam(); - return skinParam.getFont(fontParam, null, false); + return skinParam.getFont(null, false, fontParam); } private final Rose rose = new Rose(); diff --git a/src/net/sourceforge/plantuml/svek/HeaderLayout.java b/src/net/sourceforge/plantuml/svek/HeaderLayout.java index 5d1cafe04..7fef2b7ba 100644 --- a/src/net/sourceforge/plantuml/svek/HeaderLayout.java +++ b/src/net/sourceforge/plantuml/svek/HeaderLayout.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/IEntityImage.java b/src/net/sourceforge/plantuml/svek/IEntityImage.java index bfa2fab9a..fda6c7abb 100644 --- a/src/net/sourceforge/plantuml/svek/IEntityImage.java +++ b/src/net/sourceforge/plantuml/svek/IEntityImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/IShapePseudo.java b/src/net/sourceforge/plantuml/svek/IShapePseudo.java index 48bfeaee7..eef1e2064 100644 --- a/src/net/sourceforge/plantuml/svek/IShapePseudo.java +++ b/src/net/sourceforge/plantuml/svek/IShapePseudo.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/InnerActivity.java b/src/net/sourceforge/plantuml/svek/InnerActivity.java index 6088fc121..70fa9f2ef 100644 --- a/src/net/sourceforge/plantuml/svek/InnerActivity.java +++ b/src/net/sourceforge/plantuml/svek/InnerActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/InnerStateAutonom.java b/src/net/sourceforge/plantuml/svek/InnerStateAutonom.java index 569eba445..b182919f6 100644 --- a/src/net/sourceforge/plantuml/svek/InnerStateAutonom.java +++ b/src/net/sourceforge/plantuml/svek/InnerStateAutonom.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Line.java b/src/net/sourceforge/plantuml/svek/Line.java index fd109f10e..de60af082 100644 --- a/src/net/sourceforge/plantuml/svek/Line.java +++ b/src/net/sourceforge/plantuml/svek/Line.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.Direction; import net.sourceforge.plantuml.Hideable; import net.sourceforge.plantuml.ISkinParam; import net.sourceforge.plantuml.Log; +import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.Pragma; import net.sourceforge.plantuml.StringUtils; import net.sourceforge.plantuml.Url; @@ -55,6 +56,7 @@ import net.sourceforge.plantuml.cucadiagram.LinkDecor; import net.sourceforge.plantuml.cucadiagram.LinkHat; import net.sourceforge.plantuml.cucadiagram.LinkMiddleDecor; import net.sourceforge.plantuml.cucadiagram.LinkType; +import net.sourceforge.plantuml.cucadiagram.dot.DotData; import net.sourceforge.plantuml.cucadiagram.dot.GraphvizVersion; import net.sourceforge.plantuml.graphic.AbstractTextBlock; import net.sourceforge.plantuml.graphic.FontConfiguration; @@ -83,11 +85,12 @@ import net.sourceforge.plantuml.ugraphic.UPolygon; import net.sourceforge.plantuml.ugraphic.UShape; import net.sourceforge.plantuml.ugraphic.UStroke; import net.sourceforge.plantuml.ugraphic.UTranslate; +import net.sourceforge.plantuml.utils.MathUtils; public class Line implements Moveable, Hideable { - private final String ltail; - private final String lhead; + private final Cluster ltail; + private final Cluster lhead; private final Link link; private final String startUid; @@ -203,7 +206,7 @@ public class Line implements Moveable, Hideable { // return startUid.startsWith(Cluster.CENTER_ID); // } - public Line(String startUid, String endUid, Link link, ColorSequence colorSequence, String ltail, String lhead, + public Line(String startUid, String endUid, Link link, ColorSequence colorSequence, Cluster ltail, Cluster lhead, ISkinParam skinParam, StringBounder stringBounder, FontConfiguration labelFont, Bibliotekon bibliotekon, GraphvizVersion graphvizVersion, Pragma pragma) { if (startUid == null || endUid == null || link == null) { @@ -359,15 +362,15 @@ public class Line implements Moveable, Hideable { // sb.append(",labelangle=0"); } - if (ltail != null) { + if (OptionFlags.USE_COMPOUND && ltail != null) { sb.append(","); sb.append("ltail="); - sb.append(ltail); + sb.append(ltail.getClusterId()); } - if (lhead != null) { + if (OptionFlags.USE_COMPOUND && lhead != null) { sb.append(","); sb.append("lhead="); - sb.append(lhead); + sb.append(lhead.getClusterId()); } if (link.isInvis()) { sb.append(","); @@ -431,9 +434,18 @@ public class Line implements Moveable, Hideable { return endUid; } - public UDrawable getExtremity(LinkHat hat, LinkDecor decor, PointListIterator pointListIterator) { + private UDrawable getExtremity(LinkHat hat, LinkDecor decor, PointListIterator pointListIterator, Point2D center, + double angle, Cluster cluster) { final ExtremityFactory extremityFactory = decor.getExtremityFactory(); + if (OptionFlags.USE_COMPOUND == false && cluster != null) { + if (extremityFactory != null) { + // System.err.println("angle=" + angle * 180 / Math.PI); + return extremityFactory.createUDrawable(center, angle); + } + return null; + } + if (extremityFactory != null) { final List points = pointListIterator.next(); final Point2D p0 = points.get(0); @@ -452,7 +464,7 @@ public class Line implements Moveable, Hideable { } - public void solveLine(final String svg, final int fullHeight, MinFinder corner1) { + public void solveLine(final String svg, final int fullHeight, MinFinder corner1, DotData dotData) { if (this.link.isInvis()) { return; } @@ -469,12 +481,26 @@ public class Line implements Moveable, Hideable { final int end = svg.indexOf("\"", idx + 3); final String path = svg.substring(idx + 3, end); dotPath = new DotPath(path, fullHeight); + if (OptionFlags.USE_COMPOUND == false) { + if (projectionCluster != null) { + System.err.println("Line::solveLine1 projectionCluster=" + projectionCluster.getClusterPosition()); + projectionCluster.manageEntryExitPoint(dotData, TextBlockUtils.getDummyStringBounder()); + System.err.println("Line::solveLine2 projectionCluster=" + projectionCluster.getClusterPosition()); + if (lhead != null) + System.err.println("Line::solveLine ltail=" + lhead.getClusterPosition()); + if (ltail != null) + System.err.println("Line::solveLine ltail=" + ltail.getClusterPosition()); + } + dotPath = dotPath.simulateCompound(lhead, ltail); + } final PointListIterator pointListIterator = new PointListIterator(svg.substring(end), fullHeight); final LinkType linkType = link.getType(); - this.extremity2 = getExtremity(linkType.getHat2(), linkType.getDecor2(), pointListIterator); - this.extremity1 = getExtremity(linkType.getHat1(), linkType.getDecor1(), pointListIterator); + this.extremity2 = getExtremity(linkType.getHat2(), linkType.getDecor2(), pointListIterator, + dotPath.getStartPoint(), dotPath.getStartAngle() + Math.PI, ltail); + this.extremity1 = getExtremity(linkType.getHat1(), linkType.getDecor1(), pointListIterator, + dotPath.getEndPoint(), dotPath.getEndAngle(), lhead); if (this.labelText != null) { final Point2D pos = getXY(svg, this.noteLabelColor, fullHeight); @@ -497,6 +523,7 @@ public class Line implements Moveable, Hideable { if (pos != null) { corner1.manage(pos); this.endHeadLabelXY = TextBlockUtils.asPositionable(endHeadText, stringBounder, pos); + corner1.manage(pos.getX() - 15, pos.getY()); } } @@ -585,7 +612,7 @@ public class Line implements Moveable, Hideable { double moveStartY = 0; double moveEndX = 0; double moveEndY = 0; - if (projectionCluster != null && link.getEntity1() == projectionCluster.getGroup()) { + if (OptionFlags.USE_COMPOUND && projectionCluster != null && link.getEntity1() == projectionCluster.getGroup()) { final DotPath copy = new DotPath(dotPath); final Point2D start = copy.getStartPoint(); final Point2D proj = projectionCluster.getClusterPosition().getProjectionOnFrontier(start); @@ -593,7 +620,8 @@ public class Line implements Moveable, Hideable { moveStartY = proj.getY() - start.getY(); copy.forceStartPoint(proj.getX(), proj.getY()); ug.apply(new UTranslate(x, y)).draw(copy); - } else if (projectionCluster != null && link.getEntity2() == projectionCluster.getGroup()) { + } else if (OptionFlags.USE_COMPOUND && projectionCluster != null + && link.getEntity2() == projectionCluster.getGroup()) { final DotPath copy = new DotPath(dotPath); final Point2D end = copy.getEndPoint(); final Point2D proj = projectionCluster.getClusterPosition().getProjectionOnFrontier(end); @@ -629,7 +657,12 @@ public class Line implements Moveable, Hideable { } else { ug = ug.apply(new UChangeBackColor(null)); } - this.extremity1.drawU(ug.apply(new UTranslate(x + moveEndX, y + moveEndY))); + if (OptionFlags.USE_COMPOUND || lhead == null) { + this.extremity1.drawU(ug.apply(new UTranslate(x + moveEndX, y + moveEndY))); + } else { + // System.err.println("Line::draw EXTREMITY1"); + this.extremity1.drawU(ug.apply(new UTranslate(x, y))); + } } if (this.extremity2 != null) { if (linkType.getDecor2().isFill()) { @@ -637,7 +670,14 @@ public class Line implements Moveable, Hideable { } else { ug = ug.apply(new UChangeBackColor(null)); } - this.extremity2.drawU(ug.apply(new UTranslate(x + moveStartX, y + moveStartY))); + if (OptionFlags.USE_COMPOUND || ltail == null) { + this.extremity2.drawU(ug.apply(new UTranslate(x + moveStartX, y + moveStartY))); + } else { + // System.err.println("Line::draw EXTREMITY2"); + this.extremity2.drawU(ug.apply(new UTranslate(x, y))); + // this.extremity2.drawU(ug.apply(new UTranslate(dotPath.getStartPoint()))); + + } } if (this.labelText != null && this.labelXY != null) { this.labelText.drawU(ug.apply(new UTranslate(x + this.labelXY.getPosition().getX(), y diff --git a/src/net/sourceforge/plantuml/svek/MinFinder.java b/src/net/sourceforge/plantuml/svek/MinFinder.java index 6c8c9f5ec..997651379 100644 --- a/src/net/sourceforge/plantuml/svek/MinFinder.java +++ b/src/net/sourceforge/plantuml/svek/MinFinder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Oscillator.java b/src/net/sourceforge/plantuml/svek/Oscillator.java index 38e3a7475..5321aea7f 100644 --- a/src/net/sourceforge/plantuml/svek/Oscillator.java +++ b/src/net/sourceforge/plantuml/svek/Oscillator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/PackageStyle.java b/src/net/sourceforge/plantuml/svek/PackageStyle.java index 9c3abda7a..610fec4c7 100644 --- a/src/net/sourceforge/plantuml/svek/PackageStyle.java +++ b/src/net/sourceforge/plantuml/svek/PackageStyle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/PointAndAngle.java b/src/net/sourceforge/plantuml/svek/PointAndAngle.java index d61997450..4240e1344 100644 --- a/src/net/sourceforge/plantuml/svek/PointAndAngle.java +++ b/src/net/sourceforge/plantuml/svek/PointAndAngle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/PointDirected.java b/src/net/sourceforge/plantuml/svek/PointDirected.java index d3684997d..b35a119ff 100644 --- a/src/net/sourceforge/plantuml/svek/PointDirected.java +++ b/src/net/sourceforge/plantuml/svek/PointDirected.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/RoundedContainer.java b/src/net/sourceforge/plantuml/svek/RoundedContainer.java index 163df4b94..b1091b85e 100644 --- a/src/net/sourceforge/plantuml/svek/RoundedContainer.java +++ b/src/net/sourceforge/plantuml/svek/RoundedContainer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Shape.java b/src/net/sourceforge/plantuml/svek/Shape.java index 9e17351ee..dfeb578b4 100644 --- a/src/net/sourceforge/plantuml/svek/Shape.java +++ b/src/net/sourceforge/plantuml/svek/Shape.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ShapePseudoImpl.java b/src/net/sourceforge/plantuml/svek/ShapePseudoImpl.java index 98c7bad6f..5f4fdcddb 100644 --- a/src/net/sourceforge/plantuml/svek/ShapePseudoImpl.java +++ b/src/net/sourceforge/plantuml/svek/ShapePseudoImpl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/ShapeType.java b/src/net/sourceforge/plantuml/svek/ShapeType.java index 0711111d5..b9e484685 100644 --- a/src/net/sourceforge/plantuml/svek/ShapeType.java +++ b/src/net/sourceforge/plantuml/svek/ShapeType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/SingleStrategy.java b/src/net/sourceforge/plantuml/svek/SingleStrategy.java index 0941d248f..7b6b9b355 100644 --- a/src/net/sourceforge/plantuml/svek/SingleStrategy.java +++ b/src/net/sourceforge/plantuml/svek/SingleStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/SvekResult.java b/src/net/sourceforge/plantuml/svek/SvekResult.java index 7acd2f48c..ecdc47e8a 100644 --- a/src/net/sourceforge/plantuml/svek/SvekResult.java +++ b/src/net/sourceforge/plantuml/svek/SvekResult.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/SvekUtils.java b/src/net/sourceforge/plantuml/svek/SvekUtils.java index 5ad2b6bfc..8ca332fc8 100644 --- a/src/net/sourceforge/plantuml/svek/SvekUtils.java +++ b/src/net/sourceforge/plantuml/svek/SvekUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/TextBlockBackcolored.java b/src/net/sourceforge/plantuml/svek/TextBlockBackcolored.java index 863a43714..332e09aa1 100644 --- a/src/net/sourceforge/plantuml/svek/TextBlockBackcolored.java +++ b/src/net/sourceforge/plantuml/svek/TextBlockBackcolored.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/UGraphicForSnake.java b/src/net/sourceforge/plantuml/svek/UGraphicForSnake.java index 9b33baa42..83f365f57 100644 --- a/src/net/sourceforge/plantuml/svek/UGraphicForSnake.java +++ b/src/net/sourceforge/plantuml/svek/UGraphicForSnake.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/Untranslated.java b/src/net/sourceforge/plantuml/svek/Untranslated.java index 62090fbf5..59e2448b9 100644 --- a/src/net/sourceforge/plantuml/svek/Untranslated.java +++ b/src/net/sourceforge/plantuml/svek/Untranslated.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/Extremity.java b/src/net/sourceforge/plantuml/svek/extremity/Extremity.java index 3cc708756..52ff86af0 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/Extremity.java +++ b/src/net/sourceforge/plantuml/svek/extremity/Extremity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java index d7011f14d..c082c558b 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -49,6 +49,24 @@ class ExtremityArrow extends Extremity { public ExtremityArrow(Point2D p1, double angle, Point2D center) { angle = manageround(angle); + final int xContact = buildPolygon(); + polygon.rotate(angle + Math.PI / 2); + polygon = polygon.translate(p1.getX(), p1.getY()); + contact = new Point2D.Double(p1.getX() - xContact * Math.cos(angle + Math.PI / 2), p1.getY() - xContact + * Math.sin(angle + Math.PI / 2)); + this.line = new ULine(center.getX() - contact.getX(), center.getY() - contact.getY()); + } + + public ExtremityArrow(Point2D p0, double angle) { + this.line = null; + angle = manageround(angle); + buildPolygon(); + polygon.rotate(angle); + polygon = polygon.translate(p0.getX(), p0.getY()); + contact = p0; + } + + private int buildPolygon() { polygon.addPoint(0, 0); final int xAile = 9; final int yOuverture = 4; @@ -57,17 +75,13 @@ class ExtremityArrow extends Extremity { polygon.addPoint(-xContact, 0); polygon.addPoint(-xAile, yOuverture); polygon.addPoint(0, 0); - polygon.rotate(angle + Math.PI / 2); - polygon = polygon.translate(p1.getX(), p1.getY()); - contact = new Point2D.Double(p1.getX() - xContact * Math.cos(angle + Math.PI / 2), p1.getY() - xContact - * Math.sin(angle + Math.PI / 2)); - this.line = new ULine(center.getX() - contact.getX(), center.getY() - contact.getY()); + return xContact; } public void drawU(UGraphic ug) { ug = ug.apply(new UChangeBackColor(ug.getParam().getColor())); ug.draw(polygon); - if (line.getLength() > 2) { + if (line != null && line.getLength() > 2) { ug.apply(new UTranslate(contact.getX(), contact.getY())).draw(line); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java index 9643055f1..5becfed45 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java index 4384e2427..294abde89 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java index 1695c0692..24973e95f 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java index 6aad7ad4d..607223dd1 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java index cb8108968..f45ed9939 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactory.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactory.java index 9dc3dce7b..3112b1d98 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactory.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -40,5 +40,7 @@ import net.sourceforge.plantuml.graphic.UDrawable; public interface ExtremityFactory { public UDrawable createUDrawable(Point2D p0, Point2D p1, Point2D p2); + + public UDrawable createUDrawable(Point2D p0, double angle); } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrow.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrow.java index 2b8088141..b801dcf7b 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrow.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -40,9 +40,14 @@ import net.sourceforge.plantuml.svek.AbstractExtremityFactory; public class ExtremityFactoryArrow extends AbstractExtremityFactory implements ExtremityFactory { + public UDrawable createUDrawable(Point2D p0, double angle) { + return new ExtremityArrow(p0, angle); + } + public UDrawable createUDrawable(Point2D p0, Point2D p1, Point2D p2) { final double ortho = atan2(p0, p2); final Point2D center = new Point2D.Double((p0.getX() + p2.getX()) / 2, (p0.getY() + p2.getY()) / 2); return new ExtremityArrow(p1, ortho, center); } + } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrowAndCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrowAndCircle.java index e92c3c627..549630382 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrowAndCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryArrowAndCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircle.java index 0ae2e4a55..ca1a0ff2e 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleConnect.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleConnect.java index ae47a30e7..d00b93759 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleConnect.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleConnect.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleCross.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleCross.java index f8dbcfc30..766b49ab4 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleCross.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryCircleCross.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryDiamond.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryDiamond.java index ec2615e80..3bd1613ea 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryDiamond.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryDiamond.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryParenthesis.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryParenthesis.java index 5610a0a1d..4e1938253 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryParenthesis.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryParenthesis.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryPlus.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryPlus.java index 8669bf7a2..1b5af1eec 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryPlus.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryPlus.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -40,9 +40,13 @@ import net.sourceforge.plantuml.svek.AbstractExtremityFactory; public class ExtremityFactoryPlus extends AbstractExtremityFactory implements ExtremityFactory { + public UDrawable createUDrawable(Point2D center, double angle) { + return ExtremityPlus.create(center, angle + Math.PI / 2); + } + public UDrawable createUDrawable(Point2D p0, Point2D p1, Point2D p2) { final double ortho = atan2(p0, p2); - return new ExtremityPlus(p1, ortho); + return ExtremityPlus.create(p1, ortho); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactorySquarre.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactorySquarre.java index 1da71378a..6fdafff42 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactorySquarre.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactorySquarre.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryTriangle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryTriangle.java index 1bcccc002..e61f342df 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryTriangle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityFactoryTriangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java index cc5cc1bef..1d1560650 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java index 461fe6073..7ee6265f1 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java index 88c3fc3aa..6a328655f 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.svek.extremity; import java.awt.geom.Point2D; import net.sourceforge.plantuml.graphic.HtmlColorUtils; +import net.sourceforge.plantuml.graphic.UDrawable; import net.sourceforge.plantuml.ugraphic.UChangeBackColor; import net.sourceforge.plantuml.ugraphic.UEllipse; import net.sourceforge.plantuml.ugraphic.UGraphic; @@ -47,14 +48,20 @@ class ExtremityPlus extends Extremity { private final UEllipse circle; private final double px; private final double py; - private final double radius = 8; + private static final double radius = 8; private final double angle; - public ExtremityPlus(Point2D p1, double angle) { + private ExtremityPlus(double x, double y, double angle) { this.angle = angle; this.circle = new UEllipse(2 * radius, 2 * radius); - this.px = p1.getX() - radius + radius * Math.sin(angle); - this.py = p1.getY() - radius - radius * Math.cos(angle); + this.px = x; + this.py = y; + } + + public static UDrawable create(Point2D p1, double angle) { + final double x = p1.getX() - radius + radius * Math.sin(angle); + final double y = p1.getY() - radius - radius * Math.cos(angle); + return new ExtremityPlus(x, y, angle); } public void drawU(UGraphic ug) { diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquarre.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquarre.java index 49f854fc6..d29a06c82 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquarre.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquarre.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java index d995f3d99..bb44c6ce8 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java index 692fc8a8b..302809571 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityTriangle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityTriangle.java index e70446176..c9415caca 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityTriangle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityTriangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java index d2d2a929d..ec6493159 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java index 5d1150f91..8e1a9a2d0 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircledMode.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircledMode.java index ae654e96f..247371aa0 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircledMode.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircledMode.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactory.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactory.java index fad21d9dd..fbd9b389e 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactory.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircle.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircle.java index 19cc9afa7..61594fae7 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircleCircled.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircleCircled.java index e28b2bc45..398732dd1 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircleCircled.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleFactoryCircleCircled.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/Circle.java b/src/net/sourceforge/plantuml/svek/image/Circle.java index 2b687276a..683bf250e 100644 --- a/src/net/sourceforge/plantuml/svek/image/Circle.java +++ b/src/net/sourceforge/plantuml/svek/image/Circle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java index 07a9a50f9..703b3e4e5 100644 --- a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java +++ b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java b/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java index bf3062c95..6237fd391 100644 --- a/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java +++ b/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java b/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java index bd629dfe0..07b53f35d 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageArcCircle.java b/src/net/sourceforge/plantuml/svek/image/EntityImageArcCircle.java index b1e1c40bd..4994500c9 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageArcCircle.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageArcCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociation.java b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociation.java index ae41a9f54..8edce0b62 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociation.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociation.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java index 7e2a40abb..63e329e83 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageBranch.java b/src/net/sourceforge/plantuml/svek/image/EntityImageBranch.java index d56853085..e61467b78 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageBranch.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageBranch.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java index 91b701e86..4c8b37b29 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java index 5a9586f1b..20e6a665e 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java b/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java index 84aaaef48..62456e109 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageClassHeader2.java b/src/net/sourceforge/plantuml/svek/image/EntityImageClassHeader2.java index dcdd931e1..041b7e000 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageClassHeader2.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageClassHeader2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java b/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java index 2f58b0543..b0f59114a 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -73,7 +73,7 @@ public class EntityImageDescription extends AbstractEntityImage { public EntityImageDescription(ILeaf entity, ISkinParam skinParam, PortionShower portionShower) { super(entity, entity.getColors(skinParam).mute(skinParam)); final Stereotype stereotype = entity.getStereotype(); - final USymbol symbol = entity.getUSymbol() == null ? (getSkinParam().useUml2ForComponent() ? USymbol.COMPONENT2 + USymbol symbol = entity.getUSymbol() == null ? (getSkinParam().useUml2ForComponent() ? USymbol.COMPONENT2 : USymbol.COMPONENT1) : entity.getUSymbol(); if (symbol == null) { throw new IllegalArgumentException(); @@ -99,7 +99,11 @@ public class EntityImageDescription extends AbstractEntityImage { TextBlock stereo = TextBlockUtils.empty(0, 0); - if (stereotype != null && stereotype.getLabel(false) != null + if (stereotype != null && stereotype.getSprite() != null + && getSkinParam().getSprite(stereotype.getSprite()) != null) { + symbol = symbol.withStereoAlignment(HorizontalAlignment.RIGHT); + stereo = getSkinParam().getSprite(stereotype.getSprite()).asTextBlock(stereotype.getHtmlColor()); + } else if (stereotype != null && stereotype.getLabel(false) != null && portionShower.showPortion(EntityPortion.STEREOTYPE, entity)) { stereo = Display.getWithNewlines(stereotype.getLabel(getSkinParam().useGuillemet())).create( new FontConfiguration(getSkinParam(), symbol.getFontParamStereotype(), stereotype), diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageEmptyPackage.java b/src/net/sourceforge/plantuml/svek/image/EntityImageEmptyPackage.java index bd0b5bd2b..d0813fd17 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageEmptyPackage.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageEmptyPackage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageGroup.java b/src/net/sourceforge/plantuml/svek/image/EntityImageGroup.java index 605c720f2..d58a33458 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageGroup.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java index 520bd2482..7cd817e4a 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java index 64530efc5..68688c3b1 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java index 4cbdd7cd6..a8d557714 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageNote.java b/src/net/sourceforge/plantuml/svek/image/EntityImageNote.java index 212a9960e..ffc3dd3e5 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageNote.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageNote.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -279,6 +279,9 @@ public class EntityImageNote extends AbstractEntityImage implements Stencil { private Shape other; public void setOpaleLine(Line line, Shape shape, Shape other) { + if (other == null) { + throw new IllegalArgumentException(); + } this.opaleLine = line; this.shape = shape; this.other = other; diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageNoteLink.java b/src/net/sourceforge/plantuml/svek/image/EntityImageNoteLink.java index 181df4aaa..5e4cc4be2 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageNoteLink.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageNoteLink.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java index a72ed1c83..6888b5932 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java b/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java index 6752e9756..e04fd1b9f 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageState.java b/src/net/sourceforge/plantuml/svek/image/EntityImageState.java index d513efd8f..ae756876c 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageState.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageState.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageState2.java b/src/net/sourceforge/plantuml/svek/image/EntityImageState2.java index e6a12de2a..4f5770db5 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageState2.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageState2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageStateBorder.java b/src/net/sourceforge/plantuml/svek/image/EntityImageStateBorder.java index b68cc6827..815a79924 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageStateBorder.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageStateBorder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageStateEmptyDescription.java b/src/net/sourceforge/plantuml/svek/image/EntityImageStateEmptyDescription.java index 88984a348..06cb8e765 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageStateEmptyDescription.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageStateEmptyDescription.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java b/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java index c8ea753db..7dead2af3 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageTips.java b/src/net/sourceforge/plantuml/svek/image/EntityImageTips.java index 52d45dda9..ed37b2cab 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageTips.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageTips.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java b/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java index 03622f34c..de775e014 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/Footprint.java b/src/net/sourceforge/plantuml/svek/image/Footprint.java index bc42ec8c7..5f96adf08 100644 --- a/src/net/sourceforge/plantuml/svek/image/Footprint.java +++ b/src/net/sourceforge/plantuml/svek/image/Footprint.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/Opale.java b/src/net/sourceforge/plantuml/svek/image/Opale.java index fbad9463c..573a673aa 100644 --- a/src/net/sourceforge/plantuml/svek/image/Opale.java +++ b/src/net/sourceforge/plantuml/svek/image/Opale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/SmallestEnclosingCircle.java b/src/net/sourceforge/plantuml/svek/image/SmallestEnclosingCircle.java index 2b91b6102..4ea127ea2 100644 --- a/src/net/sourceforge/plantuml/svek/image/SmallestEnclosingCircle.java +++ b/src/net/sourceforge/plantuml/svek/image/SmallestEnclosingCircle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svek/image/YTransformer.java b/src/net/sourceforge/plantuml/svek/image/YTransformer.java index c1272f583..0347b78d9 100644 --- a/src/net/sourceforge/plantuml/svek/image/YTransformer.java +++ b/src/net/sourceforge/plantuml/svek/image/YTransformer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svg/SvgData.java b/src/net/sourceforge/plantuml/svg/SvgData.java index 9360f1221..38a0bacdb 100644 --- a/src/net/sourceforge/plantuml/svg/SvgData.java +++ b/src/net/sourceforge/plantuml/svg/SvgData.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/svg/SvgGraphics.java b/src/net/sourceforge/plantuml/svg/SvgGraphics.java index 36847921d..2e8394f05 100644 --- a/src/net/sourceforge/plantuml/svg/SvgGraphics.java +++ b/src/net/sourceforge/plantuml/svg/SvgGraphics.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 16115 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.svg; @@ -294,6 +294,7 @@ public class SvgGraphics { if (title == null) { pendingLink2.get(0).setAttribute("xlink:title", url); } else { + title = title.replaceAll("\\\\n", "\n"); pendingLink2.get(0).setAttribute("xlink:title", title); } } diff --git a/src/net/sourceforge/plantuml/swing/AboutWindow.java b/src/net/sourceforge/plantuml/swing/AboutWindow.java index 4975ef748..913d3aad3 100644 --- a/src/net/sourceforge/plantuml/swing/AboutWindow.java +++ b/src/net/sourceforge/plantuml/swing/AboutWindow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/swing/ImageHelper.java b/src/net/sourceforge/plantuml/swing/ImageHelper.java index 697992401..2e87a3da9 100644 --- a/src/net/sourceforge/plantuml/swing/ImageHelper.java +++ b/src/net/sourceforge/plantuml/swing/ImageHelper.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/swing/ImageWindow2.java b/src/net/sourceforge/plantuml/swing/ImageWindow2.java index 1ef239b05..607d5bfc2 100644 --- a/src/net/sourceforge/plantuml/swing/ImageWindow2.java +++ b/src/net/sourceforge/plantuml/swing/ImageWindow2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -45,6 +45,9 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; @@ -64,6 +67,7 @@ import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.ListModel; +import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import net.sourceforge.plantuml.FileFormat; @@ -85,6 +89,7 @@ class ImageWindow2 extends JFrame { private final JButton copy = new JButton("Copy"); private final JButton previous = new JButton("Previous"); private final JCheckBox zoomFitButt = new JCheckBox("Zoom fit"); + private final MainWindow2 main; private final ListModel listModel; private int index; @@ -95,12 +100,15 @@ class ImageWindow2 extends JFrame { private SizeMode sizeMode = SizeMode.FULL_SIZE; + private int startX, startY; + public ImageWindow2(SimpleLine2 simpleLine, final MainWindow2 main, ListModel listModel, int index) { super(simpleLine.toString()); setIconImage(PSystemVersion.getPlantumlSmallIcon2()); this.simpleLine2 = simpleLine; this.listModel = listModel; this.index = index; + this.main = main; final JPanel north = new JPanel(); north.add(previous); @@ -147,10 +155,11 @@ class ImageWindow2 extends JFrame { } }); + this.addComponentListener(new java.awt.event.ComponentAdapter() { public void componentResized(java.awt.event.ComponentEvent e) { super.componentResized(e); - refreshImage(); + refreshImage(false); } }); @@ -228,7 +237,7 @@ class ImageWindow2 extends JFrame { } else { sizeMode = SizeMode.FULL_SIZE; } - refreshImage(); + refreshImage(false); } private void updateSimpleLine() { @@ -240,7 +249,16 @@ class ImageWindow2 extends JFrame { } simpleLine2 = (SimpleLine2) listModel.getElementAt(index); setTitle(simpleLine2.toString()); - refreshImage(); + refreshImage(false); + } + + private void refreshSimpleLine() { + for (SimpleLine2 line : main.getCurrentDirectoryListing2()) { + if (line.getFile().equals(simpleLine2.getFile())) { + simpleLine2 = line; + setTitle(simpleLine2.toString()); + } + } } private ScrollablePicture buildScrollablePicture() { @@ -279,6 +297,28 @@ class ImageWindow2 extends JFrame { } final ImageIcon imageIcon = new ImageIcon(image, simpleLine2.toString()); final ScrollablePicture scrollablePicture = new ScrollablePicture(imageIcon, 1); + + scrollablePicture.addMouseListener(new MouseAdapter() { + public void mousePressed(MouseEvent me) { + super.mousePressed(me); + startX = me.getX(); + startY = me.getY(); + } + }); + scrollablePicture.addMouseMotionListener(new MouseMotionAdapter() { + public void mouseDragged(MouseEvent me) { + super.mouseDragged(me); + final int diffX = me.getX() - startX; + final int diffY = me.getY() - startY; + + final JScrollBar hbar = scrollPane.getHorizontalScrollBar(); + hbar.setValue(hbar.getValue() - diffX); + final JScrollBar vbar = scrollPane.getVerticalScrollBar(); + vbar.setValue(vbar.getValue() - diffY); + } + }); + + return scrollablePicture; } @@ -297,9 +337,34 @@ class ImageWindow2 extends JFrame { return simpleLine2; } - public void refreshImage() { + private int v1; + private int v2; + + public void refreshImage(boolean external) { + final JScrollBar bar1 = scrollPane.getVerticalScrollBar(); + final JScrollBar bar2 = scrollPane.getHorizontalScrollBar(); + if (external && isError() == false) { + v1 = bar1.getValue(); + v2 = bar2.getValue(); + } scrollPane.setViewportView(buildScrollablePicture()); force(); + if (external) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + refreshSimpleLine(); + if (isError() == false) { + bar1.setValue(v1); + bar2.setValue(v2); + } + } + }); + } + } + + private boolean isError() { + return simpleLine2.getGeneratedImage() != null && simpleLine2.getGeneratedImage().lineErrorRaw() != -1; + } private void force() { diff --git a/src/net/sourceforge/plantuml/swing/LicenseWindow.java b/src/net/sourceforge/plantuml/swing/LicenseWindow.java index e2370aaa6..538562f9a 100644 --- a/src/net/sourceforge/plantuml/swing/LicenseWindow.java +++ b/src/net/sourceforge/plantuml/swing/LicenseWindow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/swing/MainWindow2.java b/src/net/sourceforge/plantuml/swing/MainWindow2.java index c2e8e2678..e285400c6 100644 --- a/src/net/sourceforge/plantuml/swing/MainWindow2.java +++ b/src/net/sourceforge/plantuml/swing/MainWindow2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -353,7 +353,7 @@ public class MainWindow2 extends JFrame { final File file = ent.getKey(); removeAllThatUseThisFile(file); final Future> future = ent.getValue(); - final SimpleLine2 simpleLine = new SimpleLine2(file, null, future); + final SimpleLine2 simpleLine = SimpleLine2.fromFuture(file, future); currentDirectoryListing2.add(simpleLine); changed = true; } @@ -365,7 +365,7 @@ public class MainWindow2 extends JFrame { final Future> future = line.getFuture(); for (GeneratedImage im : future.get()) { mayRefreshImageWindow(im.getPngFile()); - final SimpleLine2 simpleLine = new SimpleLine2(line.getFile(), im, null); + final SimpleLine2 simpleLine = SimpleLine2.fromGeneratedImage(line.getFile(), im); currentDirectoryListing2.add(simpleLine); } } @@ -389,7 +389,7 @@ public class MainWindow2 extends JFrame { continue; } if (pngFile.equals(win.getSimpleLine().getGeneratedImage().getPngFile())) { - win.refreshImage(); + win.refreshImage(true); } } @@ -402,4 +402,8 @@ public class MainWindow2 extends JFrame { } } + public List getCurrentDirectoryListing2() { + return Collections.unmodifiableList(currentDirectoryListing2); + } + } diff --git a/src/net/sourceforge/plantuml/swing/ScrollablePicture.java b/src/net/sourceforge/plantuml/swing/ScrollablePicture.java index c454e3e3c..4dfdc8369 100644 --- a/src/net/sourceforge/plantuml/swing/ScrollablePicture.java +++ b/src/net/sourceforge/plantuml/swing/ScrollablePicture.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.swing; diff --git a/src/net/sourceforge/plantuml/swing/SimpleLine2.java b/src/net/sourceforge/plantuml/swing/SimpleLine2.java index f4622a665..e6589779c 100644 --- a/src/net/sourceforge/plantuml/swing/SimpleLine2.java +++ b/src/net/sourceforge/plantuml/swing/SimpleLine2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -45,7 +45,15 @@ class SimpleLine2 implements Comparable { private final GeneratedImage generatedImage; private final Future> future; - public SimpleLine2(File file, GeneratedImage generatedImage, Future> future) { + public static SimpleLine2 fromFuture(File file, Future> future) { + return new SimpleLine2(file, null, future); + } + + public static SimpleLine2 fromGeneratedImage(File file, GeneratedImage generatedImage) { + return new SimpleLine2(file, generatedImage, null); + } + + private SimpleLine2(File file, GeneratedImage generatedImage, Future> future) { this.generatedImage = generatedImage; this.file = file; this.future = future; diff --git a/src/net/sourceforge/plantuml/swing/SpriteWindow.java b/src/net/sourceforge/plantuml/swing/SpriteWindow.java index 53beeb3de..0c2515d47 100644 --- a/src/net/sourceforge/plantuml/swing/SpriteWindow.java +++ b/src/net/sourceforge/plantuml/swing/SpriteWindow.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/syntax/LanguageDescriptor.java b/src/net/sourceforge/plantuml/syntax/LanguageDescriptor.java index 9598fc09f..283ab8a54 100644 --- a/src/net/sourceforge/plantuml/syntax/LanguageDescriptor.java +++ b/src/net/sourceforge/plantuml/syntax/LanguageDescriptor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/syntax/SyntaxChecker.java b/src/net/sourceforge/plantuml/syntax/SyntaxChecker.java index 415f009b3..bcbe56afa 100644 --- a/src/net/sourceforge/plantuml/syntax/SyntaxChecker.java +++ b/src/net/sourceforge/plantuml/syntax/SyntaxChecker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/syntax/SyntaxResult.java b/src/net/sourceforge/plantuml/syntax/SyntaxResult.java index d7864fb42..325d7f73b 100644 --- a/src/net/sourceforge/plantuml/syntax/SyntaxResult.java +++ b/src/net/sourceforge/plantuml/syntax/SyntaxResult.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/telnet/AcceptTelnetClient.java b/src/net/sourceforge/plantuml/telnet/AcceptTelnetClient.java index 045be2765..988e7f915 100644 --- a/src/net/sourceforge/plantuml/telnet/AcceptTelnetClient.java +++ b/src/net/sourceforge/plantuml/telnet/AcceptTelnetClient.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/telnet/TelnetServer.java b/src/net/sourceforge/plantuml/telnet/TelnetServer.java index 4e6bc8aa8..e721c7097 100644 --- a/src/net/sourceforge/plantuml/telnet/TelnetServer.java +++ b/src/net/sourceforge/plantuml/telnet/TelnetServer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/tikz/TikzGraphics.java b/src/net/sourceforge/plantuml/tikz/TikzGraphics.java index 741ab58a3..67873895a 100644 --- a/src/net/sourceforge/plantuml/tikz/TikzGraphics.java +++ b/src/net/sourceforge/plantuml/tikz/TikzGraphics.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/turing/BFMachine.java b/src/net/sourceforge/plantuml/turing/BFMachine.java index 70a877e86..155dad1e0 100644 --- a/src/net/sourceforge/plantuml/turing/BFMachine.java +++ b/src/net/sourceforge/plantuml/turing/BFMachine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/turing/BFToken.java b/src/net/sourceforge/plantuml/turing/BFToken.java index 0d5c78602..fdfbba208 100644 --- a/src/net/sourceforge/plantuml/turing/BFToken.java +++ b/src/net/sourceforge/plantuml/turing/BFToken.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/turing/PSystemTuring.java b/src/net/sourceforge/plantuml/turing/PSystemTuring.java index bca09a466..ef0d62953 100644 --- a/src/net/sourceforge/plantuml/turing/PSystemTuring.java +++ b/src/net/sourceforge/plantuml/turing/PSystemTuring.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/turing/PSystemTuringFactory.java b/src/net/sourceforge/plantuml/turing/PSystemTuringFactory.java index ccca496cc..4d716dc24 100644 --- a/src/net/sourceforge/plantuml/turing/PSystemTuringFactory.java +++ b/src/net/sourceforge/plantuml/turing/PSystemTuringFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/AbstractCommonUGraphic.java b/src/net/sourceforge/plantuml/ugraphic/AbstractCommonUGraphic.java index 10638dcb3..ca7acabc4 100644 --- a/src/net/sourceforge/plantuml/ugraphic/AbstractCommonUGraphic.java +++ b/src/net/sourceforge/plantuml/ugraphic/AbstractCommonUGraphic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12819 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/AbstractPlacementStrategy.java b/src/net/sourceforge/plantuml/ugraphic/AbstractPlacementStrategy.java index fff9a8183..5a281067e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/AbstractPlacementStrategy.java +++ b/src/net/sourceforge/plantuml/ugraphic/AbstractPlacementStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/AbstractShadowable.java b/src/net/sourceforge/plantuml/ugraphic/AbstractShadowable.java index 57df1e977..2a7a47214 100644 --- a/src/net/sourceforge/plantuml/ugraphic/AbstractShadowable.java +++ b/src/net/sourceforge/plantuml/ugraphic/AbstractShadowable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphic.java b/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphic.java index f79423fac..fe3958919 100644 --- a/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphic.java +++ b/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12784 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphicHorizontalLine.java b/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphicHorizontalLine.java index 637d960cf..483743d1a 100644 --- a/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphicHorizontalLine.java +++ b/src/net/sourceforge/plantuml/ugraphic/AbstractUGraphicHorizontalLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ClipContainer.java b/src/net/sourceforge/plantuml/ugraphic/ClipContainer.java index a00891e34..5e3efe4b4 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ClipContainer.java +++ b/src/net/sourceforge/plantuml/ugraphic/ClipContainer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ColorChangerMonochrome.java b/src/net/sourceforge/plantuml/ugraphic/ColorChangerMonochrome.java index 226c62fe3..080579b03 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ColorChangerMonochrome.java +++ b/src/net/sourceforge/plantuml/ugraphic/ColorChangerMonochrome.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ColorMapper.java b/src/net/sourceforge/plantuml/ugraphic/ColorMapper.java index e49dcbff3..c16831bec 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ColorMapper.java +++ b/src/net/sourceforge/plantuml/ugraphic/ColorMapper.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ColorMapperIdentity.java b/src/net/sourceforge/plantuml/ugraphic/ColorMapperIdentity.java index 5a81b8dc6..1e8f721cb 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ColorMapperIdentity.java +++ b/src/net/sourceforge/plantuml/ugraphic/ColorMapperIdentity.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ColorMapperMonochrome.java b/src/net/sourceforge/plantuml/ugraphic/ColorMapperMonochrome.java index 4c8cb82eb..febb70bf2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ColorMapperMonochrome.java +++ b/src/net/sourceforge/plantuml/ugraphic/ColorMapperMonochrome.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ColorMapperTransparentWrapper.java b/src/net/sourceforge/plantuml/ugraphic/ColorMapperTransparentWrapper.java index f998dfac8..4e5bc708e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ColorMapperTransparentWrapper.java +++ b/src/net/sourceforge/plantuml/ugraphic/ColorMapperTransparentWrapper.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/CompressionTransform.java b/src/net/sourceforge/plantuml/ugraphic/CompressionTransform.java index 02f165af4..81c8965d3 100644 --- a/src/net/sourceforge/plantuml/ugraphic/CompressionTransform.java +++ b/src/net/sourceforge/plantuml/ugraphic/CompressionTransform.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/FontChecker.java b/src/net/sourceforge/plantuml/ugraphic/FontChecker.java index 4f140f8d2..a16b7585f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/FontChecker.java +++ b/src/net/sourceforge/plantuml/ugraphic/FontChecker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ImageBuilder.java b/src/net/sourceforge/plantuml/ugraphic/ImageBuilder.java index 0e372acb8..99f76a6e3 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ImageBuilder.java +++ b/src/net/sourceforge/plantuml/ugraphic/ImageBuilder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/InflaterSet.java b/src/net/sourceforge/plantuml/ugraphic/InflaterSet.java index a849b1da4..fa444c7fe 100644 --- a/src/net/sourceforge/plantuml/ugraphic/InflaterSet.java +++ b/src/net/sourceforge/plantuml/ugraphic/InflaterSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/LimitFinder.java b/src/net/sourceforge/plantuml/ugraphic/LimitFinder.java index 7ca66dc26..eadbad136 100644 --- a/src/net/sourceforge/plantuml/ugraphic/LimitFinder.java +++ b/src/net/sourceforge/plantuml/ugraphic/LimitFinder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/MinMax.java b/src/net/sourceforge/plantuml/ugraphic/MinMax.java index c996a27e5..17a09f77c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/MinMax.java +++ b/src/net/sourceforge/plantuml/ugraphic/MinMax.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/MinMaxMutable.java b/src/net/sourceforge/plantuml/ugraphic/MinMaxMutable.java index e31b892fa..64347926a 100644 --- a/src/net/sourceforge/plantuml/ugraphic/MinMaxMutable.java +++ b/src/net/sourceforge/plantuml/ugraphic/MinMaxMutable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategy.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategy.java index a734db451..6304f15f6 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategy.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyVisibility.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyVisibility.java index 3d09438c2..ddd94a043 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyVisibility.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyVisibility.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1X2.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1X2.java index 7b33a89f3..5250c1dc7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1X2.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1X2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1Y2Y3.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1Y2Y3.java index c5d59b452..6bd5ba036 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1Y2Y3.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyX1Y2Y3.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2.java index ff9f9eb3e..8f88febe7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Center.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Center.java index 097690098..4e16b7933 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Center.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Center.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Left.java b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Left.java index 5eddc4552..0293999b0 100644 --- a/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Left.java +++ b/src/net/sourceforge/plantuml/ugraphic/PlacementStrategyY1Y2Left.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/Scalable.java b/src/net/sourceforge/plantuml/ugraphic/Scalable.java index ac0578f33..f9ee3ee73 100644 --- a/src/net/sourceforge/plantuml/ugraphic/Scalable.java +++ b/src/net/sourceforge/plantuml/ugraphic/Scalable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ShadowManager.java b/src/net/sourceforge/plantuml/ugraphic/ShadowManager.java index 208adc20a..75a0ebaaf 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ShadowManager.java +++ b/src/net/sourceforge/plantuml/ugraphic/ShadowManager.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/Shadowable.java b/src/net/sourceforge/plantuml/ugraphic/Shadowable.java index 01ee55d53..989fff911 100644 --- a/src/net/sourceforge/plantuml/ugraphic/Shadowable.java +++ b/src/net/sourceforge/plantuml/ugraphic/Shadowable.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/Slot.java b/src/net/sourceforge/plantuml/ugraphic/Slot.java index 05ee9c8ef..c5f5ca637 100644 --- a/src/net/sourceforge/plantuml/ugraphic/Slot.java +++ b/src/net/sourceforge/plantuml/ugraphic/Slot.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/SlotFinder.java b/src/net/sourceforge/plantuml/ugraphic/SlotFinder.java index 45a91def9..1718548b5 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SlotFinder.java +++ b/src/net/sourceforge/plantuml/ugraphic/SlotFinder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/SlotFinderX.java b/src/net/sourceforge/plantuml/ugraphic/SlotFinderX.java index 50e760be3..233b18c1c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SlotFinderX.java +++ b/src/net/sourceforge/plantuml/ugraphic/SlotFinderX.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/SlotSet.java b/src/net/sourceforge/plantuml/ugraphic/SlotSet.java index c75a4f943..c4116358c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SlotSet.java +++ b/src/net/sourceforge/plantuml/ugraphic/SlotSet.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/Sprite.java b/src/net/sourceforge/plantuml/ugraphic/Sprite.java index e3e6144ed..13dd5d9a0 100644 --- a/src/net/sourceforge/plantuml/ugraphic/Sprite.java +++ b/src/net/sourceforge/plantuml/ugraphic/Sprite.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/SpriteGrayLevel.java b/src/net/sourceforge/plantuml/ugraphic/SpriteGrayLevel.java index 7ff93584f..b0597356d 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SpriteGrayLevel.java +++ b/src/net/sourceforge/plantuml/ugraphic/SpriteGrayLevel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/SpriteImage.java b/src/net/sourceforge/plantuml/ugraphic/SpriteImage.java index 2160fcb9e..a5f4cf184 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SpriteImage.java +++ b/src/net/sourceforge/plantuml/ugraphic/SpriteImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -35,6 +35,10 @@ package net.sourceforge.plantuml.ugraphic; import java.awt.geom.Dimension2D; import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; + +import javax.imageio.ImageIO; import net.sourceforge.plantuml.Dimension2DDouble; import net.sourceforge.plantuml.graphic.AbstractTextBlock; @@ -63,4 +67,27 @@ public class SpriteImage implements Sprite { }; } + public static Sprite fromInternal(String name) { + if (name.endsWith(".png")) { + throw new IllegalArgumentException(); + } + final InputStream is = getInternalSprite(name + ".png"); + if (is == null) { + return null; + } + try { + return new SpriteImage(ImageIO.read(is)); + } catch (IOException e) { + e.printStackTrace(); + return null; + } + + } + + public static InputStream getInternalSprite(final String inner) { + final String path = "/sprites/" + inner; + final InputStream is = SpriteImage.class.getResourceAsStream(path); + return is; + } + } diff --git a/src/net/sourceforge/plantuml/ugraphic/SpriteMonochrome.java b/src/net/sourceforge/plantuml/ugraphic/SpriteMonochrome.java index d35d0126c..ce43f1a5e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SpriteMonochrome.java +++ b/src/net/sourceforge/plantuml/ugraphic/SpriteMonochrome.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -90,7 +90,7 @@ public class SpriteMonochrome implements Sprite { backcolor = HtmlColorUtils.WHITE; } if (color == null) { - backcolor = HtmlColorUtils.BLACK; + color = HtmlColorUtils.BLACK; } final HtmlColorGradient gradient = new HtmlColorGradient(backcolor, color, '\0'); for (int col = 0; col < width; col++) { diff --git a/src/net/sourceforge/plantuml/ugraphic/SpriteUtils.java b/src/net/sourceforge/plantuml/ugraphic/SpriteUtils.java index 5dc52d6b2..23b062909 100644 --- a/src/net/sourceforge/plantuml/ugraphic/SpriteUtils.java +++ b/src/net/sourceforge/plantuml/ugraphic/SpriteUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/TextBlockInEllipse.java b/src/net/sourceforge/plantuml/ugraphic/TextBlockInEllipse.java index 34f13ce03..2b45c4c16 100644 --- a/src/net/sourceforge/plantuml/ugraphic/TextBlockInEllipse.java +++ b/src/net/sourceforge/plantuml/ugraphic/TextBlockInEllipse.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/TextLimitFinder.java b/src/net/sourceforge/plantuml/ugraphic/TextLimitFinder.java index 8cd484792..6ccb48ecf 100644 --- a/src/net/sourceforge/plantuml/ugraphic/TextLimitFinder.java +++ b/src/net/sourceforge/plantuml/ugraphic/TextLimitFinder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UAntiAliasing.java b/src/net/sourceforge/plantuml/ugraphic/UAntiAliasing.java index de0117eab..3fc61f1dd 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UAntiAliasing.java +++ b/src/net/sourceforge/plantuml/ugraphic/UAntiAliasing.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UCenteredCharacter.java b/src/net/sourceforge/plantuml/ugraphic/UCenteredCharacter.java index 9e7ac9871..4ae439701 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UCenteredCharacter.java +++ b/src/net/sourceforge/plantuml/ugraphic/UCenteredCharacter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UChange.java b/src/net/sourceforge/plantuml/ugraphic/UChange.java index 29b115057..3effeff6b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UChange.java +++ b/src/net/sourceforge/plantuml/ugraphic/UChange.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UChangeBackColor.java b/src/net/sourceforge/plantuml/ugraphic/UChangeBackColor.java index 0166d009a..324140095 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UChangeBackColor.java +++ b/src/net/sourceforge/plantuml/ugraphic/UChangeBackColor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UChangeColor.java b/src/net/sourceforge/plantuml/ugraphic/UChangeColor.java index 9c0ca16bb..96f8aa5d6 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UChangeColor.java +++ b/src/net/sourceforge/plantuml/ugraphic/UChangeColor.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UClip.java b/src/net/sourceforge/plantuml/ugraphic/UClip.java index b65190a13..9abecd05f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UClip.java +++ b/src/net/sourceforge/plantuml/ugraphic/UClip.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UDriver.java b/src/net/sourceforge/plantuml/ugraphic/UDriver.java index 17ac0f805..2c671dd92 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UDriver.java +++ b/src/net/sourceforge/plantuml/ugraphic/UDriver.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UEllipse.java b/src/net/sourceforge/plantuml/ugraphic/UEllipse.java index 06aa15deb..4fe1c4b97 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UEllipse.java +++ b/src/net/sourceforge/plantuml/ugraphic/UEllipse.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12797 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UEmpty.java b/src/net/sourceforge/plantuml/ugraphic/UEmpty.java index cf7dc56d3..52a54dd53 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UEmpty.java +++ b/src/net/sourceforge/plantuml/ugraphic/UEmpty.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UFont.java b/src/net/sourceforge/plantuml/ugraphic/UFont.java index 149fef975..4c543ef60 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UFont.java +++ b/src/net/sourceforge/plantuml/ugraphic/UFont.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UFontContext.java b/src/net/sourceforge/plantuml/ugraphic/UFontContext.java index 837bb8297..8ca48da84 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UFontContext.java +++ b/src/net/sourceforge/plantuml/ugraphic/UFontContext.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UFontUser.java b/src/net/sourceforge/plantuml/ugraphic/UFontUser.java index ce53fef05..8c068c2b2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UFontUser.java +++ b/src/net/sourceforge/plantuml/ugraphic/UFontUser.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphic.java b/src/net/sourceforge/plantuml/ugraphic/UGraphic.java index 277f32213..930e1e08f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphic.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphic.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13811 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphic2.java b/src/net/sourceforge/plantuml/ugraphic/UGraphic2.java index 9df8ead5a..c84bc3fcf 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphic2.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphic2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress.java index 9e38e3f74..990f1f79c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress2.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress2.java index 326097f5f..ceab3a9a2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress2.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicCompress2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicFilter.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicFilter.java index ed8c7d4b0..c9f06240b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicFilter.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicFilter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicNull.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicNull.java index 133854f6d..3b41dacdf 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicNull.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicNull.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicStencil.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicStencil.java index 477575cb9..b38c07737 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicStencil.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicStencil.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UGraphicUtils.java b/src/net/sourceforge/plantuml/ugraphic/UGraphicUtils.java index bc4bf8953..f0e614424 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UGraphicUtils.java +++ b/src/net/sourceforge/plantuml/ugraphic/UGraphicUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UHidden.java b/src/net/sourceforge/plantuml/ugraphic/UHidden.java index dae7be46d..40e2babfc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UHidden.java +++ b/src/net/sourceforge/plantuml/ugraphic/UHidden.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UHorizontalLine.java b/src/net/sourceforge/plantuml/ugraphic/UHorizontalLine.java index 9628fd2e0..027ef98c2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UHorizontalLine.java +++ b/src/net/sourceforge/plantuml/ugraphic/UHorizontalLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UImage.java b/src/net/sourceforge/plantuml/ugraphic/UImage.java index 42110d594..a8a0634c1 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UImage.java +++ b/src/net/sourceforge/plantuml/ugraphic/UImage.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UImageSvg.java b/src/net/sourceforge/plantuml/ugraphic/UImageSvg.java index 710a4660c..2951e4096 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UImageSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/UImageSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ULayoutGroup.java b/src/net/sourceforge/plantuml/ugraphic/ULayoutGroup.java index eabd91259..b285097f9 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ULayoutGroup.java +++ b/src/net/sourceforge/plantuml/ugraphic/ULayoutGroup.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/ULine.java b/src/net/sourceforge/plantuml/ugraphic/ULine.java index cb35bcb7b..30900458b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/ULine.java +++ b/src/net/sourceforge/plantuml/ugraphic/ULine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12797 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UMotif.java b/src/net/sourceforge/plantuml/ugraphic/UMotif.java index 6894288d1..a90565bf7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UMotif.java +++ b/src/net/sourceforge/plantuml/ugraphic/UMotif.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UParam.java b/src/net/sourceforge/plantuml/ugraphic/UParam.java index 66c81dd3f..ccee34412 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UParam.java +++ b/src/net/sourceforge/plantuml/ugraphic/UParam.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12781 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UParamNull.java b/src/net/sourceforge/plantuml/ugraphic/UParamNull.java index cbff9db2e..e3f7ce2c3 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UParamNull.java +++ b/src/net/sourceforge/plantuml/ugraphic/UParamNull.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UPath.java b/src/net/sourceforge/plantuml/ugraphic/UPath.java index 0c52438e6..83aa52a82 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UPath.java +++ b/src/net/sourceforge/plantuml/ugraphic/UPath.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UPattern.java b/src/net/sourceforge/plantuml/ugraphic/UPattern.java index 05d2bb5ec..3d8630d1f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UPattern.java +++ b/src/net/sourceforge/plantuml/ugraphic/UPattern.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UPixel.java b/src/net/sourceforge/plantuml/ugraphic/UPixel.java index e3eb7bbff..892894b82 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UPixel.java +++ b/src/net/sourceforge/plantuml/ugraphic/UPixel.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UPolygon.java b/src/net/sourceforge/plantuml/ugraphic/UPolygon.java index 3f0bf6309..88beb8a29 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UPolygon.java +++ b/src/net/sourceforge/plantuml/ugraphic/UPolygon.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12939 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/URectangle.java b/src/net/sourceforge/plantuml/ugraphic/URectangle.java index 032215694..0bb21c327 100644 --- a/src/net/sourceforge/plantuml/ugraphic/URectangle.java +++ b/src/net/sourceforge/plantuml/ugraphic/URectangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UScale.java b/src/net/sourceforge/plantuml/ugraphic/UScale.java index 2f4f9bb58..ca6119d35 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UScale.java +++ b/src/net/sourceforge/plantuml/ugraphic/UScale.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/USegment.java b/src/net/sourceforge/plantuml/ugraphic/USegment.java index f069792a6..c2be45d90 100644 --- a/src/net/sourceforge/plantuml/ugraphic/USegment.java +++ b/src/net/sourceforge/plantuml/ugraphic/USegment.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/USegmentType.java b/src/net/sourceforge/plantuml/ugraphic/USegmentType.java index 50bda00ef..36c170f55 100644 --- a/src/net/sourceforge/plantuml/ugraphic/USegmentType.java +++ b/src/net/sourceforge/plantuml/ugraphic/USegmentType.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/UShape.java b/src/net/sourceforge/plantuml/ugraphic/UShape.java index 2b9a3577d..156c86a3c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UShape.java +++ b/src/net/sourceforge/plantuml/ugraphic/UShape.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UStroke.java b/src/net/sourceforge/plantuml/ugraphic/UStroke.java index d69d0fde6..99e20b468 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UStroke.java +++ b/src/net/sourceforge/plantuml/ugraphic/UStroke.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12976 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UText.java b/src/net/sourceforge/plantuml/ugraphic/UText.java index a27e294e9..8b8ccfbb7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UText.java +++ b/src/net/sourceforge/plantuml/ugraphic/UText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12642 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic; diff --git a/src/net/sourceforge/plantuml/ugraphic/UTranslate.java b/src/net/sourceforge/plantuml/ugraphic/UTranslate.java index fdb51c710..f1c56846e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/UTranslate.java +++ b/src/net/sourceforge/plantuml/ugraphic/UTranslate.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedGeneralPath.java b/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedGeneralPath.java index eb0dd8fa2..885c4dadb 100644 --- a/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedGeneralPath.java +++ b/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedGeneralPath.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedPathIterator.java b/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedPathIterator.java index 609561213..73d9a9321 100644 --- a/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedPathIterator.java +++ b/src/net/sourceforge/plantuml/ugraphic/arc/ExtendedPathIterator.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverCenteredCharacterEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverCenteredCharacterEps.java index e55bf5c40..efdff633e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverCenteredCharacterEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverCenteredCharacterEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverDotPathEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverDotPathEps.java index 0a01b8b34..ab166ed79 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverDotPathEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverDotPathEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverEllipseEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverEllipseEps.java index e93e158e7..50d8b53b9 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverEllipseEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverEllipseEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverImageEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverImageEps.java index 879e298f0..430099b48 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverImageEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverImageEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverLineEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverLineEps.java index e345407fe..6833b0905 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverLineEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverLineEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverPathEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverPathEps.java index 565d3e5ae..93dbe9485 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverPathEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverPathEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverPolygonEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverPolygonEps.java index a62602993..6e5e4339c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverPolygonEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverPolygonEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverRectangleEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverRectangleEps.java index 8db015073..c1ce7a723 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverRectangleEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverRectangleEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/DriverTextEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/DriverTextEps.java index 3b38c9051..e8406e61f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/DriverTextEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/DriverTextEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/eps/UGraphicEps.java b/src/net/sourceforge/plantuml/ugraphic/eps/UGraphicEps.java index 92b3d8d3a..dc46ac8ba 100644 --- a/src/net/sourceforge/plantuml/ugraphic/eps/UGraphicEps.java +++ b/src/net/sourceforge/plantuml/ugraphic/eps/UGraphicEps.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverCenteredCharacterG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverCenteredCharacterG2d.java index 9ff098f3a..9a19fb9b7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverCenteredCharacterG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverCenteredCharacterG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverDotPathG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverDotPathG2d.java index 0ab030403..5a74ee99b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverDotPathG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverDotPathG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverEllipseG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverEllipseG2d.java index 2c4857788..e1a53640b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverEllipseG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverEllipseG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverImageG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverImageG2d.java index 39fab9207..39b59cd00 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverImageG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverImageG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13794 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverLineG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverLineG2d.java index 4bd33e977..238ae805a 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverLineG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverLineG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12782 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2d.java index 760b252a9..556b532e7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2dLegacy.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2dLegacy.java index 0cd93cd91..dd50814c4 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2dLegacy.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathG2dLegacy.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathOldG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathOldG2d.java index dda13664f..313a73fe6 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathOldG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPathOldG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPixelG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPixelG2d.java index 49446c932..f077e6773 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPixelG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPixelG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPolygonG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPolygonG2d.java index 1ab47cbe6..13d601bf6 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPolygonG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverPolygonG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverRectangleG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverRectangleG2d.java index ee57feb89..3d23eb8f0 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverRectangleG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverRectangleG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 12235 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverShadowedG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverShadowedG2d.java index 9f90440ea..3c3825fd5 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverShadowedG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverShadowedG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -99,6 +99,8 @@ public class DriverShadowedG2d { destination = simpleBlur.filter(destination, null); } catch (OutOfMemoryError error) { Log.info("Warning: Cannot draw shadow, image too big."); + } catch (Exception e) { + Log.info("Warning: Cannot draw shadow: " + e); } if (destination != null) { final AffineTransform at = g2d.getTransform(); diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextAsPathG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextAsPathG2d.java index 63ffa34ae..c97e8251e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextAsPathG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextAsPathG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13912 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextG2d.java index dc197d2ae..d97c9c9bb 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/DriverTextG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/g2d/UGraphicG2d.java b/src/net/sourceforge/plantuml/ugraphic/g2d/UGraphicG2d.java index c18139c0f..1cf3fde64 100644 --- a/src/net/sourceforge/plantuml/ugraphic/g2d/UGraphicG2d.java +++ b/src/net/sourceforge/plantuml/ugraphic/g2d/UGraphicG2d.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 14432 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.ugraphic.g2d; diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/HandJiggle.java b/src/net/sourceforge/plantuml/ugraphic/hand/HandJiggle.java index 8a40ad910..237cc3839 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/HandJiggle.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/HandJiggle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/UDotPathHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/UDotPathHand.java index 7fb1850ea..1691d9ec5 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/UDotPathHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/UDotPathHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/UEllipseHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/UEllipseHand.java index 9fee5b455..616fdfa1b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/UEllipseHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/UEllipseHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/UGraphicHandwritten.java b/src/net/sourceforge/plantuml/ugraphic/hand/UGraphicHandwritten.java index 67a54003c..28b751a8e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/UGraphicHandwritten.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/UGraphicHandwritten.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/ULineHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/ULineHand.java index da093806b..d81eb7ea8 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/ULineHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/ULineHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/UPathHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/UPathHand.java index c5e71687a..f93a64510 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/UPathHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/UPathHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/UPolygonHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/UPolygonHand.java index 16279f5cb..6c01f7efc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/UPolygonHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/UPolygonHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/hand/URectangleHand.java b/src/net/sourceforge/plantuml/ugraphic/hand/URectangleHand.java index fc53874bf..8885050cc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/hand/URectangleHand.java +++ b/src/net/sourceforge/plantuml/ugraphic/hand/URectangleHand.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -45,7 +45,7 @@ public class URectangleHand { final HandJiggle jiggle; final double rx = Math.min(rectangle.getRx() / 2, width / 2); final double ry = Math.min(rectangle.getRy() / 2, height / 2); - System.err.println("rx=" + rx + " ry=" + ry); + // System.err.println("rx=" + rx + " ry=" + ry); if (rx == 0 && ry == 0) { jiggle = new HandJiggle(0, 0, 1.5); jiggle.lineTo(width, 0); diff --git a/src/net/sourceforge/plantuml/ugraphic/html5/DriverLineHtml5.java b/src/net/sourceforge/plantuml/ugraphic/html5/DriverLineHtml5.java index b600d922f..44c92b146 100644 --- a/src/net/sourceforge/plantuml/ugraphic/html5/DriverLineHtml5.java +++ b/src/net/sourceforge/plantuml/ugraphic/html5/DriverLineHtml5.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/html5/DriverNopHtml5.java b/src/net/sourceforge/plantuml/ugraphic/html5/DriverNopHtml5.java index 352a90f70..b1fe1cb23 100644 --- a/src/net/sourceforge/plantuml/ugraphic/html5/DriverNopHtml5.java +++ b/src/net/sourceforge/plantuml/ugraphic/html5/DriverNopHtml5.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/html5/DriverRectangleHtml5.java b/src/net/sourceforge/plantuml/ugraphic/html5/DriverRectangleHtml5.java index 6ea2e376b..eb7366dc7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/html5/DriverRectangleHtml5.java +++ b/src/net/sourceforge/plantuml/ugraphic/html5/DriverRectangleHtml5.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/html5/Html5Drawer.java b/src/net/sourceforge/plantuml/ugraphic/html5/Html5Drawer.java index 743503767..61562235e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/html5/Html5Drawer.java +++ b/src/net/sourceforge/plantuml/ugraphic/html5/Html5Drawer.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/html5/UGraphicHtml5.java b/src/net/sourceforge/plantuml/ugraphic/html5/UGraphicHtml5.java index 95da524f9..df1db27bc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/html5/UGraphicHtml5.java +++ b/src/net/sourceforge/plantuml/ugraphic/html5/UGraphicHtml5.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverCenteredCharacterSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverCenteredCharacterSvg.java index 70e3be33f..1355a6754 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverCenteredCharacterSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverCenteredCharacterSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverDotPathSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverDotPathSvg.java index 99e87d478..a89871a6b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverDotPathSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverDotPathSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverEllipseSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverEllipseSvg.java index f366d7aa2..85b6fb4ae 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverEllipseSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverEllipseSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverImagePng.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverImagePng.java index 9f39eb2c5..290de4ae9 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverImagePng.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverImagePng.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverImageSvgSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverImageSvgSvg.java index 92ea544c7..a6877d43c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverImageSvgSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverImageSvgSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverLineSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverLineSvg.java index d259efbd3..559524be7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverLineSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverLineSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverPathSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverPathSvg.java index a95fbc5eb..aea739dc8 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverPathSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverPathSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverPolygonSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverPolygonSvg.java index f09d51412..3c45fbeec 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverPolygonSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverPolygonSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverRectangleSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverRectangleSvg.java index 6a0797e77..ac6bc31fc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverRectangleSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverRectangleSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextAsPathSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextAsPathSvg.java index 4041679d0..975484ea7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextAsPathSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextAsPathSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextSvg.java index b7291670c..d6aa903d2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/DriverTextSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/svg/UGraphicSvg.java b/src/net/sourceforge/plantuml/ugraphic/svg/UGraphicSvg.java index 9d53d8617..72f8ebc9d 100644 --- a/src/net/sourceforge/plantuml/ugraphic/svg/UGraphicSvg.java +++ b/src/net/sourceforge/plantuml/ugraphic/svg/UGraphicSvg.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverAtomTextTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverAtomTextTikz.java index bb10bd979..be94222e1 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverAtomTextTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverAtomTextTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverCenteredCharacterTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverCenteredCharacterTikz.java index 213dbe2ce..3518e68a0 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverCenteredCharacterTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverCenteredCharacterTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverDotPathTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverDotPathTikz.java index 025ee438f..bc36cca29 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverDotPathTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverDotPathTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverEllipseTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverEllipseTikz.java index dd5addabb..f40e436b4 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverEllipseTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverEllipseTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverLineTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverLineTikz.java index 7fd182d58..aabe0065c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverLineTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverLineTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverNoneTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverNoneTikz.java index 1f3e98fed..e5eeb9a42 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverNoneTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverNoneTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverPolygonTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverPolygonTikz.java index b016a3f9c..6da6b76ab 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverPolygonTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverPolygonTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverRectangleTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverRectangleTikz.java index d0b8aa402..e713e6ee4 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverRectangleTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverRectangleTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUPathTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUPathTikz.java index 6f120fb76..b4d736251 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUPathTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUPathTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUTextTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUTextTikz.java index b6a5d098d..8e700e311 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUTextTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/DriverUTextTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/tikz/UGraphicTikz.java b/src/net/sourceforge/plantuml/ugraphic/tikz/UGraphicTikz.java index 98644e2e0..6e2a1b35b 100644 --- a/src/net/sourceforge/plantuml/ugraphic/tikz/UGraphicTikz.java +++ b/src/net/sourceforge/plantuml/ugraphic/tikz/UGraphicTikz.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/txt/UGraphicTxt.java b/src/net/sourceforge/plantuml/ugraphic/txt/UGraphicTxt.java index f274d1c2d..70161b110 100644 --- a/src/net/sourceforge/plantuml/ugraphic/txt/UGraphicTxt.java +++ b/src/net/sourceforge/plantuml/ugraphic/txt/UGraphicTxt.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverDotPathVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverDotPathVdx.java index 515f3b61a..2fed9c4f2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverDotPathVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverDotPathVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverLineVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverLineVdx.java index 8a02b2336..d7c29dcd6 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverLineVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverLineVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverNoneVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverNoneVdx.java index c6fae9c35..1085a2cd7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverNoneVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverNoneVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverPolygonVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverPolygonVdx.java index b006a426c..e58c255e7 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverPolygonVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverPolygonVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverRectangleVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverRectangleVdx.java index e9023e824..a1b33aa1f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverRectangleVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverRectangleVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverTextVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverTextVdx.java index aae273492..9e131a82c 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverTextVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverTextVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/DriverUPathVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/DriverUPathVdx.java index ee4ec61ad..0879c77cc 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/DriverUPathVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/DriverUPathVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/UGraphicVdx.java b/src/net/sourceforge/plantuml/ugraphic/visio/UGraphicVdx.java index f697c410a..38dfa957e 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/UGraphicVdx.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/UGraphicVdx.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/VisioGraphics.java b/src/net/sourceforge/plantuml/ugraphic/visio/VisioGraphics.java index a2199d831..358ff4252 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/VisioGraphics.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/VisioGraphics.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/VisioLine.java b/src/net/sourceforge/plantuml/ugraphic/visio/VisioLine.java index f4c3e961b..0904ec8f2 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/VisioLine.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/VisioLine.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/VisioRectangle.java b/src/net/sourceforge/plantuml/ugraphic/visio/VisioRectangle.java index 2848ec7a7..dd841696f 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/VisioRectangle.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/VisioRectangle.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/VisioShape.java b/src/net/sourceforge/plantuml/ugraphic/visio/VisioShape.java index 025699745..cc79a6424 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/VisioShape.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/VisioShape.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/ugraphic/visio/VisioText.java b/src/net/sourceforge/plantuml/ugraphic/visio/VisioText.java index cb5f4b3a4..e54ef0065 100644 --- a/src/net/sourceforge/plantuml/ugraphic/visio/VisioText.java +++ b/src/net/sourceforge/plantuml/ugraphic/visio/VisioText.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/utils/CharHidder.java b/src/net/sourceforge/plantuml/utils/CharHidder.java index f372a74f0..f56f4ee82 100644 --- a/src/net/sourceforge/plantuml/utils/CharHidder.java +++ b/src/net/sourceforge/plantuml/utils/CharHidder.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -63,7 +63,8 @@ public class CharHidder { } private static boolean isToBeHidden(final char c) { - if (c == '_' || c == '\"' || c == '#' || c == ']' || c == '[' || c == '*' || c == '.' || c == '/' || c == '<') { + if (c == '_' || c == '-' || c == '\"' || c == '#' || c == ']' || c == '[' || c == '*' || c == '.' || c == '/' + || c == '<') { return true; } return false; diff --git a/src/net/sourceforge/plantuml/utils/MathUtils.java b/src/net/sourceforge/plantuml/utils/MathUtils.java index 5fdf2d5be..56b5b77ab 100644 --- a/src/net/sourceforge/plantuml/utils/MathUtils.java +++ b/src/net/sourceforge/plantuml/utils/MathUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/utils/StartUtils.java b/src/net/sourceforge/plantuml/utils/StartUtils.java index 2276c4fa6..fcd1dbfc9 100644 --- a/src/net/sourceforge/plantuml/utils/StartUtils.java +++ b/src/net/sourceforge/plantuml/utils/StartUtils.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/utils/UniqueSequence.java b/src/net/sourceforge/plantuml/utils/UniqueSequence.java index 34922ad27..56bf3812a 100644 --- a/src/net/sourceforge/plantuml/utils/UniqueSequence.java +++ b/src/net/sourceforge/plantuml/utils/UniqueSequence.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 13946 $ + * Revision $Revision: 18280 $ * */ package net.sourceforge.plantuml.utils; diff --git a/src/net/sourceforge/plantuml/version/IteratorCounter2.java b/src/net/sourceforge/plantuml/version/IteratorCounter2.java index 00bb704e6..32952a9a8 100644 --- a/src/net/sourceforge/plantuml/version/IteratorCounter2.java +++ b/src/net/sourceforge/plantuml/version/IteratorCounter2.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/IteratorCounter2Impl.java b/src/net/sourceforge/plantuml/version/IteratorCounter2Impl.java index 99ddf2fdd..a97fc81bd 100644 --- a/src/net/sourceforge/plantuml/version/IteratorCounter2Impl.java +++ b/src/net/sourceforge/plantuml/version/IteratorCounter2Impl.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/License.java b/src/net/sourceforge/plantuml/version/License.java index b84ade9e6..bb1ea9796 100644 --- a/src/net/sourceforge/plantuml/version/License.java +++ b/src/net/sourceforge/plantuml/version/License.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -210,7 +210,7 @@ public enum License { text.add("PlantUML : a free UML diagram generator"); text.add("========================================================================"); text.add(""); - text.add("(C) Copyright 2009-2014, Arnaud Roques"); + text.add("(C) Copyright 2009-2017, Arnaud Roques"); text.add(""); text.add("Project Info: http://plantuml.sourceforge.net"); text.add(""); @@ -223,7 +223,7 @@ public enum License { h.add(" * PlantUML : a free UML diagram generator"); h.add(" * ========================================================================"); h.add(" *"); - h.add(" * (C) Copyright 2009-2014, Arnaud Roques"); + h.add(" * (C) Copyright 2009-2017, Arnaud Roques"); h.add(" *"); h.add(" * Project Info: http://plantuml.sourceforge.net"); h.add(" * "); diff --git a/src/net/sourceforge/plantuml/version/PSystemLicense.java b/src/net/sourceforge/plantuml/version/PSystemLicense.java index 83b1f9e07..8cbf17ff9 100644 --- a/src/net/sourceforge/plantuml/version/PSystemLicense.java +++ b/src/net/sourceforge/plantuml/version/PSystemLicense.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/PSystemLicenseFactory.java b/src/net/sourceforge/plantuml/version/PSystemLicenseFactory.java index 8d95df2d5..4eded8166 100644 --- a/src/net/sourceforge/plantuml/version/PSystemLicenseFactory.java +++ b/src/net/sourceforge/plantuml/version/PSystemLicenseFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/PSystemVersion.java b/src/net/sourceforge/plantuml/version/PSystemVersion.java index 723669900..297d092a9 100644 --- a/src/net/sourceforge/plantuml/version/PSystemVersion.java +++ b/src/net/sourceforge/plantuml/version/PSystemVersion.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/PSystemVersionFactory.java b/src/net/sourceforge/plantuml/version/PSystemVersionFactory.java index 2633e7cbd..bb7cd38aa 100644 --- a/src/net/sourceforge/plantuml/version/PSystemVersionFactory.java +++ b/src/net/sourceforge/plantuml/version/PSystemVersionFactory.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/version/Version.java b/src/net/sourceforge/plantuml/version/Version.java index a60405b99..210d05f98 100644 --- a/src/net/sourceforge/plantuml/version/Version.java +++ b/src/net/sourceforge/plantuml/version/Version.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * @@ -28,7 +28,7 @@ * * Original Author: Arnaud Roques * - * Revision $Revision: 17510 $ + * Revision $Revision: 18306 $ * */ package net.sourceforge.plantuml.version; @@ -39,7 +39,7 @@ import java.util.Date; public class Version { public static int version() { - return 8032; + return 8034; } public static String versionString() { @@ -63,7 +63,7 @@ public class Version { } private static long compileTime() { - return 1446389976158L; + return 1452334079157L; } public static String compileTimeString() { diff --git a/src/net/sourceforge/plantuml/version/out.png b/src/net/sourceforge/plantuml/version/out.png new file mode 100644 index 000000000..4bd1fac13 Binary files /dev/null and b/src/net/sourceforge/plantuml/version/out.png differ diff --git a/src/net/sourceforge/plantuml/webp/BoolDecoder.java b/src/net/sourceforge/plantuml/webp/BoolDecoder.java new file mode 100644 index 000000000..ed9cb3dcc --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/BoolDecoder.java @@ -0,0 +1,135 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +import java.io.IOException; + +import javax.imageio.stream.ImageInputStream; + +public class BoolDecoder { + int bit_count; /* # of bits shifted out of value, at most 7 */ + ImageInputStream data; + private long offset; /* pointer to next compressed data byte */ + private int range; /* always identical to encoder's range */ + private int value; /* contains at least 24 significant bits */ + + BoolDecoder(ImageInputStream frame, long offset) throws IOException { + this.data = frame; + this.offset = offset; + initBoolDecoder(); + } + + private void initBoolDecoder() throws IOException { + + value = 0; /* value = first 16 input bits */ + + data.seek(offset); + value = data.readUnsignedByte() << 8; + // value = (data[offset]) << 8; + offset++; + + range = 255; /* initial range is full */ + bit_count = 0; /* have not yet shifted out any bits */ + } + + public int readBit() throws IOException { + return readBool(128); + } + + public int readBool(int probability) throws IOException { + + int bit = 0; + int split; + int bigsplit; + int range = this.range; + int value = this.value; + split = 1 + (((range - 1) * probability) >> 8); + bigsplit = (split << 8); + range = split; + + if (value >= bigsplit) { + range = this.range - split; + value = value - bigsplit; + bit = 1; + } + + { + int count = this.bit_count; + int shift = Globals.vp8dxBitreaderNorm[range]; + range <<= shift; + value <<= shift; + count -= shift; + + if (count <= 0) { + // data.seek(offset); + value |= data.readUnsignedByte() << (-count); + // value |= data[offset] << (-count); + offset++; + count += 8; + } + + this.bit_count = count; + } + this.value = value; + this.range = range; + return bit; + } + + /* + * Convenience function reads a "literal", that is, a "num_bits" wide + * unsigned value whose bits come high- to low-order, with each bit encoded + * at probability 128 (i.e., 1/2). + */ + public int readLiteral(int num_bits) throws IOException { + int v = 0; + while (num_bits-- > 0) + v = (v << 1) + readBool(128); + return v; + } + + int readTree(int t[], /* tree specification */ + int p[] /* corresponding interior node probabilities */ + ) throws IOException { + int i = 0; /* begin at root */ + + /* Descend tree until leaf is reached */ + while ((i = t[i + readBool(p[i >> 1])]) > 0) { + } + return -i; /* return value is negation of nonpositive index */ + + } + + int readTreeSkip(int t[], /* tree specification */ + int p[], /* corresponding interior node probabilities */ + int skip_branches) throws IOException { + int i = skip_branches * 2; /* begin at root */ + + /* Descend tree until leaf is reached */ + while ((i = t[i + readBool(p[i >> 1])]) > 0) { + } + return -i; /* return value is negation of nonpositive index */ + + } + + public void seek() throws IOException { + data.seek(offset); + } + + public String toString() { + return "bc: " + value; + } + +} diff --git a/src/net/sourceforge/plantuml/webp/DeltaQ.java b/src/net/sourceforge/plantuml/webp/DeltaQ.java new file mode 100644 index 000000000..64f3d3705 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/DeltaQ.java @@ -0,0 +1,22 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ + +package net.sourceforge.plantuml.webp; + +public class DeltaQ { + public boolean update = false; + public int v = 0; +} diff --git a/src/net/sourceforge/plantuml/webp/Globals.java b/src/net/sourceforge/plantuml/webp/Globals.java new file mode 100644 index 000000000..cfac38aee --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/Globals.java @@ -0,0 +1,820 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +public class Globals { + + public static final int DC_PRED = 0; /* + * predict DC using row above and column + * to the left + */ + public static final int V_PRED = 1; /* predict rows using row above */ + public static final int H_PRED = 2; /* + * predict columns using column to the + * left + */ + public static final int TM_PRED = 3; /* + * propagate second differences a la + * "true motion" + */ + public static final int B_PRED = 4; /* + * each Y subblock is independently + * predicted + */ + + public static String getModeAsString(int mode) { + switch (mode) { + case DC_PRED: + return "DC_PRED"; + case V_PRED: + return "V_PRED"; + case H_PRED: + return "H_PRED"; + case TM_PRED: + return "TM_PRED"; + case B_PRED: + return "B_PRED"; + } + return "not found"; + } + + /* intra_bmode */ + public static final int B_DC_PRED = 0; /* + * predict DC using row above and + * column to the left + */ + public static final int B_TM_PRED = 1; /* + * propagate second differences a la + * "true motion" + */ + public static final int B_VE_PRED = 2; /* predict rows using row above */ + public static final int B_HE_PRED = 3; /* + * predict columns using column to + * the left + */ + public static final int B_LD_PRED = 4; /* + * southwest (left and down) 45 + * degree diagonal prediction + */ + public static final int B_RD_PRED = 5; /* southeast (right and down) "" */ + public static final int B_VR_PRED = 6; /* + * SSE (vertical right) diagonal + * prediction + */ + public static final int B_VL_PRED = 7; /* SSW (vertical left) "" */ + public static final int B_HD_PRED = 8; /* ESE (horizontal down) "" */ + public static final int B_HU_PRED = 9; /* ENE (horizontal up) "" */ + + public static String getSubBlockModeAsString(int mode) { + switch (mode) { + case B_DC_PRED: + return "B_DC_PRED"; + case B_TM_PRED: + return "B_TM_PRED"; + case B_VE_PRED: + return "B_VE_PRED"; + case B_HE_PRED: + return "B_HE_PRED"; + case B_LD_PRED: + return "B_LD_PRED"; + case B_RD_PRED: + return "B_RD_PRED"; + case B_VR_PRED: + return "B_VR_PRED"; + case B_VL_PRED: + return "B_VL_PRED"; + case B_HD_PRED: + return "B_HD_PRED"; + case B_HU_PRED: + return "B_HU_PRED"; + } + return "not found"; + } + + public static final int MAX_MB_SEGMENTS = 4; + public static final int MB_LVL_MAX = 2; + public static int[] vp8MacroBlockFeatureDataBits = { 7, 6 }; + public static final int MB_FEATURE_TREE_PROBS = 3; + + public static int macroBlockSegmentTree[] = { 2, 4, + /* root: "0", "1" subtrees */ + -0, -1, + /* "00" = 0th value, "01" = 1st value */ + -2, -3 + /* "10" = 2nd value, "11" = 3rd value */ + }; + + public static int vp8KeyFrameYModeTree[] = { -B_PRED, 2, 4, 6, -DC_PRED, + -V_PRED, -H_PRED, -TM_PRED }; + + public static int vp8SubBlockModeTree[] = { -B_DC_PRED, 2, /* + * B_DC_PRED = + * "0" + */ + -B_TM_PRED, 4, /* B_TM_PRED = "10" */ + -B_VE_PRED, 6, /* B_VE_PRED = "110" */ + 8, 12, -B_HE_PRED, 10, /* B_HE_PRED = "1110" */ + -B_RD_PRED, -B_VR_PRED, /* B_RD_PRED = "111100", B_VR_PRED = "111101" */ + -B_LD_PRED, 14, /* B_LD_PRED = "111110" */ + -B_VL_PRED, 16, /* B_VL_PRED = "1111110" */ + -B_HD_PRED, -B_HU_PRED /* HD = "11111110", HU = "11111111" */ + }; + + public static int vp8KeyFrameYModeProb[] = { 145, 156, 163, 128 }; + + // uv + public static int vp8UVModeTree[] = { -DC_PRED, 2, /* + * root: DC_PRED = "0", + * "1" subtree + */ + -V_PRED, 4, /* "1" subtree: V_PRED = "10", "11" subtree */ + -H_PRED, -TM_PRED /* "11" subtree: H_PRED = "110", TM_PRED = "111" */ + }; + public static int vp8KeyFrameUVModeProb[] = { 142, 114, 183 }; + + public static int vp8KeyFrameSubBlockModeProb[][][] = { + { { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, + { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, + { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, + { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, + { 144, 71, 10, 38, 171, 213, 144, 34, 26 }, + { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, + { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, + { 170, 46, 55, 19, 136, 160, 33, 206, 71 }, + { 63, 20, 8, 114, 114, 208, 12, 9, 226 }, + { 81, 40, 11, 96, 182, 84, 29, 16, 36 } }, + { { 134, 183, 89, 137, 98, 101, 106, 165, 148 }, + { 72, 187, 100, 130, 157, 111, 32, 75, 80 }, + { 66, 102, 167, 99, 74, 62, 40, 234, 128 }, + { 41, 53, 9, 178, 241, 141, 26, 8, 107 }, + { 104, 79, 12, 27, 217, 255, 87, 17, 7 }, + { 74, 43, 26, 146, 73, 166, 49, 23, 157 }, + { 65, 38, 105, 160, 51, 52, 31, 115, 128 }, + { 87, 68, 71, 44, 114, 51, 15, 186, 23 }, + { 47, 41, 14, 110, 182, 183, 21, 17, 194 }, + { 66, 45, 25, 102, 197, 189, 23, 18, 22 } }, + { { 88, 88, 147, 150, 42, 46, 45, 196, 205 }, + { 43, 97, 183, 117, 85, 38, 35, 179, 61 }, + { 39, 53, 200, 87, 26, 21, 43, 232, 171 }, + { 56, 34, 51, 104, 114, 102, 29, 93, 77 }, + { 107, 54, 32, 26, 51, 1, 81, 43, 31 }, + { 39, 28, 85, 171, 58, 165, 90, 98, 64 }, + { 34, 22, 116, 206, 23, 34, 43, 166, 73 }, + { 68, 25, 106, 22, 64, 171, 36, 225, 114 }, + { 34, 19, 21, 102, 132, 188, 16, 76, 124 }, + { 62, 18, 78, 95, 85, 57, 50, 48, 51 } }, + { { 193, 101, 35, 159, 215, 111, 89, 46, 111 }, + { 60, 148, 31, 172, 219, 228, 21, 18, 111 }, + { 112, 113, 77, 85, 179, 255, 38, 120, 114 }, + { 40, 42, 1, 196, 245, 209, 10, 25, 109 }, + { 100, 80, 8, 43, 154, 1, 51, 26, 71 }, + { 88, 43, 29, 140, 166, 213, 37, 43, 154 }, + { 61, 63, 30, 155, 67, 45, 68, 1, 209 }, + { 142, 78, 78, 16, 255, 128, 34, 197, 171 }, + { 41, 40, 5, 102, 211, 183, 4, 1, 221 }, + { 51, 50, 17, 168, 209, 192, 23, 25, 82 } }, + { { 125, 98, 42, 88, 104, 85, 117, 175, 82 }, + { 95, 84, 53, 89, 128, 100, 113, 101, 45 }, + { 75, 79, 123, 47, 51, 128, 81, 171, 1 }, + { 57, 17, 5, 71, 102, 57, 53, 41, 49 }, + { 115, 21, 2, 10, 102, 255, 166, 23, 6 }, + { 38, 33, 13, 121, 57, 73, 26, 1, 85 }, + { 41, 10, 67, 138, 77, 110, 90, 47, 114 }, + { 101, 29, 16, 10, 85, 128, 101, 196, 26 }, + { 57, 18, 10, 102, 102, 213, 34, 20, 43 }, + { 117, 20, 15, 36, 163, 128, 68, 1, 26 } }, + { { 138, 31, 36, 171, 27, 166, 38, 44, 229 }, + { 67, 87, 58, 169, 82, 115, 26, 59, 179 }, + { 63, 59, 90, 180, 59, 166, 93, 73, 154 }, + { 40, 40, 21, 116, 143, 209, 34, 39, 175 }, + { 57, 46, 22, 24, 128, 1, 54, 17, 37 }, + { 47, 15, 16, 183, 34, 223, 49, 45, 183 }, + { 46, 17, 33, 183, 6, 98, 15, 32, 183 }, + { 65, 32, 73, 115, 28, 128, 23, 128, 205 }, + { 40, 3, 9, 115, 51, 192, 18, 6, 223 }, + { 87, 37, 9, 115, 59, 77, 64, 21, 47 } }, + { { 104, 55, 44, 218, 9, 54, 53, 130, 226 }, + { 64, 90, 70, 205, 40, 41, 23, 26, 57 }, + { 54, 57, 112, 184, 5, 41, 38, 166, 213 }, + { 30, 34, 26, 133, 152, 116, 10, 32, 134 }, + { 75, 32, 12, 51, 192, 255, 160, 43, 51 }, + { 39, 19, 53, 221, 26, 114, 32, 73, 255 }, + { 31, 9, 65, 234, 2, 15, 1, 118, 73 }, + { 88, 31, 35, 67, 102, 85, 55, 186, 85 }, + { 56, 21, 23, 111, 59, 205, 45, 37, 192 }, + { 55, 38, 70, 124, 73, 102, 1, 34, 98 } }, + { { 102, 61, 71, 37, 34, 53, 31, 243, 192 }, + { 69, 60, 71, 38, 73, 119, 28, 222, 37 }, + { 68, 45, 128, 34, 1, 47, 11, 245, 171 }, + { 62, 17, 19, 70, 146, 85, 55, 62, 70 }, + { 75, 15, 9, 9, 64, 255, 184, 119, 16 }, + { 37, 43, 37, 154, 100, 163, 85, 160, 1 }, + { 63, 9, 92, 136, 28, 64, 32, 201, 85 }, + { 86, 6, 28, 5, 64, 255, 25, 248, 1 }, + { 56, 8, 17, 132, 137, 255, 55, 116, 128 }, + { 58, 15, 20, 82, 135, 57, 26, 121, 40 } }, + { { 164, 50, 31, 137, 154, 133, 25, 35, 218 }, + { 51, 103, 44, 131, 131, 123, 31, 6, 158 }, + { 86, 40, 64, 135, 148, 224, 45, 183, 128 }, + { 22, 26, 17, 131, 240, 154, 14, 1, 209 }, + { 83, 12, 13, 54, 192, 255, 68, 47, 28 }, + { 45, 16, 21, 91, 64, 222, 7, 1, 197 }, + { 56, 21, 39, 155, 60, 138, 23, 102, 213 }, + { 85, 26, 85, 85, 128, 128, 32, 146, 171 }, + { 18, 11, 7, 63, 144, 171, 4, 4, 246 }, + { 35, 27, 10, 146, 174, 171, 12, 26, 128 } }, + { { 190, 80, 35, 99, 180, 80, 126, 54, 45 }, + { 85, 126, 47, 87, 176, 51, 41, 20, 32 }, + { 101, 75, 128, 139, 118, 146, 116, 128, 85 }, + { 56, 41, 15, 176, 236, 85, 37, 9, 62 }, + { 146, 36, 19, 30, 171, 255, 97, 27, 20 }, + { 71, 30, 17, 119, 118, 255, 17, 18, 138 }, + { 101, 38, 60, 138, 55, 70, 43, 26, 142 }, + { 138, 45, 61, 62, 219, 1, 81, 188, 64 }, + { 32, 41, 20, 117, 151, 142, 20, 21, 163 }, + { 112, 19, 12, 61, 195, 128, 48, 4, 24 } } }; + + static int vp8CoefUpdateProbs[][][][] = new int[][][][] { + { + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 176, 246, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 223, 241, 252, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 249, 253, 253, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 244, 252, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 234, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 246, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 239, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 251, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 253, 255, 254, 255, 255, 255, 255, 255, + 255 }, + { 250, 255, 254, 255, 254, 255, 255, 255, 255, 255, + 255 }, + + { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } } }, + { + { + { 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 225, 252, 241, 253, 255, 255, 254, 255, 255, 255, + 255 }, + { 234, 250, 241, 250, 253, 255, 253, 254, 255, 255, + 255 } }, + { + { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 223, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 238, 253, 254, 254, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 249, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } } }, + { + { + { 186, 251, 250, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 234, 251, 244, 254, 255, 255, 255, 255, 255, 255, + 255 }, + { 251, 251, 243, 253, 254, 255, 254, 255, 255, 255, + 255 } }, + { + + { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 236, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 251, 253, 253, 254, 254, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } } }, + { + { + { 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 250, 254, 252, 254, 255, 255, 255, 255, 255, 255, + 255 }, + { 248, 254, 249, 253, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 253, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 246, 253, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 252, 254, 251, 254, 254, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 248, 254, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 253, 255, 254, 254, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 251, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 245, 251, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + + { 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 249, 255, 254, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } }, + { + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 }, + { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255 } } } }; + + public static int[][][][] getDefaultCoefProbs() { + int r[][][][] = new int[vp8DefaultCoefProbs.length][vp8DefaultCoefProbs[0].length][vp8DefaultCoefProbs[0][0].length][vp8DefaultCoefProbs[0][0][0].length]; + for (int i = 0; i < vp8DefaultCoefProbs.length; i++) + for (int j = 0; j < vp8DefaultCoefProbs[0].length; j++) + for (int k = 0; k < vp8DefaultCoefProbs[0][0].length; k++) + for (int l = 0; l < vp8DefaultCoefProbs[0][0][0].length; l++) + r[i][j][k][l] = vp8DefaultCoefProbs[i][j][k][l]; + return r; + } + + private static int vp8DefaultCoefProbs[][][][] = new int[][][][] { + { + { + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 } }, + { + { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, + 128 }, + { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, + 128 }, + { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, + 128 } }, + { + { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, + 128 }, + { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, + 128 }, + { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, + 128 } }, + { + { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, + 128 }, + { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, + 128 }, + { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, + 128 } }, + { + { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, + 128 }, + { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, + 128 }, + { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, + 128 } }, + { + + { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, + 128 }, + { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, + 128 }, + { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, + 128 } }, + { + { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, + 128 }, + { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, + 128 }, + { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, + 128 } }, + { + { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, + { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 } } }, + { + { + { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, + 62 }, + { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, + 1 }, + { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, + 128 } }, + { + { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, + 128 }, + { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, + 128 }, + { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, + 128 } }, + { + { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, + 128 }, + { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, + 128 }, + { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, + 128 } }, + { + { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, + 128 }, + { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, + 128 }, + { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, + 128 } }, + { + { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, + 128 }, + { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, + 128 }, + { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, + 128 } }, + { + { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, + 128 }, + { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, + 128 }, + { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, + 128 } }, + { + { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, + 128 }, + { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, + 128 }, + { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, + 128 } }, + { + { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128 }, + { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, + 128 }, + { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, + 128 } } }, + + { + { + { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, + 128 }, + { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, + 128 }, + { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, + 128 } }, + { + { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, + 128 }, + { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, + 128 }, + { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, + 128 } }, + { + { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, + 128 }, + { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, + 128 }, + { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, + 128 } }, + { + { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, + 128 }, + { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, + 128 }, + { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, + 128 } }, + { + { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, + 128 }, + { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, + 128 }, + { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, + 128 } }, + { + { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, + 128 } }, + { + { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, + 128 }, + { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, + 128 }, + { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, + 128 } }, + { + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128 } } }, + { + { + { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, + 255 }, + { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, + 128 }, + { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, + 128 } }, + { + { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, + 128 }, + { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, + 128 }, + { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, + 128 } }, + { + { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, + 128 }, + { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, + 128 }, + { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, + 128 } + + }, + { + { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, + 128 }, + { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, + 128 }, + { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, + 128 } }, + { + { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, + 128 }, + { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, + 128 }, + { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, + 128 } }, + { + { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, + 128 }, + { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, + 128 }, + { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, + 128 } }, + { + { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, + 128 }, + { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, + 128 }, + { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, + 128 } }, + { + { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, + { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, + 128 }, + { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, + 128 } } } }; + + public static final int DCT_0 = 0; /* value 0 */ + public static final int DCT_1 = 1; /* 1 */ + public static final int DCT_2 = 2; /* 2 */ + public static final int DCT_3 = 3; /* 3 */ + public static final int DCT_4 = 4; /* 4 */ + public static final int dct_cat1 = 5; /* range 5 - 6 (size 2) */ + public static final int dct_cat2 = 6; /* 7 - 10 (4) */ + public static final int dct_cat3 = 7; /* 11 - 18 (8) */ + public static final int dct_cat4 = 8; /* 19 - 34 (16) */ + public static final int dct_cat5 = 9; /* 35 - 66 (32) */ + public static final int dct_cat6 = 10; /* 67 - 2048 (1982) */ + public static final int dct_eob = 11; /* end of block */ + + public static final int vp8CoefTree[] = { -dct_eob, 2, /* eob = "0" */ + -DCT_0, 4, /* 0 = "10" */ + -DCT_1, 6, /* 1 = "110" */ + 8, 12, -DCT_2, 10, /* 2 = "11100" */ + -DCT_3, -DCT_4, /* 3 = "111010", 4 = "111011" */ + 14, 16, -dct_cat1, -dct_cat2, /* cat1 = "111100", cat2 = "111101" */ + 18, 20, -dct_cat3, -dct_cat4, /* cat3 = "1111100", cat4 = "1111101" */ + -dct_cat5, -dct_cat6 /* cat4 = "1111110", cat4 = "1111111" */ + }; + + public static final int vp8CoefTreeNoEOB[] = { + // -dct_eob, 2, /* eob = "0" */ + -DCT_0, 4, /* 0 = "10" */ + -DCT_1, 6, /* 1 = "110" */ + 8, 12, -DCT_2, 10, /* 2 = "11100" */ + -DCT_3, -DCT_4, /* 3 = "111010", 4 = "111011" */ + 14, 16, -dct_cat1, -dct_cat2, /* cat1 = "111100", cat2 = "111101" */ + 18, 20, -dct_cat3, -dct_cat4, /* cat3 = "1111100", cat4 = "1111101" */ + -dct_cat5, -dct_cat6 /* cat4 = "1111110", cat4 = "1111111" */ + }; + + public final static int Pcat1[] = { 159, 0 }; + public final static int Pcat2[] = { 165, 145, 0 }; + public final static int Pcat3[] = { 173, 148, 140, 0 }; + public final static int Pcat4[] = { 176, 155, 140, 135, 0 }; + public final static int Pcat5[] = { 180, 157, 141, 134, 130, 0 }; + public final static int Pcat6[] = { 254, 254, 243, 230, 196, 177, 153, 140, + 133, 130, 129, 0 }; + public static final int vp8CoefBands[] = { 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, + 6, 6, 6, 6, 7 }; + public static final int vp8defaultZigZag1d[] = { 0, 1, 4, 8, 5, 2, 3, 6, 9, + 12, 13, 10, 7, 11, 14, 15, }; + + public static final int vp8dxBitreaderNorm[] = { 0, 7, 6, 6, 5, 5, 5, 5, 4, + 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0 }; + + public static final int vp8DcQLookup[] = { 4, 5, 6, 7, 8, 9, 10, 10, 11, + 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, + 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, + 114, 116, 118, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, + 143, 145, 148, 151, 154, 157, }; + + public static final int vp8AcQLookup[] = { 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, + 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, + 102, 104, 106, 108, 110, 112, 114, 116, 119, 122, 125, 128, 131, + 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, + 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, + 225, 229, 234, 239, 245, 249, 254, 259, 264, 269, 274, 279, 284, }; + + public static String toHex(int c) { + String r = new String(); + r = String.format("%1$#x ", c); + return r; + } + + // clamp between 0 and value + public static int clamp(int input, int value) { + int r = input; + if (r > value) + r = value; + if (r < 0) + r = 0; + return r; + } + +} diff --git a/src/net/sourceforge/plantuml/webp/IDCT.java b/src/net/sourceforge/plantuml/webp/IDCT.java new file mode 100644 index 000000000..c48b631e5 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/IDCT.java @@ -0,0 +1,138 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +public class IDCT { + /* IDCT implementation */ + private static final int cospi8sqrt2minus1 = 20091; + + private static final int sinpi8sqrt2 = 35468; + + public static int[][] idct4x4llm(int input[]) { + + int i; + int a1, b1, c1, d1; + int offset = 0; + + int[] output = new int[16]; + int temp1, temp2; + + for (i = 0; i < 4; i++) { + a1 = input[offset + 0] + input[offset + 8]; + b1 = input[offset + 0] - input[offset + 8]; + + temp1 = (input[offset + 4] * sinpi8sqrt2) >> 16; + temp2 = input[offset + 12] + + ((input[offset + 12] * cospi8sqrt2minus1) >> 16); + + c1 = temp1 - temp2; + + temp1 = input[offset + 4] + + ((input[offset + 4] * cospi8sqrt2minus1) >> 16); + temp2 = (input[offset + 12] * sinpi8sqrt2) >> 16; + d1 = temp1 + temp2; + + output[offset + (0 * 4)] = a1 + d1; + output[offset + (3 * 4)] = a1 - d1; + output[offset + (1 * 4)] = b1 + c1; + output[offset + (2 * 4)] = b1 - c1; + + offset++; + } + + int diffo = 0; + int diff[][] = new int[4][4]; + offset = 0; + for (i = 0; i < 4; i++) { + a1 = output[(offset * 4) + 0] + output[(offset * 4) + 2]; + b1 = output[(offset * 4) + 0] - output[(offset * 4) + 2]; + + temp1 = (output[(offset * 4) + 1] * sinpi8sqrt2) >> 16; + temp2 = output[(offset * 4) + 3] + + ((output[(offset * 4) + 3] * cospi8sqrt2minus1) >> 16); + c1 = temp1 - temp2; + + temp1 = output[(offset * 4) + 1] + + ((output[(offset * 4) + 1] * cospi8sqrt2minus1) >> 16); + temp2 = (output[(offset * 4) + 3] * sinpi8sqrt2) >> 16; + d1 = temp1 + temp2; + + output[(offset * 4) + 0] = (a1 + d1 + 4) >> 3; + output[(offset * 4) + 3] = (a1 - d1 + 4) >> 3; + output[(offset * 4) + 1] = (b1 + c1 + 4) >> 3; + output[(offset * 4) + 2] = (b1 - c1 + 4) >> 3; + + diff[0][diffo] = (a1 + d1 + 4) >> 3; + diff[3][diffo] = (a1 - d1 + 4) >> 3; + diff[1][diffo] = (b1 + c1 + 4) >> 3; + diff[2][diffo] = (b1 - c1 + 4) >> 3; + + offset++; + diffo++; + } + + return diff; + + } + + public static int[][] iwalsh4x4(int input[]) { + int i; + int a1, b1, c1, d1; + int a2, b2, c2, d2; + + int[] output = new int[16]; + int diff[][] = new int[4][4]; + int offset = 0; + for (i = 0; i < 4; i++) { + a1 = input[offset + 0] + input[offset + 12]; + b1 = input[offset + 4] + input[offset + 8]; + c1 = input[offset + 4] - input[offset + 8]; + d1 = input[offset + 0] - input[offset + 12]; + + output[offset + 0] = a1 + b1; + output[offset + 4] = c1 + d1; + output[offset + 8] = a1 - b1; + output[offset + 12] = d1 - c1; + offset++; + } + + offset = 0; + + for (i = 0; i < 4; i++) { + a1 = output[offset + 0] + output[offset + 3]; + b1 = output[offset + 1] + output[offset + 2]; + c1 = output[offset + 1] - output[offset + 2]; + d1 = output[offset + 0] - output[offset + 3]; + + a2 = a1 + b1; + b2 = c1 + d1; + c2 = a1 - b1; + d2 = d1 - c1; + output[offset + 0] = (a2 + 3) >> 3; + output[offset + 1] = (b2 + 3) >> 3; + output[offset + 2] = (c2 + 3) >> 3; + output[offset + 3] = (d2 + 3) >> 3; + diff[0][i] = (a2 + 3) >> 3; + diff[1][i] = (b2 + 3) >> 3; + diff[2][i] = (c2 + 3) >> 3; + diff[3][i] = (d2 + 3) >> 3; + offset += 4; + } + + return diff; + + } +} diff --git a/src/net/sourceforge/plantuml/webp/LoopFilter.java b/src/net/sourceforge/plantuml/webp/LoopFilter.java new file mode 100644 index 000000000..24176d952 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/LoopFilter.java @@ -0,0 +1,622 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +public class LoopFilter { + private static int abs(int v) { + return v < 0 ? -v : v; + } + + private static int c(int v) { + // return (int) (v < -128 ? -128 : (v > 127 ? v : 127)); + int r = v; + if (v < -128) + r = -128; + if (v > 127) + r = 127; + return r; + } + + private static int common_adjust(boolean use_outer_taps, /* + * filter is 2 or 4 + * taps wide + */ + Segment seg) { + int p1 = u2s(seg.P1); /* retrieve and convert all 4 pixels */ + int p0 = u2s(seg.P0); + int q0 = u2s(seg.Q0); + int q1 = u2s(seg.Q1); + + /* + * Disregarding clamping, when "use_outer_taps" is false, "a" is + * 3*(q0-p0). Since we are about to divide "a" by 8, in this case we end + * up multiplying the edge difference by 5/8. When "use_outer_taps" is + * true (as for the simple filter), "a" is p1 - 3*p0 + 3*q0 - q1, which + * can be thought of as a refinement of 2*(q0 - p0) and the adjustment + * is something like (q0 - p0)/4. + */ + int a = c((use_outer_taps ? c(p1 - q1) : 0) + 3 * (q0 - p0)); + /* + * b is used to balance the rounding of a/8 in the case where the + * "fractional" part "f" of a/8 is exactly 1/2. + */ + int b = (c(a + 3)) >> 3; + /* + * Divide a by 8, rounding up when f >= 1/2. Although not strictly part + * of the "C" language, the right-shift is assumed to propagate the sign + * bit. + */ + a = c(a + 4) >> 3; + /* Subtract "a" from q0, "bringing it closer" to p0. */ + seg.Q0 = s2u(q0 - a); + /* + * Add "a" (with adjustment "b") to p0, "bringing it closer" to q0. The + * clamp of "a+b", while present in the reference decoder, is + * superfluous; we have -16 <= a <= 15 at this point. + */ + seg.P0 = s2u(p0 + b); + + return a; + } + + /* + * All functions take (among other things) a segment (of length at most 4 + + * 4 = 8) symmetrically straddling an edge. The pixel values (or pointers) + * are always given in order, from the "beforemost" to the "aftermost". So, + * for a horizontal edge (written "|"), an 8-pixel segment would be ordered + * p3 p2 p1 p0 | q0 q1 q2 q3. + */ + /* + * Filtering is disabled if the difference between any two adjacent + * "interior" pixels in the 8-pixel segment exceeds the relevant threshold + * (I). A more complex thresholding calculation is done for the group of + * four pixels that straddle the edge, in line with the calculation in + * simple_segment() above. + */ + public static boolean filter_yes(int I, /* limit on interior differences */ + int E, /* limit at the edge */ + int p3, int p2, int p1, int p0, /* pixels before edge */ + int q0, int q1, int q2, int q3 /* pixels after edge */ + ) { + return (abs(p0 - q0) * 2 + abs(p1 - q1) / 2) <= E && abs(p3 - p2) <= I + && abs(p2 - p1) <= I && abs(p1 - p0) <= I && abs(q3 - q2) <= I + && abs(q2 - q1) <= I && abs(q1 - q0) <= I; + } + + private static Segment getSegH(SubBlock rsb, SubBlock lsb, int a) { + Segment seg = new Segment(); + int[][] rdest = rsb.getDest(); + int[][] ldest = lsb.getDest(); + seg.P0 = ldest[3][a]; + seg.P1 = ldest[2][a]; + seg.P2 = ldest[1][a]; + seg.P3 = ldest[0][a]; + seg.Q0 = rdest[0][a]; + seg.Q1 = rdest[1][a]; + seg.Q2 = rdest[2][a]; + seg.Q3 = rdest[3][a]; + return seg; + } + + private static Segment getSegV(SubBlock bsb, SubBlock tsb, int a) { + Segment seg = new Segment(); + int[][] bdest = bsb.getDest(); + int[][] tdest = tsb.getDest(); + + seg.P0 = tdest[a][3]; + seg.P1 = tdest[a][2]; + seg.P2 = tdest[a][1]; + seg.P3 = tdest[a][0]; + seg.Q0 = bdest[a][0]; + seg.Q1 = bdest[a][1]; + seg.Q2 = bdest[a][2]; + seg.Q3 = bdest[a][3]; + return seg; + } + + /* + * Filtering is altered if (at least) one of the differences on either side + * of the edge exceeds a threshold (we have "high edge variance"). + */ + public static boolean hev(int threshold, int p1, int p0, /* + * pixels before + * edge + */ + int q0, int q1 /* pixels after edge */ + ) { + return abs(p1 - p0) > threshold || abs(q1 - q0) > threshold; + } + + public static void loopFilter(VP8Frame frame) { + frame.fireLFProgressUpdate(0); + if (frame.getFilterType() == 2) { + loopFilterUV(frame); + frame.fireLFProgressUpdate(50); + loopFilterY(frame); + } else if (frame.getFilterType() == 1) { + loopFilterSimple(frame); + } + frame.fireLFProgressUpdate(100); + } + + public static void loopFilterSimple(VP8Frame frame) { + for (int y = 0; y < frame.getMacroBlockRows(); y++) { + frame.fireLFProgressUpdate((100.0f * ((float) (y + 1) / (float) (frame + .getMacroBlockRows())))); + for (int x = 0; x < frame.getMacroBlockCols(); x++) { + // System.out.println("x: "+x+" y: "+y); + MacroBlock rmb = frame.getMacroBlock(x, y); + MacroBlock bmb = frame.getMacroBlock(x, y); + + int loop_filter_level = rmb.getFilterLevel(); + if(loop_filter_level!=0) { + int interior_limit = rmb.getFilterLevel(); + + int sharpnessLevel = frame.getSharpnessLevel(); + if (sharpnessLevel > 0) { + interior_limit >>= sharpnessLevel > 4 ? 2 : 1; + if (interior_limit > 9 - sharpnessLevel) + interior_limit = 9 - sharpnessLevel; + } + if (interior_limit == 0) + interior_limit = 1; + + /* Luma and Chroma use the same inter-subblock edge limit */ + int sub_bedge_limit = (loop_filter_level * 2) + interior_limit; + if(sub_bedge_limit < 1) + sub_bedge_limit = 1; + + /* Luma and Chroma use the same inter-macroblock edge limit */ + int mbedge_limit = sub_bedge_limit+4; + + // left + if (x > 0) { + MacroBlock lmb = frame.getMacroBlock(x - 1, y); + for (int b = 0; b < 4; b++) { + SubBlock rsb = rmb.getSubBlock(SubBlock.PLANE.Y1, 0, b); + SubBlock lsb = lmb.getSubBlock(SubBlock.PLANE.Y1, 3, b); + for (int a = 0; a < 4; a++) { + Segment seg = getSegH(rsb, lsb, a); + // MBfilter(hev_threshold, interior_limit, + // mbedge_limit, seg); + // System.out.println(mbedge_limit); + simple_segment(mbedge_limit, seg); + setSegH(rsb, lsb, seg, a); + } + } + } + + // sb left + if (!rmb.isSkip_inner_lf()) { + + for (int a = 1; a < 4; a++) { + for (int b = 0; b < 4; b++) { + SubBlock lsb = rmb.getSubBlock(SubBlock.PLANE.Y1, + a - 1, b); + SubBlock rsb = rmb.getSubBlock(SubBlock.PLANE.Y1, + a, b); + for (int c = 0; c < 4; c++) { + // System.out.println("sbleft a:"+a+" b:"+b+" c:"+c); + Segment seg = getSegH(rsb, lsb, c); + simple_segment(sub_bedge_limit, seg); + // System.out.println(sub_bedge_limit); + // subblock_filter(hev_threshold,interior_limit,sub_bedge_limit, + // seg); + setSegH(rsb, lsb, seg, c); + } + } + } + } + + // top + if (y > 0) { + MacroBlock tmb = frame.getMacroBlock(x, y - 1); + for (int b = 0; b < 4; b++) { + SubBlock tsb = tmb.getSubBlock(SubBlock.PLANE.Y1, b, 3); + SubBlock bsb = bmb.getSubBlock(SubBlock.PLANE.Y1, b, 0); + for (int a = 0; a < 4; a++) { + Segment seg = getSegV(bsb, tsb, a); + simple_segment(mbedge_limit, seg); + // System.out.println(mbedge_limit); + // MBfilter(hev_threshold, interior_limit, + // mbedge_limit, seg); + setSegV(bsb, tsb, seg, a); + } + } + } + + // sb top + if (!rmb.isSkip_inner_lf()) { + for (int a = 1; a < 4; a++) { + for (int b = 0; b < 4; b++) { + SubBlock tsb = bmb.getSubBlock(SubBlock.PLANE.Y1, + b, a - 1); + SubBlock bsb = bmb.getSubBlock(SubBlock.PLANE.Y1, + b, a); + for (int c = 0; c < 4; c++) { + // System.out.println("sbtop"); + Segment seg = getSegV(bsb, tsb, c); + simple_segment(sub_bedge_limit, seg); + // System.out.println(sub_bedge_limit); + // subblock_filter(hev_threshold,interior_limit,sub_bedge_limit, + // seg); + setSegV(bsb, tsb, seg, c); + } + } + } + } + } + } + } + } + + public static void loopFilterUV(VP8Frame frame) { + for (int y = 0; y < frame.getMacroBlockRows(); y++) { + frame.fireLFProgressUpdate((100.0f * ((float) (y + 1) / (float) (frame + .getMacroBlockRows()))) / 2); + for (int x = 0; x < frame.getMacroBlockCols(); x++) { + MacroBlock rmb = frame.getMacroBlock(x, y); + MacroBlock bmb = frame.getMacroBlock(x, y); + int sharpnessLevel = frame.getSharpnessLevel(); + int loop_filter_level = rmb.getFilterLevel(); + if(loop_filter_level!=0) { + int interior_limit = rmb.getFilterLevel(); + if (sharpnessLevel > 0) { + interior_limit >>= sharpnessLevel > 4 ? 2 : 1; + if (interior_limit > 9 - sharpnessLevel) + interior_limit = 9 - sharpnessLevel; + } + if (interior_limit == 0) + interior_limit = 1; + + int hev_threshold = 0; + if (frame.getFrameType() == 0) /* current frame is a key frame */ + { + if (loop_filter_level >= 40) + hev_threshold = 2; + else if (loop_filter_level >= 15) + hev_threshold = 1; + } else /* current frame is an interframe */ + { + if (loop_filter_level >= 40) + hev_threshold = 3; + else if (loop_filter_level >= 20) + hev_threshold = 2; + else if (loop_filter_level >= 15) + hev_threshold = 1; + } + + /* Luma and Chroma use the same inter-macroblock edge limit */ + int mbedge_limit = ((loop_filter_level + 2) * 2) + + interior_limit; + /* Luma and Chroma use the same inter-subblock edge limit */ + int sub_bedge_limit = (loop_filter_level * 2) + interior_limit; + + if (x > 0) { + MacroBlock lmb = frame.getMacroBlock(x - 1, y); + for (int b = 0; b < 2; b++) { + SubBlock rsbU = rmb.getSubBlock(SubBlock.PLANE.U, 0, b); + SubBlock lsbU = lmb.getSubBlock(SubBlock.PLANE.U, 1, b); + SubBlock rsbV = rmb.getSubBlock(SubBlock.PLANE.V, 0, b); + SubBlock lsbV = lmb.getSubBlock(SubBlock.PLANE.V, 1, b); + for (int a = 0; a < 4; a++) { + Segment seg = getSegH(rsbU, lsbU, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegH(rsbU, lsbU, seg, a); + seg = getSegH(rsbV, lsbV, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegH(rsbV, lsbV, seg, a); + + } + } + } + // sb left + + if (!rmb.isSkip_inner_lf()) { + for (int a = 1; a < 2; a++) { + for (int b = 0; b < 2; b++) { + SubBlock lsbU = rmb.getSubBlock(SubBlock.PLANE.U, + a - 1, b); + SubBlock rsbU = rmb.getSubBlock(SubBlock.PLANE.U, + a, b); + SubBlock lsbV = rmb.getSubBlock(SubBlock.PLANE.V, + a - 1, b); + SubBlock rsbV = rmb.getSubBlock(SubBlock.PLANE.V, + a, b); + for (int c = 0; c < 4; c++) { + Segment seg = getSegH(rsbU, lsbU, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegH(rsbU, lsbU, seg, c); + seg = getSegH(rsbV, lsbV, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegH(rsbV, lsbV, seg, c); + } + } + } + } + // top + if (y > 0) { + MacroBlock tmb = frame.getMacroBlock(x, y - 1); + for (int b = 0; b < 2; b++) { + SubBlock tsbU = tmb.getSubBlock(SubBlock.PLANE.U, b, 1); + SubBlock bsbU = bmb.getSubBlock(SubBlock.PLANE.U, b, 0); + SubBlock tsbV = tmb.getSubBlock(SubBlock.PLANE.V, b, 1); + SubBlock bsbV = bmb.getSubBlock(SubBlock.PLANE.V, b, 0); + for (int a = 0; a < 4; a++) { + // System.out.println("l"); + Segment seg = getSegV(bsbU, tsbU, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegV(bsbU, tsbU, seg, a); + seg = getSegV(bsbV, tsbV, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegV(bsbV, tsbV, seg, a); + } + } + } + // sb top + + if (!rmb.isSkip_inner_lf()) { + for (int a = 1; a < 2; a++) { + for (int b = 0; b < 2; b++) { + SubBlock tsbU = bmb.getSubBlock(SubBlock.PLANE.U, + b, a - 1); + SubBlock bsbU = bmb.getSubBlock(SubBlock.PLANE.U, + b, a); + SubBlock tsbV = bmb.getSubBlock(SubBlock.PLANE.V, + b, a - 1); + SubBlock bsbV = bmb.getSubBlock(SubBlock.PLANE.V, + b, a); + for (int c = 0; c < 4; c++) { + Segment seg = getSegV(bsbU, tsbU, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegV(bsbU, tsbU, seg, c); + seg = getSegV(bsbV, tsbV, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegV(bsbV, tsbV, seg, c); + } + } + } + } + } + } + } + } + + public static void loopFilterY(VP8Frame frame) { + for (int y = 0; y < frame.getMacroBlockRows(); y++) { + frame.fireLFProgressUpdate(50 + (100.0f * ((float) (y + 1) / (float) (frame + .getMacroBlockRows()))) / 2); + for (int x = 0; x < frame.getMacroBlockCols(); x++) { + MacroBlock rmb = frame.getMacroBlock(x, y); + MacroBlock bmb = frame.getMacroBlock(x, y); + int sharpnessLevel = frame.getSharpnessLevel(); + int loop_filter_level = rmb.getFilterLevel(); + + if(loop_filter_level!=0) { + int interior_limit = rmb.getFilterLevel(); + + if (sharpnessLevel > 0) { + interior_limit >>= sharpnessLevel > 4 ? 2 : 1; + if (interior_limit > 9 - sharpnessLevel) + interior_limit = 9 - sharpnessLevel; + } + if (interior_limit == 0) + interior_limit = 1; + + int hev_threshold = 0; + if (frame.getFrameType() == 0) /* current frame is a key frame */ + { + if (loop_filter_level >= 40) + hev_threshold = 2; + else if (loop_filter_level >= 15) + hev_threshold = 1; + } else /* current frame is an interframe */ + { + if (loop_filter_level >= 40) + hev_threshold = 3; + else if (loop_filter_level >= 20) + hev_threshold = 2; + else if (loop_filter_level >= 15) + hev_threshold = 1; + } + + /* Luma and Chroma use the same inter-macroblock edge limit */ + int mbedge_limit = ((loop_filter_level + 2) * 2) + + interior_limit; + /* Luma and Chroma use the same inter-subblock edge limit */ + int sub_bedge_limit = (loop_filter_level * 2) + interior_limit; + + // left + if (x > 0) { + MacroBlock lmb = frame.getMacroBlock(x - 1, y); + for (int b = 0; b < 4; b++) { + SubBlock rsb = rmb.getSubBlock(SubBlock.PLANE.Y1, 0, b); + SubBlock lsb = lmb.getSubBlock(SubBlock.PLANE.Y1, 3, b); + for (int a = 0; a < 4; a++) { + Segment seg = getSegH(rsb, lsb, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegH(rsb, lsb, seg, a); + } + } + } + // sb left + if (!rmb.isSkip_inner_lf()) { + for (int a = 1; a < 4; a++) { + for (int b = 0; b < 4; b++) { + SubBlock lsb = rmb.getSubBlock(SubBlock.PLANE.Y1, + a - 1, b); + SubBlock rsb = rmb.getSubBlock(SubBlock.PLANE.Y1, + a, b); + for (int c = 0; c < 4; c++) { + // System.out.println("sbleft a:"+a+" b:"+b+" c:"+c); + Segment seg = getSegH(rsb, lsb, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegH(rsb, lsb, seg, c); + } + } + } + } + // top + if (y > 0) { + MacroBlock tmb = frame.getMacroBlock(x, y - 1); + for (int b = 0; b < 4; b++) { + SubBlock tsb = tmb.getSubBlock(SubBlock.PLANE.Y1, b, 3); + SubBlock bsb = bmb.getSubBlock(SubBlock.PLANE.Y1, b, 0); + for (int a = 0; a < 4; a++) { + Segment seg = getSegV(bsb, tsb, a); + MBfilter(hev_threshold, interior_limit, + mbedge_limit, seg); + setSegV(bsb, tsb, seg, a); + } + } + } + // sb top + if (!rmb.isSkip_inner_lf()) { + for (int a = 1; a < 4; a++) { + for (int b = 0; b < 4; b++) { + SubBlock tsb = bmb.getSubBlock(SubBlock.PLANE.Y1, + b, a - 1); + SubBlock bsb = bmb.getSubBlock(SubBlock.PLANE.Y1, + b, a); + for (int c = 0; c < 4; c++) { + Segment seg = getSegV(bsb, tsb, c); + subblock_filter(hev_threshold, interior_limit, + sub_bedge_limit, seg); + setSegV(bsb, tsb, seg, c); + } + } + } + } + } + } + } + } + + static void MBfilter(int hev_threshold, /* detect high edge variance */ + int interior_limit, /* possibly disable filter */ + int edge_limit, Segment seg) { + int p3 = u2s(seg.P3), p2 = u2s(seg.P2), p1 = u2s(seg.P1), p0 = u2s(seg.P0); + int q0 = u2s(seg.Q0), q1 = u2s(seg.Q1), q2 = u2s(seg.Q2), q3 = u2s(seg.Q3); + if (filter_yes(interior_limit, edge_limit, q3, q2, q1, q0, p0, p1, p2, + p3)) { + if (!hev(hev_threshold, p1, p0, q0, q1)) { + // Same as the initial calculation in "common_adjust", + // w is something like twice the edge difference + int w = c(c(p1 - q1) + 3 * (q0 - p0)); + + // 9/64 is approximately 9/63 = 1/7 and 1<<7 = 128 = 2*64. + // So this a, used to adjust the pixels adjacent to the edge, + // is something like 3/7 the edge difference. + int a = (27 * w + 63) >> 7; + + seg.Q0 = s2u(q0 - a); + seg.P0 = s2u(p0 + a); + // Next two are adjusted by 2/7 the edge difference + a = (18 * w + 63) >> 7; + // System.out.println("a: "+a); + seg.Q1 = s2u(q1 - a); + seg.P1 = s2u(p1 + a); + // Last two are adjusted by 1/7 the edge difference + a = (9 * w + 63) >> 7; + seg.Q2 = s2u(q2 - a); + seg.P2 = s2u(p2 + a); + } else + // if hev, do simple filter + common_adjust(true, seg); // using outer taps + } + } + + /* Clamp, then convert signed number back to pixel value. */ + private static int s2u(int v) { + return (int) (c(v) + 128); + } + + private static void setSegH(SubBlock rsb, SubBlock lsb, Segment seg, int a) { + int[][] rdest = rsb.getDest(); + int[][] ldest = lsb.getDest(); + ldest[3][a] = seg.P0; + ldest[2][a] = seg.P1; + ldest[1][a] = seg.P2; + ldest[0][a] = seg.P3; + rdest[0][a] = seg.Q0; + rdest[1][a] = seg.Q1; + rdest[2][a] = seg.Q2; + rdest[3][a] = seg.Q3; + + } + + private static void setSegV(SubBlock bsb, SubBlock tsb, Segment seg, int a) { + int[][] bdest = bsb.getDest(); + int[][] tdest = tsb.getDest(); + tdest[a][3] = seg.P0; + tdest[a][2] = seg.P1; + tdest[a][1] = seg.P2; + tdest[a][0] = seg.P3; + bdest[a][0] = seg.Q0; + bdest[a][1] = seg.Q1; + bdest[a][2] = seg.Q2; + bdest[a][3] = seg.Q3; + + } + + private static void simple_segment(int edge_limit, /* + * do nothing if edge + * difference exceeds + * limit + */ + Segment seg) { + if ((abs(seg.P0 - seg.Q0) * 2 + abs(seg.P1 - seg.Q1) / 2) <= edge_limit) { + common_adjust(true, seg); /* use outer taps */ + } else { + } + } + + public static void subblock_filter(int hev_threshold, /* + * detect high edge + * variance + */ + int interior_limit, /* possibly disable filter */ + int edge_limit, Segment seg) { + int p3 = u2s(seg.P3), p2 = u2s(seg.P2), p1 = u2s(seg.P1), p0 = u2s(seg.P0); + int q0 = u2s(seg.Q0), q1 = u2s(seg.Q1), q2 = u2s(seg.Q2), q3 = u2s(seg.Q3); + if (filter_yes(interior_limit, edge_limit, q3, q2, q1, q0, p0, p1, p2, + p3)) { + boolean hv = hev(hev_threshold, p1, p0, q0, q1); + int a = (common_adjust(hv, seg) + 1) >> 1; + if (!hv) { + seg.Q1 = s2u(q1 - a); + seg.P1 = s2u(p1 + a); + } + } else { + } + + } + + /* Convert pixel value (0 <= v <= 255) to an 8-bit signed number. */ + private static int u2s(int v) { + return (int) (v - 128); + } +} diff --git a/src/net/sourceforge/plantuml/webp/MacroBlock.java b/src/net/sourceforge/plantuml/webp/MacroBlock.java new file mode 100644 index 000000000..94c6288dc --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/MacroBlock.java @@ -0,0 +1,764 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +import java.io.IOException; + +public class MacroBlock { + + private int filterLevel; + private boolean keepDebugInfo = false; + private int segmentId; + private int skipCoeff; + private boolean skipInnerLoopFilter; + SubBlock[][] uSubBlocks; + private int uVFilterLevel; + + private int uvMode; + SubBlock[][] vSubBlocks; + private int x, y; + SubBlock y2SubBlock; + private int yMode; + SubBlock[][] ySubBlocks; + + MacroBlock(int x, int y, boolean keepDebugInfo) { + this.x = x - 1; + this.y = y - 1; + this.keepDebugInfo = keepDebugInfo; + + ySubBlocks = new SubBlock[4][4]; + uSubBlocks = new SubBlock[2][2]; + vSubBlocks = new SubBlock[2][2]; + SubBlock above = null; + SubBlock left = null; + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + left = null; + above = null; + if (j > 0) + left = ySubBlocks[j - 1][i]; + if (i > 0) + above = ySubBlocks[j][i - 1]; + ySubBlocks[j][i] = new SubBlock(this, above, left, + SubBlock.PLANE.Y1); + } + } + + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + left = null; + above = null; + if (j > 0) + left = uSubBlocks[j - 1][i]; + if (i > 0) + above = uSubBlocks[j][i - 1]; + uSubBlocks[j][i] = new SubBlock(this, above, left, + SubBlock.PLANE.U); + } + } + + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + left = null; + above = null; + if (j > 0) + left = vSubBlocks[j - 1][i]; + if (i > 0) + above = vSubBlocks[j][i - 1]; + vSubBlocks[j][i] = new SubBlock(this, above, left, + SubBlock.PLANE.V); + } + } + y2SubBlock = new SubBlock(this, null, null, SubBlock.PLANE.Y2); + + } + + public void decodeMacroBlock(VP8Frame frame) throws IOException { + MacroBlock mb = this; + if (mb.getSkipCoeff() > 0) { + if (mb.getYMode() != Globals.B_PRED) + mb.skipInnerLoopFilter = true; + } else if (mb.getYMode() != Globals.B_PRED) { + decodeMacroBlockTokens(frame, true); + } else { + decodeMacroBlockTokens(frame, false); + } + } + + private void decodeMacroBlockTokens(VP8Frame frame, boolean withY2) + throws IOException { + skipInnerLoopFilter = false; + if (withY2) { + skipInnerLoopFilter = skipInnerLoopFilter + | decodePlaneTokens(frame, 1, SubBlock.PLANE.Y2, false); + } + skipInnerLoopFilter = skipInnerLoopFilter + | decodePlaneTokens(frame, 4, SubBlock.PLANE.Y1, withY2); + skipInnerLoopFilter = skipInnerLoopFilter + | decodePlaneTokens(frame, 2, SubBlock.PLANE.U, false); + skipInnerLoopFilter = skipInnerLoopFilter + | decodePlaneTokens(frame, 2, SubBlock.PLANE.V, false); + skipInnerLoopFilter = !skipInnerLoopFilter; + } + + private boolean decodePlaneTokens(VP8Frame frame, int dimentions, + SubBlock.PLANE plane, boolean withY2) throws IOException { + MacroBlock mb = this; + boolean r = false; + for (int y = 0; y < dimentions; y++) { + for (int x = 0; x < dimentions; x++) { + int L = 0; + int A = 0; + int lc = 0; + SubBlock sb = mb.getSubBlock(plane, x, y); + SubBlock left = frame.getLeftSubBlock(sb, plane); + SubBlock above = frame.getAboveSubBlock(sb, plane); + if (left.hasNoZeroToken()) { + + L = 1; + } + + lc += L; + + if (above.hasNoZeroToken()) { + + A = 1; + } + + lc += A; + sb.decodeSubBlock(frame.getTokenBoolDecoder(), + frame.getCoefProbs(), lc, + SubBlock.planeToType(plane, withY2), withY2); + r = r | sb.hasNoZeroToken(); + } + } + return r; + } + + public void dequantMacroBlock(VP8Frame frame) { + MacroBlock mb = this; + if (mb.getYMode() != Globals.B_PRED) { + SubBlock sb = mb.getY2SubBlock(); + int acQValue = frame.getSegmentQuants().getSegQuants()[this.getSegmentId()] + .getY2ac_delta_q(); + int dcQValue = frame.getSegmentQuants().getSegQuants()[this.getSegmentId()].getY2dc(); + + int input[] = new int[16]; + input[0] = sb.getTokens()[0] * dcQValue; + + for (int x = 1; x < 16; x++) + input[x] = sb.getTokens()[x] * acQValue; + + sb.setDiff(IDCT.iwalsh4x4(input)); + for (int j = 0; j < 4; j++) { + for (int i = 0; i < 4; i++) { + SubBlock ysb = mb.getYSubBlock(i, j); + ysb.dequantSubBlock(frame, sb.getDiff()[i][j]); + } + } + + mb.predictY(frame); + mb.predictUV(frame); + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + SubBlock uvsb = mb.getUSubBlock(j, i); + uvsb.dequantSubBlock(frame, null); + uvsb = mb.getVSubBlock(i, j); + uvsb.dequantSubBlock(frame, null); + } + } + mb.recon_mb(); + + } else { + for (int j = 0; j < 4; j++) { + for (int i = 0; i < 4; i++) { + SubBlock sb = mb.getYSubBlock(i, j); + sb.dequantSubBlock(frame, null); + sb.predict(frame); + sb.reconstruct(); + } + } + mb.predictUV(frame); + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + SubBlock sb = mb.getUSubBlock(j, i); + sb.dequantSubBlock(frame, null); + sb.reconstruct(); + } + } + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + SubBlock sb = mb.getVSubBlock(j, i); + sb.dequantSubBlock(frame, null); + sb.reconstruct(); + } + } + } + } + + public void drawDebug() { + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + SubBlock sb = ySubBlocks[i][0]; + sb.drawDebugH(); + sb = ySubBlocks[0][j]; + sb.drawDebugV(); + } + } + + public SubBlock getBottomSubBlock(int x, SubBlock.PLANE plane) { + if (plane == SubBlock.PLANE.Y1) { + return ySubBlocks[x][3]; + } else if (plane == SubBlock.PLANE.U) { + return uSubBlocks[x][1]; + } else if (plane == SubBlock.PLANE.V) { + return vSubBlocks[x][1]; + } else if (plane == SubBlock.PLANE.Y2) { + return y2SubBlock; + } + return null; + } + + public String getDebugString() { + String r = new String(); + r = r + " YMode: " + Globals.getModeAsString(yMode); + r = r + "\n UVMode: " + Globals.getModeAsString(uvMode); + r = r + "\n SegmentID: " + segmentId; + r = r + "\n Filter Level: " + filterLevel; + r = r + "\n UV Filter Level: " + uVFilterLevel; + r = r + "\n Skip Coeff: " + skipCoeff; + + return r; + } + + public int getFilterLevel() { + return this.filterLevel; + } + + public SubBlock getLeftSubBlock(int y, SubBlock.PLANE plane) { + if (plane == SubBlock.PLANE.Y1) { + return ySubBlocks[0][y]; + } + + else if (plane == SubBlock.PLANE.V) { + return vSubBlocks[0][y]; + } + if (plane == SubBlock.PLANE.Y2) { + return y2SubBlock; + } else if (plane == SubBlock.PLANE.U) { + return uSubBlocks[0][y]; + } + return null; + } + + public SubBlock getRightSubBlock(int y, SubBlock.PLANE plane) { + if (plane == SubBlock.PLANE.Y1) { + return ySubBlocks[3][y]; + } else if (plane == SubBlock.PLANE.U) { + return uSubBlocks[1][y]; + } else if (plane == SubBlock.PLANE.V) { + return vSubBlocks[1][y]; + } else if (plane == SubBlock.PLANE.Y2) { + return y2SubBlock; + } + return null; + } + + public int getSkipCoeff() { + return skipCoeff; + } + + public SubBlock getSubBlock(SubBlock.PLANE plane, int i, int j) { + switch (plane) { + case Y1: + return getYSubBlock(i, j); + case U: + return getUSubBlock(i, j); + + case V: + return getVSubBlock(i, j); + case Y2: + return getY2SubBlock(); + } + return null; + } + + public int getSubblockX(SubBlock sb) { + if (sb.getPlane() == SubBlock.PLANE.Y1) { + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + if (ySubBlocks[x][y] == sb) + return x; + } else if (sb.getPlane() == SubBlock.PLANE.U) { + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) + if (uSubBlocks[x][y] == sb) + return x; + } else if (sb.getPlane() == SubBlock.PLANE.V) { + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) + if (vSubBlocks[x][y] == sb) + return x; + } else if (sb.getPlane() == SubBlock.PLANE.Y2) { + return 0; + } + + return -100; + + } + + public int getSubblockY(SubBlock sb) { + if (sb.getPlane() == SubBlock.PLANE.Y1) { + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + if (ySubBlocks[x][y] == sb) + return y; + } else if (sb.getPlane() == SubBlock.PLANE.U) { + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) + if (uSubBlocks[x][y] == sb) + return y; + } else if (sb.getPlane() == SubBlock.PLANE.V) { + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) + if (vSubBlocks[x][y] == sb) + return y; + } else if (sb.getPlane() == SubBlock.PLANE.Y2) { + return 0; + } + + return -100; + } + + public SubBlock getUSubBlock(int i, int j) { + return uSubBlocks[i][j]; + } + + public int getUVFilterLevel() { + return this.uVFilterLevel; + } + + public int getUvMode() { + return uvMode; + } + + public SubBlock getVSubBlock(int i, int j) { + return vSubBlocks[i][j]; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + public SubBlock getY2SubBlock() { + return y2SubBlock; + } + + public int getYMode() { + return yMode; + } + + public SubBlock getYSubBlock(int i, int j) { + return ySubBlocks[i][j]; + } + + public boolean isKeepDebugInfo() { + return keepDebugInfo; + } + + public boolean isSkip_inner_lf() { + return skipInnerLoopFilter; + } + + public void predictUV(VP8Frame frame) { + MacroBlock aboveMb = frame.getMacroBlock(x, y - 1); + MacroBlock leftMb = frame.getMacroBlock(x - 1, y); + + switch (this.uvMode) { + case Globals.DC_PRED: + // System.out.println("UV DC_PRED"); + + boolean up_available = false; + boolean left_available = false; + int Uaverage = 0; + int Vaverage = 0; + int expected_udc = 0; + int expected_vdc = 0; + if (x > 0) + left_available = true; + if (y > 0) + up_available = true; + if (up_available || left_available) { + if (up_available) { + for (int j = 0; j < 2; j++) { + SubBlock usb = aboveMb.getUSubBlock(j, 1); + SubBlock vsb = aboveMb.getVSubBlock(j, 1); + for (int i = 0; i < 4; i++) { + Uaverage += usb.getDest()[i][3]; + Vaverage += vsb.getDest()[i][3]; + } + } + } + + if (left_available) { + for (int j = 0; j < 2; j++) { + SubBlock usb = leftMb.getUSubBlock(1, j); + SubBlock vsb = leftMb.getVSubBlock(1, j); + for (int i = 0; i < 4; i++) { + Uaverage += usb.getDest()[3][i]; + Vaverage += vsb.getDest()[3][i]; + } + } + } + + int shift = 2; + if (up_available) + shift++; + if (left_available) + shift++; + + expected_udc = (Uaverage + (1 << (shift - 1))) >> shift; + expected_vdc = (Vaverage + (1 << (shift - 1))) >> shift; + } else { + expected_udc = 128; + expected_vdc = 128; + } + + int ufill[][] = new int[4][4]; + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + ufill[x][y] = expected_udc; + + int vfill[][] = new int[4][4]; + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + vfill[x][y] = expected_vdc; + + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + SubBlock usb = uSubBlocks[x][y]; + SubBlock vsb = vSubBlocks[x][y]; + usb.setPredict(ufill); + vsb.setPredict(vfill); + } + + break; + case Globals.V_PRED: + // System.out.println("UV V_PRED"); + + SubBlock[] aboveUSb = new SubBlock[2]; + SubBlock[] aboveVSb = new SubBlock[2]; + for (int x = 0; x < 2; x++) { + aboveUSb[x] = aboveMb.getUSubBlock(x, 1); + aboveVSb[x] = aboveMb.getVSubBlock(x, 1); + } + + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + SubBlock usb = uSubBlocks[y][x]; + SubBlock vsb = vSubBlocks[y][x]; + int ublock[][] = new int[4][4]; + int vblock[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + ublock[j][i] = aboveUSb[y] + .getMacroBlockPredict(Globals.V_PRED)[j][3]; + vblock[j][i] = aboveVSb[y] + .getMacroBlockPredict(Globals.V_PRED)[j][3]; + } + usb.setPredict(ublock); + vsb.setPredict(vblock); + } + + break; + + case Globals.H_PRED: + // System.out.println("UV H_PRED"); + + SubBlock[] leftUSb = new SubBlock[2]; + SubBlock[] leftVSb = new SubBlock[2]; + for (int x = 0; x < 2; x++) { + leftUSb[x] = leftMb.getUSubBlock(1, x); + leftVSb[x] = leftMb.getVSubBlock(1, x); + } + + for (int y = 0; y < 2; y++) + for (int x = 0; x < 2; x++) { + SubBlock usb = uSubBlocks[x][y]; + SubBlock vsb = vSubBlocks[x][y]; + int ublock[][] = new int[4][4]; + int vblock[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + ublock[i][j] = leftUSb[y] + .getMacroBlockPredict(Globals.H_PRED)[3][j]; + vblock[i][j] = leftVSb[y] + .getMacroBlockPredict(Globals.H_PRED)[3][j]; + } + usb.setPredict(ublock); + vsb.setPredict(vblock); + } + + break; + case Globals.TM_PRED: + // TODO: + // System.out.println("UV TM_PRED MB"); + MacroBlock ALMb = frame.getMacroBlock(x - 1, y - 1); + SubBlock ALUSb = ALMb.getUSubBlock(1, 1); + int alu = ALUSb.getDest()[3][3]; + SubBlock ALVSb = ALMb.getVSubBlock(1, 1); + int alv = ALVSb.getDest()[3][3]; + + aboveUSb = new SubBlock[2]; + leftUSb = new SubBlock[2]; + aboveVSb = new SubBlock[2]; + leftVSb = new SubBlock[2]; + for (int x = 0; x < 2; x++) { + aboveUSb[x] = aboveMb.getUSubBlock(x, 1); + leftUSb[x] = leftMb.getUSubBlock(1, x); + aboveVSb[x] = aboveMb.getVSubBlock(x, 1); + leftVSb[x] = leftMb.getVSubBlock(1, x); + } + + for (int b = 0; b < 2; b++) { + for (int a = 0; a < 4; a++) { + for (int d = 0; d < 2; d++) { + for (int c = 0; c < 4; c++) { + + int upred = leftUSb[b].getDest()[3][a] + + aboveUSb[d].getDest()[c][3] - alu; + upred = Globals.clamp(upred, 255); + uSubBlocks[d][b].setPixel(c, a, upred); + + int vpred = leftVSb[b].getDest()[3][a] + + aboveVSb[d].getDest()[c][3] - alv; + vpred = Globals.clamp(vpred, 255); + vSubBlocks[d][b].setPixel(c, a, vpred); + + } + } + + } + } + + break; + default: + System.out.println("TODO predict_mb_uv: " + this.yMode); + System.exit(0); + } + } + + public void predictY(VP8Frame frame) { + MacroBlock aboveMb = frame.getMacroBlock(x, y - 1); + MacroBlock leftMb = frame.getMacroBlock(x - 1, y); + + switch (this.yMode) { + case Globals.DC_PRED: + // System.out.println("DC_PRED"); + boolean up_available = false; + boolean left_available = false; + + int average = 0; + int expected_dc = 0; + if (x > 0) + left_available = true; + if (y > 0) + up_available = true; + + if (up_available || left_available) { + if (up_available) { + for (int j = 0; j < 4; j++) { + SubBlock sb = aboveMb.getYSubBlock(j, 3); + for (int i = 0; i < 4; i++) { + average += sb.getDest()[i][3]; + } + } + } + + if (left_available) { + for (int j = 0; j < 4; j++) { + SubBlock sb = leftMb.getYSubBlock(3, j); + for (int i = 0; i < 4; i++) { + average += sb.getDest()[3][i]; + } + } + } + + int shift = 3; + if (up_available) + shift++; + if (left_available) + shift++; + + expected_dc = (average + (1 << (shift - 1))) >> shift; + } else { + expected_dc = 128; + } + + int fill[][] = new int[4][4]; + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + fill[x][y] = expected_dc; + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) { + SubBlock sb = ySubBlocks[x][y]; + sb.setPredict(fill); + } + + break; + case Globals.V_PRED: + // System.out.println("V_PRED"); + + SubBlock[] aboveYSb = new SubBlock[4]; + for (int x = 0; x < 4; x++) + aboveYSb[x] = aboveMb.getYSubBlock(x, 3); + + for (int y = 0; y < 4; y++) { + for (int x = 0; x < 4; x++) { + SubBlock sb = ySubBlocks[x][y]; + int block[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + block[i][j] = aboveYSb[x].getPredict( + Globals.B_VE_PRED, false)[i][3]; + } + sb.setPredict(block); + + } + } + + break; + + case Globals.H_PRED: + // System.out.println("H_PRED"); + + SubBlock[] leftYSb = new SubBlock[4]; + for (int x = 0; x < 4; x++) + leftYSb[x] = leftMb.getYSubBlock(3, x); + + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) { + SubBlock sb = ySubBlocks[x][y]; + int block[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + block[i][j] = leftYSb[y].getPredict( + Globals.B_DC_PRED, true)[3][j]; + } + sb.setPredict(block); + } + + SubBlock[] leftUSb = new SubBlock[2]; + for (int x = 0; x < 2; x++) + leftUSb[x] = leftMb.getYSubBlock(1, x); + + break; + case Globals.TM_PRED: + // System.out.println("TM_PRED MB"); + MacroBlock ALMb = frame.getMacroBlock(x - 1, y - 1); + SubBlock ALSb = ALMb.getYSubBlock(3, 3); + int al = ALSb.getDest()[3][3]; + + aboveYSb = new SubBlock[4]; + leftYSb = new SubBlock[4]; + for (int x = 0; x < 4; x++) + aboveYSb[x] = aboveMb.getYSubBlock(x, 3); + for (int x = 0; x < 4; x++) + leftYSb[x] = leftMb.getYSubBlock(3, x); + fill = new int[4][4]; + + for (int b = 0; b < 4; b++) { + for (int a = 0; a < 4; a++) { + + for (int d = 0; d < 4; d++) { + for (int c = 0; c < 4; c++) { + + int pred = leftYSb[b].getDest()[3][a] + + aboveYSb[d].getDest()[c][3] - al; + + ySubBlocks[d][b].setPixel(c, a, + Globals.clamp(pred, 255)); + + } + } + + } + } + + break; + default: + System.out.println("TODO predict_mb_y: " + this.yMode); + System.exit(0); + } + } + + public void recon_mb() { + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) { + SubBlock sb = ySubBlocks[i][j]; + sb.reconstruct(); + } + + for (int j = 0; j < 2; j++) + for (int i = 0; i < 2; i++) { + SubBlock sb = uSubBlocks[i][j]; + sb.reconstruct(); + } + for (int j = 0; j < 2; j++) + for (int i = 0; i < 2; i++) { + SubBlock sb = vSubBlocks[i][j]; + sb.reconstruct(); + } + + } + + public void setFilterLevel(int value) { + this.filterLevel = value; + } + + public void setSegmentId(int value) { + this.segmentId = value; + } + + public void setSkipCoeff(int mbSkipCoeff) { + skipCoeff = mbSkipCoeff; + } + + public void setUVFilterLevel(int value) { + this.uVFilterLevel = value; + } + + public void setUvMode(int mode) { + this.uvMode = mode; + } + + public void setYMode(int yMode) { + this.yMode = yMode; + } + + public String toString() { + return "x: " + x + "y: " + y; + } + + public int getSegmentId() { + return segmentId; + } +} diff --git a/src/net/sourceforge/plantuml/webp/Portrait.java b/src/net/sourceforge/plantuml/webp/Portrait.java new file mode 100644 index 000000000..533569649 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/Portrait.java @@ -0,0 +1,78 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * Original Author: Arnaud Roques + * + * Revision $Revision: 5749 $ + * + */ +package net.sourceforge.plantuml.webp; + +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +import javax.imageio.ImageIO; +import javax.imageio.stream.ImageInputStream; + +public class Portrait { + + private final String name; + private final int age; + private final byte webp[]; + + public Portrait(String name, int age, byte webp[]) throws IOException { + this.name = name; + this.age = age; + this.webp = webp; + } + + public BufferedImage getBufferedImage() { + try { + final InputStream is = new ByteArrayInputStream(webp); + final ImageInputStream iis = ImageIO.createImageInputStream(is); + final VP8Decoder vp8Decoder = new VP8Decoder(); + vp8Decoder.decodeFrame(iis, false); + iis.close(); + return vp8Decoder.getFrame().getBufferedImage(); + } catch (IOException e) { + return null; + } + + } + + public String getName() { + return name; + } + + public int getAge() { + return age; + } + +} diff --git a/src/net/sourceforge/plantuml/webp/Portraits.java b/src/net/sourceforge/plantuml/webp/Portraits.java new file mode 100644 index 000000000..5d9ee0e6d --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/Portraits.java @@ -0,0 +1,103 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Java is a trademark or registered trademark of Sun Microsystems, Inc. + * in the United States and other countries.] + * + * Original Author: Arnaud Roques + * + * Revision $Revision: 5749 $ + * + */ +package net.sourceforge.plantuml.webp; + +import java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import net.sourceforge.plantuml.version.PSystemVersion; + +public class Portraits { + + private final List all = new ArrayList(); + + public void all(Portrait p) { + all.add(p); + } + + private static InputStream getInputStream() { + return PSystemVersion.class.getResourceAsStream("out.png"); + } + + public Portraits() { + final InputStream is = getInputStream(); + if (is != null) { + try { + read(is); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + private void read(InputStream is) throws IOException { + final DataInputStream dis = new DataInputStream(is); + final int nb = dis.readShort(); + final List names = new ArrayList(); + final List ages = new ArrayList(); + for (int i = 0; i < nb; i++) { + names.add(dis.readUTF()); + ages.add((int) dis.readByte()); + } + for (int i = 0; i < nb; i++) { + final int len = dis.readShort(); + final byte data[] = new byte[len]; + dis.readFully(data); + all.add(new Portrait(names.get(i), ages.get(i), data)); + } + } + + public static void main(String[] args) { + final Portraits p = new Portraits(); + System.err.println(p.all); + } + + public Portrait getOne() { + if (all.size() == 0) { + return null; + } + return all.get(0); + } + +} diff --git a/src/net/sourceforge/plantuml/webp/Segment.java b/src/net/sourceforge/plantuml/webp/Segment.java new file mode 100644 index 000000000..5af21fffc --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/Segment.java @@ -0,0 +1,28 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +public class Segment { + int P0, P1, P2, P3; + int Q0, Q1, Q2, Q3; + + public String toString() { + return "" + Globals.toHex(P3) + " " + Globals.toHex(P2) + " " + + Globals.toHex(P1) + " " + Globals.toHex(P0) + " " + + Globals.toHex(Q0) + " " + Globals.toHex(Q1) + " " + + Globals.toHex(Q2) + " " + Globals.toHex(Q3); + } +} diff --git a/src/net/sourceforge/plantuml/webp/SegmentQuant.java b/src/net/sourceforge/plantuml/webp/SegmentQuant.java new file mode 100644 index 000000000..679f32043 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/SegmentQuant.java @@ -0,0 +1,103 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +public class SegmentQuant { + private int filterStrength; + private int Qindex; + private int uvac; + private int uvdc; + private int y1ac; + private int y1dc; + private int y2ac; + private int y2dc; + + private int clip(int val, int max) { + int r = val; + if (val > max) + r = max; + if (r < 0) + r = 0; + return r; + } + + public int getQindex() { + return Qindex; + } + + public int getUvac_delta_q() { + return uvac; + } + + public int getUvdc_delta_q() { + return uvdc; + } + + public int getY1ac() { + return y1ac; + } + + public int getY1dc() { + return y1dc; + } + + public int getY2ac_delta_q() { + return y2ac; + } + + public int getY2dc() { + return y2dc; + } + + public void setFilterStrength(int value) { + this.filterStrength = value; + } + + public void setQindex(int qindex) { + Qindex = qindex; + } + + public void setUvac_delta_q(int uvac_delta_q) { + this.uvac = Globals.vp8AcQLookup[clip(Qindex + uvac_delta_q, 127)]; + } + + public void setUvdc_delta_q(int uvdc_delta_q) { + this.uvdc = Globals.vp8DcQLookup[clip(Qindex + uvdc_delta_q, 127)]; + } + + public void setY1ac() { + this.y1ac = Globals.vp8AcQLookup[clip(Qindex, 127)]; + } + + public void setY1dc(int y1dc) { + this.y1dc = Globals.vp8DcQLookup[clip(Qindex + y1dc, 127)]; + this.setY1ac(); + } + + public void setY2ac_delta_q(int y2ac_delta_q) { + this.y2ac = Globals.vp8AcQLookup[clip(Qindex + y2ac_delta_q, 127)] * 155 / 100; + if (this.y2ac < 8) + this.y2ac = 8; + } + + public void setY2dc(int y2dc_delta_q) { + this.y2dc = Globals.vp8DcQLookup[clip(Qindex + y2dc_delta_q, 127)] * 2; + } + + public int getFilterStrength() { + return filterStrength; + } +} diff --git a/src/net/sourceforge/plantuml/webp/SegmentQuants.java b/src/net/sourceforge/plantuml/webp/SegmentQuants.java new file mode 100644 index 000000000..1805d3cec --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/SegmentQuants.java @@ -0,0 +1,98 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +import java.io.IOException; + +public class SegmentQuants { + + private static DeltaQ get_delta_q(BoolDecoder bc, int prev) + throws IOException { + DeltaQ ret = new DeltaQ(); + ret.v = 0; + ret.update = false; + + if (bc.readBit() > 0) { + ret.v = bc.readLiteral(4); + + if (bc.readBit() > 0) + ret.v = -ret.v; + } + + /* Trigger a quantizer update if the delta-q value has changed */ + if (ret.v != prev) + ret.update = true; + + return ret; + } + + private int qIndex; + + private SegmentQuant[] segQuants = new SegmentQuant[Globals.MAX_MB_SEGMENTS]; + + public SegmentQuants() { + for (int x = 0; x < Globals.MAX_MB_SEGMENTS; x++) + segQuants[x] = new SegmentQuant(); + } + + public int getqIndex() { + return qIndex; + } + + public SegmentQuant[] getSegQuants() { + return segQuants; + } + + public void parse(BoolDecoder bc, boolean segmentation_enabled, + boolean mb_segement_abs_delta) throws IOException { + qIndex = bc.readLiteral(7); + boolean q_update = false; + DeltaQ v = get_delta_q(bc, 0); + int y1dc_delta_q = v.v; + q_update = q_update || v.update; + v = get_delta_q(bc, 0); + int y2dc_delta_q = v.v; + q_update = q_update || v.update; + v = get_delta_q(bc, 0); + int y2ac_delta_q = v.v; + q_update = q_update || v.update; + v = get_delta_q(bc, 0); + int uvdc_delta_q = v.v; + q_update = q_update || v.update; + v = get_delta_q(bc, 0); + int uvac_delta_q = v.v; + q_update = q_update || v.update; + + for (SegmentQuant s : segQuants) { + if (!segmentation_enabled) { + s.setQindex(qIndex); + } else if (!mb_segement_abs_delta) { + s.setQindex(s.getQindex() + qIndex); + } + + s.setY1dc(y1dc_delta_q); + s.setY2dc(y2dc_delta_q); + s.setY2ac_delta_q(y2ac_delta_q); + s.setUvdc_delta_q(uvdc_delta_q); + s.setUvac_delta_q(uvac_delta_q); + + } + } + + public void setSegQuants(SegmentQuant[] segQuants) { + this.segQuants = segQuants; + } +} diff --git a/src/net/sourceforge/plantuml/webp/SubBlock.java b/src/net/sourceforge/plantuml/webp/SubBlock.java new file mode 100644 index 000000000..7f5ac61df --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/SubBlock.java @@ -0,0 +1,617 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +import java.io.IOException; + +public class SubBlock { + public static enum PLANE { + U, V, Y1, Y2 + }; + + public static final int UV = 2; + public static final int Y = 3; + public static final int Y_AFTER_Y2 = 0; + public static final int Y2 = 1; + + public static int planeToType(PLANE plane, Boolean withY2) { + switch (plane) { + case Y2: + return 1; + case Y1: + if (withY2) + return 0; + else + return 3; + case U: + return 2; + case V: + return 2; + } + return -1; + + } + + private SubBlock above; + + private int[][] dest; + private int[][] diff; + private boolean hasNoZeroToken; + private SubBlock left; + private MacroBlock macroBlock; + private int mode; + private PLANE plane; + private int predict[][]; + private int tokens[]; + + public SubBlock(MacroBlock macroBlock, SubBlock above, SubBlock left, + SubBlock.PLANE plane) { + this.macroBlock = macroBlock; + this.plane = plane; + this.above = above; + this.left = left; + mode = 0; + tokens = new int[16]; + for (int z = 0; z < 16; z++) + tokens[z] = 0; + } + + private int DCTextra(BoolDecoder bc2, int p[]) throws IOException { + int v = 0; + int offset = 0; + do { + v += v + bc2.readBool(p[offset]); + offset++; + } while (p[offset] > 0); + return v; + } + + public void decodeSubBlock(BoolDecoder bc2, int[][][][] coef_probs, + int ilc, int type, boolean withY2) throws IOException { + SubBlock sb = this; + int startAt = 0; + if (withY2) + startAt = 1; + int lc = ilc; + int c = 0; + int v = 1; + + boolean skip = false; + + while (!(v == Globals.dct_eob) && c + startAt < 16) { + + if (!skip) + v = bc2.readTree(Globals.vp8CoefTree, + coef_probs[type][Globals.vp8CoefBands[c + startAt]][lc]); + else + v = bc2.readTreeSkip( + Globals.vp8CoefTree, + coef_probs[type][Globals.vp8CoefBands[c + startAt]][lc], + 1); + + int dv = decodeToken(bc2, v); + lc = 0; + skip = false; + if (dv == 1 || dv == -1) + lc = 1; + else if (dv > 1 || dv < -1) + lc = 2; + else if (dv == Globals.DCT_0) + skip = true; + + int tokens[] = sb.getTokens(); + + if (v != Globals.dct_eob) + tokens[Globals.vp8defaultZigZag1d[c + startAt]] = dv; + c++; + } + hasNoZeroToken = false; + for (int x = 0; x < 16; x++) + if (tokens[x] != 0) + hasNoZeroToken = true; + } + + private int decodeToken(BoolDecoder bc2, int v) throws IOException { + int r = v; + + if (v == Globals.dct_cat1) { + r = 5 + DCTextra(bc2, Globals.Pcat1); + } + if (v == Globals.dct_cat2) { + r = 7 + DCTextra(bc2, Globals.Pcat2); + } + if (v == Globals.dct_cat3) { + r = 11 + DCTextra(bc2, Globals.Pcat3); + } + if (v == Globals.dct_cat4) { + r = 19 + DCTextra(bc2, Globals.Pcat4); + } + if (v == Globals.dct_cat5) { + r = 35 + DCTextra(bc2, Globals.Pcat5); + } + if (v == Globals.dct_cat6) { + r = 67 + DCTextra(bc2, Globals.Pcat6); + } + if (v != Globals.DCT_0 && v != Globals.dct_eob) { + if (bc2.readBit() > 0) + r = -r; + } + + return r; + } + + public void dequantSubBlock(VP8Frame frame, Integer Dc) { + SubBlock sb = this; + + int[] adjustedValues = new int[16]; + for (int i = 0; i < 16; i++) { + int QValue; + if (plane == PLANE.U || plane == PLANE.V) { + QValue = frame.getSegmentQuants().getSegQuants()[this.getMacroBlock().getSegmentId()] + .getUvac_delta_q(); + if (i == 0) + QValue = frame.getSegmentQuants().getSegQuants()[this.getMacroBlock().getSegmentId()] + .getUvdc_delta_q(); + } else { + QValue = frame.getSegmentQuants().getSegQuants()[this.getMacroBlock().getSegmentId()].getY1ac(); + if (i == 0) + QValue = frame.getSegmentQuants().getSegQuants()[this.getMacroBlock().getSegmentId()] + .getY1dc(); + } + + int inputValue = sb.getTokens()[i]; + adjustedValues[i] = inputValue * QValue; + + } + + if (Dc != null) + adjustedValues[0] = Dc; + + int[][] diff = IDCT.idct4x4llm(adjustedValues); + sb.setDiff(diff); + + } + + public void drawDebug() { + if (dest != null) { + dest[0][0] = 128; + dest[1][0] = 128; + dest[2][0] = 128; + dest[3][0] = 128; + dest[0][0] = 128; + dest[0][1] = 128; + dest[0][2] = 128; + dest[0][3] = 128; + } + + } + + public void drawDebugH() { + if (dest != null) { + dest[0][0] = 0; + dest[1][0] = 0; + dest[2][0] = 0; + dest[3][0] = 0; + } + + } + + public void drawDebugV() { + if (dest != null) { + dest[0][0] = 0; + dest[0][1] = 0; + dest[0][2] = 0; + dest[0][3] = 0; + } + } + + public SubBlock getAbove() { + + return above; + } + + public String getDebugString() { + String r = new String(); + r = r + " " + plane; + if (getMacroBlock().getYMode() == Globals.B_PRED + && plane == SubBlock.PLANE.Y1) + r = r + "\n " + Globals.getSubBlockModeAsString(mode); + return r; + } + + public int[][] getDest() { + if (dest != null) + return dest; + else + return new int[4][4]; + } + + public int[][] getDiff() { + + return diff; + } + + public SubBlock getLeft() { + + return left; + } + + public MacroBlock getMacroBlock() { + return macroBlock; + } + + public int[][] getMacroBlockPredict(int intra_mode) { + if (dest != null) + return dest; + + else { + int rv = 127; + if (intra_mode == Globals.H_PRED) + rv = 129; + int r[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) + r[i][j] = rv; + return r; + } + } + + public int getMode() { + return mode; + } + + public PLANE getPlane() { + return plane; + } + + public int[][] getPredict() { + if (predict != null) + return predict; + return getPredict(Globals.B_DC_PRED, false); + } + + public int[][] getPredict(int intra_bmode, boolean left) { + if (dest != null) + return dest; + if (predict != null) + return predict; + else { + int rv = 127; + + if ((intra_bmode == Globals.B_TM_PRED + || intra_bmode == Globals.B_DC_PRED + || intra_bmode == Globals.B_VE_PRED + || intra_bmode == Globals.B_HE_PRED + || intra_bmode == Globals.B_VR_PRED + || intra_bmode == Globals.B_RD_PRED || intra_bmode == Globals.B_HD_PRED) + && left) + + rv = 129; + int r[][] = new int[4][4]; + for (int j = 0; j < 4; j++) + for (int i = 0; i < 4; i++) + r[i][j] = rv; + return r; + } + } + + int[] getTokens() { + return tokens; + } + + public boolean hasNoZeroToken() { + return hasNoZeroToken; + } + + public boolean isDest() { + if (dest == null) + return false; + return true; + } + + public void predict(VP8Frame frame) { + SubBlock sb = this; + SubBlock aboveSb = frame.getAboveSubBlock(sb, sb.getPlane()); + SubBlock leftSb = frame.getLeftSubBlock(sb, sb.getPlane()); + + int[] above = new int[4]; + int[] left = new int[4]; + + above[0] = aboveSb.getPredict(sb.getMode(), false)[0][3]; + above[1] = aboveSb.getPredict(sb.getMode(), false)[1][3]; + above[2] = aboveSb.getPredict(sb.getMode(), false)[2][3]; + above[3] = aboveSb.getPredict(sb.getMode(), false)[3][3]; + left[0] = leftSb.getPredict(sb.getMode(), true)[3][0]; + left[1] = leftSb.getPredict(sb.getMode(), true)[3][1]; + left[2] = leftSb.getPredict(sb.getMode(), true)[3][2]; + left[3] = leftSb.getPredict(sb.getMode(), true)[3][3]; + SubBlock AL = frame.getLeftSubBlock(aboveSb, sb.getPlane()); + + // for above left if left and above is null use left (129?) else use + // above (127?) + int al; + if (!leftSb.isDest() && !aboveSb.isDest()) { + + al = AL.getPredict(sb.getMode(), false)[3][3]; + } else if (!aboveSb.isDest()) { + + al = AL.getPredict(sb.getMode(), false)[3][3]; + } else + al = AL.getPredict(sb.getMode(), true)[3][3]; + SubBlock AR = frame.getAboveRightSubBlock(sb, sb.plane); + int ar[] = new int[4]; + ar[0] = AR.getPredict(sb.getMode(), false)[0][3]; + ar[1] = AR.getPredict(sb.getMode(), false)[1][3]; + ar[2] = AR.getPredict(sb.getMode(), false)[2][3]; + ar[3] = AR.getPredict(sb.getMode(), false)[3][3]; + int[][] p = new int[4][4]; + int pp[]; + switch (sb.getMode()) { + case Globals.B_DC_PRED: + // System.out.println("B_DC_PRED"); + int expected_dc = 0; + + for (int i = 0; i < 4; i++) { + expected_dc += above[i]; + expected_dc += left[i]; + } + expected_dc = (expected_dc + 4) >> 3; + + for (int y = 0; y < 4; y++) + for (int x = 0; x < 4; x++) + p[x][y] = expected_dc; + + break; + case Globals.B_TM_PRED: + + // System.out.println("B_TM_PRED"); + + // prediction similar to true_motion prediction + + for (int r = 0; r < 4; r++) { + for (int c = 0; c < 4; c++) { + + int pred = above[c] - al + left[r]; + if (pred < 0) + pred = 0; + + if (pred > 255) + pred = 255; + + p[c][r] = pred; + } + } + break; + case Globals.B_VE_PRED: + // System.out.println("B_VE_PRED"); + + int ap[] = new int[4]; + ap[0] = (al + 2 * above[0] + above[1] + 2) >> 2; + ap[1] = (above[0] + 2 * above[1] + above[2] + 2) >> 2; + ap[2] = (above[1] + 2 * above[2] + above[3] + 2) >> 2; + ap[3] = (above[2] + 2 * above[3] + ar[0] + 2) >> 2; + + for (int r = 0; r < 4; r++) { + for (int c = 0; c < 4; c++) { + + p[c][r] = ap[c]; + + } + } + break; + case Globals.B_HE_PRED: + // System.out.println("B_HE_PRED"); + + int lp[] = new int[4]; + lp[0] = (al + 2 * left[0] + left[1] + 2) >> 2; + lp[1] = (left[0] + 2 * left[1] + left[2] + 2) >> 2; + lp[2] = (left[1] + 2 * left[2] + left[3] + 2) >> 2; + lp[3] = (left[2] + 2 * left[3] + left[3] + 2) >> 2; + + for (int r = 0; r < 4; r++) { + for (int c = 0; c < 4; c++) { + p[c][r] = lp[r]; + } + } + break; + case Globals.B_LD_PRED: + // System.out.println("B_LD_PRED"); + p[0][0] = (above[0] + above[1] * 2 + above[2] + 2) >> 2; + p[1][0] = p[0][1] = (above[1] + above[2] * 2 + above[3] + 2) >> 2; + p[2][0] = p[1][1] = p[0][2] = (above[2] + above[3] * 2 + ar[0] + 2) >> 2; + p[3][0] = p[2][1] = p[1][2] = p[0][3] = (above[3] + ar[0] * 2 + + ar[1] + 2) >> 2; + p[3][1] = p[2][2] = p[1][3] = (ar[0] + ar[1] * 2 + ar[2] + 2) >> 2; + p[3][2] = p[2][3] = (ar[1] + ar[2] * 2 + ar[3] + 2) >> 2; + p[3][3] = (ar[2] + ar[3] * 2 + ar[3] + 2) >> 2; + + break; + case Globals.B_RD_PRED: + // System.out.println("B_RD_PRED"); + pp = new int[9]; + + pp[0] = left[3]; + pp[1] = left[2]; + pp[2] = left[1]; + pp[3] = left[0]; + pp[4] = al; + pp[5] = above[0]; + pp[6] = above[1]; + pp[7] = above[2]; + pp[8] = above[3]; + + p[0][3] = (pp[0] + pp[1] * 2 + pp[2] + 2) >> 2; + p[1][3] = p[0][2] = (pp[1] + pp[2] * 2 + pp[3] + 2) >> 2; + p[2][3] = p[1][2] = p[0][1] = (pp[2] + pp[3] * 2 + pp[4] + 2) >> 2; + p[3][3] = p[2][2] = p[1][1] = p[0][0] = (pp[3] + pp[4] * 2 + pp[5] + 2) >> 2; + p[3][2] = p[2][1] = p[1][0] = (pp[4] + pp[5] * 2 + pp[6] + 2) >> 2; + p[3][1] = p[2][0] = (pp[5] + pp[6] * 2 + pp[7] + 2) >> 2; + p[3][0] = (pp[6] + pp[7] * 2 + pp[8] + 2) >> 2; + break; + + case Globals.B_VR_PRED: + // System.out.println("B_VR_PRED"); + pp = new int[9]; + + pp[0] = left[3]; + pp[1] = left[2]; + pp[2] = left[1]; + pp[3] = left[0]; + pp[4] = al; + pp[5] = above[0]; + pp[6] = above[1]; + pp[7] = above[2]; + pp[8] = above[3]; + + p[0][3] = (pp[1] + pp[2] * 2 + pp[3] + 2) >> 2; + p[0][2] = (pp[2] + pp[3] * 2 + pp[4] + 2) >> 2; + p[1][3] = p[0][1] = (pp[3] + pp[4] * 2 + pp[5] + 2) >> 2; + p[1][2] = p[0][0] = (pp[4] + pp[5] + 1) >> 1; + p[2][3] = p[1][1] = (pp[4] + pp[5] * 2 + pp[6] + 2) >> 2; + p[2][2] = p[1][0] = (pp[5] + pp[6] + 1) >> 1; + p[3][3] = p[2][1] = (pp[5] + pp[6] * 2 + pp[7] + 2) >> 2; + p[3][2] = p[2][0] = (pp[6] + pp[7] + 1) >> 1; + p[3][1] = (pp[6] + pp[7] * 2 + pp[8] + 2) >> 2; + p[3][0] = (pp[7] + pp[8] + 1) >> 1; + + break; + case Globals.B_VL_PRED: + // System.out.println("B_VL_PRED"); + + p[0][0] = (above[0] + above[1] + 1) >> 1; + p[0][1] = (above[0] + above[1] * 2 + above[2] + 2) >> 2; + p[0][2] = p[1][0] = (above[1] + above[2] + 1) >> 1; + p[1][1] = p[0][3] = (above[1] + above[2] * 2 + above[3] + 2) >> 2; + p[1][2] = p[2][0] = (above[2] + above[3] + 1) >> 1; + p[1][3] = p[2][1] = (above[2] + above[3] * 2 + ar[0] + 2) >> 2; + p[3][0] = p[2][2] = (above[3] + ar[0] + 1) >> 1; + p[3][1] = p[2][3] = (above[3] + ar[0] * 2 + ar[1] + 2) >> 2; + p[3][2] = (ar[0] + ar[1] * 2 + ar[2] + 2) >> 2; + p[3][3] = (ar[1] + ar[2] * 2 + ar[3] + 2) >> 2; + + break; + case Globals.B_HD_PRED: + // System.out.println("B_HD_PRED"); + pp = new int[9]; + pp[0] = left[3]; + pp[1] = left[2]; + pp[2] = left[1]; + pp[3] = left[0]; + pp[4] = al; + pp[5] = above[0]; + pp[6] = above[1]; + pp[7] = above[2]; + pp[8] = above[3]; + + p[0][3] = (pp[0] + pp[1] + 1) >> 1; + p[1][3] = (pp[0] + pp[1] * 2 + pp[2] + 2) >> 2; + p[0][2] = p[2][3] = (pp[1] + pp[2] + 1) >> 1; + p[1][2] = p[3][3] = (pp[1] + pp[2] * 2 + pp[3] + 2) >> 2; + p[2][2] = p[0][1] = (pp[2] + pp[3] + 1) >> 1; + p[3][2] = p[1][1] = (pp[2] + pp[3] * 2 + pp[4] + 2) >> 2; + p[2][1] = p[0][0] = (pp[3] + pp[4] + 1) >> 1; + p[3][1] = p[1][0] = (pp[3] + pp[4] * 2 + pp[5] + 2) >> 2; + p[2][0] = (pp[4] + pp[5] * 2 + pp[6] + 2) >> 2; + p[3][0] = (pp[5] + pp[6] * 2 + pp[7] + 2) >> 2; + break; + case Globals.B_HU_PRED: + // System.out.println("B_HU_PRED"); + + p[0][0] = (left[0] + left[1] + 1) >> 1; + p[1][0] = (left[0] + left[1] * 2 + left[2] + 2) >> 2; + p[2][0] = p[0][1] = (left[1] + left[2] + 1) >> 1; + p[3][0] = p[1][1] = (left[1] + left[2] * 2 + left[3] + 2) >> 2; + p[2][1] = p[0][2] = (left[2] + left[3] + 1) >> 1; + p[3][1] = p[1][2] = (left[2] + left[3] * 2 + left[3] + 2) >> 2; + p[2][2] = p[3][2] = p[0][3] = p[1][3] = p[2][3] = p[3][3] = left[3]; + break; + + default: + System.out.println("TODO: " + sb.getMode()); + System.exit(0); + break; + } + + sb.setPredict(p); + } + + public void reconstruct() { + SubBlock sb = this; + + int r, c; + int p[][] = sb.getPredict(1, false); + + int dest[][] = new int[4][4]; + int diff[][] = sb.getDiff(); + + for (r = 0; r < 4; r++) { + for (c = 0; c < 4; c++) { + int a = diff[r][c] + p[r][c]; + + if (a < 0) + a = 0; + + if (a > 255) + a = 255; + + dest[r][c] = a; + + } + + } + + sb.setDest(dest); + if (!this.getMacroBlock().isKeepDebugInfo()) { + sb.diff = null; + sb.predict = null; + sb.tokens = null; + } + } + + public void setDest(int[][] dest) { + this.dest = dest; + } + + public void setDiff(int[][] diff) { + this.diff = diff; + } + + public void setMode(int mode) { + this.mode = mode; + } + + public void setPixel(int x, int y, int p) { + if (dest == null) { + dest = new int[4][4]; + } + dest[x][y] = p; + } + + public void setPredict(int[][] predict) { + this.predict = predict; + + } + + public String toString() { + String r = "["; + for (int x = 0; x < 16; x++) + r = r + tokens[x] + " "; + r = r + "]"; + + return r; + } + +} diff --git a/src/net/sourceforge/plantuml/webp/VP8Decoder.java b/src/net/sourceforge/plantuml/webp/VP8Decoder.java new file mode 100644 index 000000000..fa4b0085b --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/VP8Decoder.java @@ -0,0 +1,157 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . + */ +package net.sourceforge.plantuml.webp; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +import javax.imageio.stream.ImageInputStream; + +public class VP8Decoder { + private int[][][][] coefProbs; + VP8Frame f; + private int frameCount = 0; + + public VP8Decoder() { + coefProbs = Globals.getDefaultCoefProbs(); + } + + public void decodeFrame(ImageInputStream stream, boolean debug) + throws IOException { + coefProbs = Globals.getDefaultCoefProbs(); + f = new VP8Frame(stream, coefProbs); + if (f.decodeFrame(debug)) { + + } + frameCount++; + } + + public VP8Frame getFrame() { + return f; + } + + public int getHeight() { + return f.getHeight(); + } + + public int getWidth() { + return f.getWidth(); + } + + @SuppressWarnings("unused") + private void writeFile(int[][] data) { + FileOutputStream out; + try { + out = new FileOutputStream("outagain.raw"); + for (int y = 0; y < data[0].length; y++) + for (int x = 0; x < data.length; x++) { + out.write(data[x][y]); + out.write(data[x][y]); + out.write(data[x][y]); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public void writePGMFile(String fileName, VP8Frame frame) { + + + FileOutputStream out; + try { + int[][] yData = frame.getYBuffer(); + int[][] uData = frame.getUBuffer(); + int[][] vData = frame.getVBuffer(); + int outStride = (f.getWidth()+1)& ~1; + int uvHeight = (f.getHeight() +1) / 2; + out = new FileOutputStream(fileName); + out.write((byte) 'P'); + out.write((byte) '5'); + out.write((byte) 0x0a); + out.write(("" + outStride).getBytes()); + out.write((byte) ' '); + + out.write(("" + (f.getHeight() + uvHeight)).getBytes()); + + out.write((byte) 0x0a); + out.write(("255").getBytes()); + out.write((byte) 0xa); + for (int y = 0; y < f.getHeight(); y++) { + for (int x = 0; x < f.getWidth(); x++) { + out.write(yData[x][y]); + } + if((f.getWidth() & 1)==1) + out.write(0x0); + } + for (int y = 0; y < (f.getHeight() + 1) / 2; y++) { + for (int x = 0; x < (f.getWidth() + 1) / 2; x++) { + out.write(uData[x][y]); + } + for (int x = 0; x < (f.getWidth() + 1) / 2; x++) { + out.write(vData[x][y]); + } + + } + + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public void writeYV12File(String fileName, VP8Frame frame) { + + FileOutputStream out; + try { + int[][] yData = frame.getYBuffer(); + int[][] uData = frame.getUBuffer(); + int[][] vData = frame.getVBuffer(); + out = new FileOutputStream(fileName); + out.write((byte) 'P'); + out.write((byte) '5'); + out.write((byte) 0x0a); + out.write(("" + f.getWidth()).getBytes()); + out.write((byte) ' '); + + out.write(("" + (f.getHeight() * 3 / 2)).getBytes()); + out.write((byte) 0x0a); + out.write(("255").getBytes()); + out.write((byte) 0xa); + for (int y = 0; y < f.getHeight(); y++) { + for (int x = 0; x < f.getWidth(); x++) { + out.write(yData[x][y]); + } + + } + for (int y = 0; y < (f.getHeight() + 1) / 2; y++) + for (int x = 0; x < (f.getWidth() + 1) / 2; x++) { + out.write(uData[x][y]); + } + for (int y = 0; y < (f.getHeight() + 1) / 2; y++) + for (int x = 0; x < (f.getWidth() + 1) / 2; x++) { + out.write(vData[x][y]); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/src/net/sourceforge/plantuml/webp/VP8Frame.java b/src/net/sourceforge/plantuml/webp/VP8Frame.java new file mode 100644 index 000000000..fee040779 --- /dev/null +++ b/src/net/sourceforge/plantuml/webp/VP8Frame.java @@ -0,0 +1,1056 @@ +/* This file is part of javavp8decoder. + + javavp8decoder is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + javavp8decoder is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with javavp8decoder. If not, see . +*/ +package net.sourceforge.plantuml.webp; + +import java.awt.image.BufferedImage; +import java.awt.image.WritableRaster; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Vector; + +import javax.imageio.event.IIOReadProgressListener; +import javax.imageio.stream.ImageInputStream; + + +public class VP8Frame { + private static int BLOCK_TYPES = 4; + private static int COEF_BANDS = 8; + private static int MAX_ENTROPY_TOKENS = 12; + private static int MAX_MODE_LF_DELTAS = 4; + private static int MAX_REF_LF_DELTAS = 4; + private static int PREV_COEF_CONTEXTS = 3; + + + private ArrayList _listeners = new ArrayList(); + + private int bufferCount; + private int buffersToCreate=1; + private int[][][][] coefProbs; + private boolean debug=false; + private int filterLevel; + + private int filterType; + + private ImageInputStream frame; + private int frameType; + private int height; + private int macroBlockCols; + private int macroBlockNoCoeffSkip; + private int macroBlockRows; + + private MacroBlock[][] macroBlocks; + private int macroBlockSegementAbsoluteDelta; + private int[] macroBlockSegmentTreeProbs; + private int[] modeLoopFilterDeltas = new int[MAX_MODE_LF_DELTAS]; + private int modeRefLoopFilterDeltaEnabled; + private int modeRefLoopFilterDeltaUpdate; + private int multiTokenPartition = 0; + + private long offset; + private int[] refLoopFilterDeltas = new int[MAX_REF_LF_DELTAS]; + private int refreshEntropyProbs; + private int refreshLastFrame; + private int segmentationIsEnabled; + private SegmentQuants segmentQuants; + private int sharpnessLevel; + private int simpleFilter; + private BoolDecoder tokenBoolDecoder; + private Vector tokenBoolDecoders; + private int updateMacroBlockSegmentationMap; + private int updateMacroBlockSegmentatonData; + private int width; + public VP8Frame(ImageInputStream stream) throws IOException { + this.frame = stream; + offset = frame.getStreamPosition(); + this.coefProbs=Globals.getDefaultCoefProbs(); + tokenBoolDecoders = new Vector(); + } + public VP8Frame(ImageInputStream stream, int[][][][] coefProbs) throws IOException { + this.frame = stream; + offset = frame.getStreamPosition(); + this.coefProbs=coefProbs; + tokenBoolDecoders = new Vector(); + } + public void addIIOReadProgressListener(IIOReadProgressListener listener) { + _listeners.add(listener); + } + private void createMacroBlocks() { + macroBlocks = new MacroBlock[macroBlockCols+2][macroBlockRows+2]; + for(int x=0; x> 4; + macroBlockCols=tWidth >> 4; + createMacroBlocks(); + + BoolDecoder bc = new BoolDecoder(frame, offset); + + if (frameType == 0) { + int clr_type = bc.readBit(); + int clamp_type = bc.readBit(); + + } + segmentationIsEnabled = bc.readBit(); + if (segmentationIsEnabled > 0) { + updateMacroBlockSegmentationMap = bc.readBit(); + updateMacroBlockSegmentatonData = bc.readBit(); + if(updateMacroBlockSegmentatonData > 0 ) { + + macroBlockSegementAbsoluteDelta = bc.readBit(); + /* For each segmentation feature (Quant and loop filter level) */ + for (int i = 0; i < Globals.MAX_MB_SEGMENTS; i++) { + int value =0; + if (bc.readBit() > 0) { + value = bc.readLiteral(Globals.vp8MacroBlockFeatureDataBits[0]); + if(bc.readBit()>0) + value=-value; + } + this.segmentQuants.getSegQuants()[i].setQindex(value); + } + for (int i = 0; i < Globals.MAX_MB_SEGMENTS; i++) { + int value = 0; + if (bc.readBit() > 0) { + value = bc.readLiteral(Globals.vp8MacroBlockFeatureDataBits[1]); + if(bc.readBit()>0) + value=-value; + } + this.segmentQuants.getSegQuants()[i].setFilterStrength(value); + } + + if(updateMacroBlockSegmentationMap > 0) { + macroBlockSegmentTreeProbs = new int[Globals.MB_FEATURE_TREE_PROBS]; + for (int i = 0; i < Globals.MB_FEATURE_TREE_PROBS; i++) { + int value=255; + if (bc.readBit()>0) { + value = bc.readLiteral(8); + } + else + value = 255; + macroBlockSegmentTreeProbs[i] = value; + } + } + } + } + simpleFilter = bc.readBit(); + filterLevel = bc.readLiteral(6); + + sharpnessLevel = bc.readLiteral(3); + modeRefLoopFilterDeltaEnabled = bc.readBit(); + if (modeRefLoopFilterDeltaEnabled > 0) { + // Do the deltas need to be updated + modeRefLoopFilterDeltaUpdate = bc.readBit(); + if (modeRefLoopFilterDeltaUpdate > 0) { + for (int i = 0; i < MAX_REF_LF_DELTAS; i++) { + + if (bc.readBit() > 0) { + refLoopFilterDeltas[i] = bc.readLiteral(6); + if (bc.readBit() > 0) // Apply sign + refLoopFilterDeltas[i] = refLoopFilterDeltas[i] * -1; + } + } + for (int i = 0; i < MAX_MODE_LF_DELTAS; i++) { + + if (bc.readBit() > 0) { + modeLoopFilterDeltas[i] = bc.readLiteral(6); + if (bc.readBit() > 0) // Apply sign + modeLoopFilterDeltas[i] = modeLoopFilterDeltas[i] * -1; + } + } + } + } + + filterType = (filterLevel == 0) ? 0 : (simpleFilter>0) ? 1 : 2; + setupTokenDecoder(bc, firstPartitionLengthInBytes, + offset); + bc.seek(); + + segmentQuants.parse(bc, segmentationIsEnabled==1, macroBlockSegementAbsoluteDelta==1); + + // Determine if the golden frame or ARF buffer should be updated and + // how. + // For all non key frames the GF and ARF refresh flags and sign bias + // flags must be set explicitly. + if (frameType != 0) { + throw new IllegalArgumentException("bad input: not intra"); + } + refreshEntropyProbs = bc.readBit(); + if (refreshEntropyProbs > 0) { + + } + refreshLastFrame = 0; + if (frameType == 0) + refreshLastFrame = 1; + else + refreshLastFrame = bc.readBit(); + for (int i = 0; i < BLOCK_TYPES; i++) + for (int j = 0; j < COEF_BANDS; j++) + for (int k = 0; k < PREV_COEF_CONTEXTS; k++) + for (int l = 0; l < MAX_ENTROPY_TOKENS - 1; l++) { + + if (bc.readBool(Globals.vp8CoefUpdateProbs[i][j][k][l]) > 0) { + int newp = bc.readLiteral(8); + this.coefProbs[i][j][k][l] = newp; + } + } + + // Read the mb_no_coeff_skip flag + macroBlockNoCoeffSkip = (int) bc.readBit(); + if (frameType == 0) { + readModes(bc); + } else { + throw new IllegalArgumentException("bad input: not intra"); + } + + int ibc = 0; + int num_part = 1 << multiTokenPartition; + + for (int mb_row = 0; mb_row < macroBlockRows; mb_row++) { + + if (num_part > 1) { + + tokenBoolDecoder = tokenBoolDecoders.elementAt(ibc); + tokenBoolDecoder.seek(); + + decodeMacroBlockRow(mb_row); + + ibc++; + if(ibc==num_part) + ibc=0; + } + else + decodeMacroBlockRow(mb_row); + fireProgressUpdate(mb_row); + + } + + if(this.getFilterType()>0 && this.getFilterLevel()!=0) + this.loopFilter(); + return true; + } + private void decodeMacroBlockRow(int mbRow) throws IOException { + for (int mbCol = 0; mbCol < macroBlockCols; mbCol++) { + + MacroBlock mb = getMacroBlock(mbCol, mbRow); + + mb.decodeMacroBlock(this); + + mb.dequantMacroBlock(this); + + } + } + + public void fireLFProgressUpdate(float p) { + java.util.Iterator listeners = _listeners.iterator(); + while( listeners.hasNext() ) { + ( (IIOReadProgressListener)listeners.next() ).imageProgress( null, (100/buffersToCreate)+(p/buffersToCreate)); + } + } + private void fireProgressUpdate(int mb_row) { + java.util.Iterator listeners = _listeners.iterator(); + while( listeners.hasNext() ) { + ( (IIOReadProgressListener)listeners.next() ).imageProgress( null, (100.0f*((float)(mb_row+1)/(float)getMacroBlockRows()))/buffersToCreate); + } + } + public void fireRGBProgressUpdate(float p) { + java.util.Iterator listeners = _listeners.iterator(); + while( listeners.hasNext() ) { + ( (IIOReadProgressListener)listeners.next() ).imageProgress( null, ((bufferCount+4)*(100/buffersToCreate))+(p/buffersToCreate)); + } + } + + public SubBlock getAboveRightSubBlock(SubBlock sb, SubBlock.PLANE plane) { + // this might break at right edge + SubBlock r; + MacroBlock mb = sb.getMacroBlock(); + int x = mb.getSubblockX(sb); + int y = mb.getSubblockY(sb); + + if(plane==SubBlock.PLANE.Y1) { + + // top row + if(y==0 && x<3) { + + MacroBlock mb2=this.getMacroBlock(mb.getX(), mb.getY()-1); + r = mb2.getSubBlock(plane, x+1, 3); + return r; + } + //top right + else if(y==0 && x==3) { + + MacroBlock mb2=this.getMacroBlock(mb.getX()+1, mb.getY()-1); + r = mb2.getSubBlock(plane, 0, 3); + + if(mb2.getX()==this.getMacroBlockCols()) { + + int dest[][] = new int [4][4]; + for(int b=0; b<4; b++) + for(int a=0; a<4; a++) { + if(mb2.getY()<0) + dest[a][b]=127; + else + dest[a][b]=this.getMacroBlock(mb.getX(), mb.getY()-1).getSubBlock(SubBlock.PLANE.Y1, 3, 3).getDest()[3][3]; + } + r=new SubBlock(mb2,null, null, SubBlock.PLANE.Y1); + r.setDest(dest); + + + } + + return r; + } + //not right edge or top row + else if(y>0 && x<3) { + + r = mb.getSubBlock(plane, x+1, y-1); + return r; + } + //else use top right + else { + SubBlock sb2 = mb.getSubBlock(sb.getPlane(), 3, 0); + return this.getAboveRightSubBlock(sb2, plane); + } + } + else { + throw new IllegalArgumentException("bad input: getAboveRightSubBlock()"); + } + } + + public SubBlock getAboveSubBlock(SubBlock sb, SubBlock.PLANE plane) { + + SubBlock r = sb.getAbove(); + if(r==null) { + MacroBlock mb = sb.getMacroBlock(); + int x = mb.getSubblockX(sb); + + MacroBlock mb2 = getMacroBlock(mb.getX(), mb.getY()-1); + //TODO: SPLIT + while(plane==SubBlock.PLANE.Y2 && mb2.getYMode()== Globals.B_PRED) { + mb2 = getMacroBlock(mb2.getX(), mb2.getY()-1); + } + r = mb2.getBottomSubBlock(x, sb.getPlane()); + + } + + return r; + } + + private boolean getBit(int data, int bit) { + int r = data & (1 << bit); + if (r > 0) + return true; + return false; + } + + private int getBitAsInt(int data, int bit) { + int r = data & (1 << bit); + if (r > 0) + return 1; + return 0; + } + + public BufferedImage getBufferedImage() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + useBufferedImage(bi); + bufferCount++; + return bi; + } + + + + public int[][][][] getCoefProbs() { + return coefProbs; + } + + public BufferedImage getDebugImageDiff() { + + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy, u, v; + yy = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getDiff()[x%4][y%4]; + u = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getDiff()[(x/2)%4][(y/2)%4]; + v = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getDiff()[(x/2)%4][(y/2)%4]; + c[0] = (int)( 1.164*(yy-16)+1.596*(v-128) ); + c[1] = (int)( 1.164*(yy-16)-0.813*(v-128)-0.391*(u-128) ); + c[2] = (int)( 1.164*(yy-16)+2.018*(u-128) ); + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImagePredict() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy, u, v; + yy = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getPredict()[x%4][y%4]; + u = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getPredict()[(x/2)%4][(y/2)%4]; + v = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getPredict()[(x/2)%4][(y/2)%4]; + c[0] = (int)( 1.164*(yy-16)+1.596*(v-128) ); + c[1] = (int)( 1.164*(yy-16)-0.813*(v-128)-0.391*(u-128) ); + c[2] = (int)( 1.164*(yy-16)+2.018*(u-128) ); + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageUBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int u; + u = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getDest()[(x/2)%4][(y/2)%4]; + c[0] = u; + c[1] = u; + c[2] = u; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageUDiffBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int u; + u = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getDiff()[(x/2)%4][(y/2)%4]; + c[0] = u; + c[1] = u; + c[2] = u; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageUPredBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int u; + u = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getPredict()[(x/2)%4][(y/2)%4]; + c[0] = u; + c[1] = u; + c[2] = u; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageVBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int v; + v = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getDest()[(x/2)%4][(y/2)%4]; + c[0] = v; + c[1] = v; + c[2] = v; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageVDiffBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int v; + v = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getDiff()[(x/2)%4][(y/2)%4]; + c[0] = v; + c[1] = v; + c[2] = v; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + public BufferedImage getDebugImageVPredBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int v; + v = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getPredict()[(x/2)%4][(y/2)%4]; + c[0] = v; + c[1] = v; + c[2] = v; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageYBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy; + yy = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getDest()[x%4][y%4]; + c[0] = yy; + c[1] = yy; + c[2] = yy; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageYDiffBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy; + yy = 127+this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getDiff()[x%4][y%4]; + c[0] = yy; + c[1] = yy; + c[2] = yy; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public BufferedImage getDebugImageYPredBuffer() { + BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); + WritableRaster imRas = bi.getWritableTile(0, 0); + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy; + yy = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getPredict()[x%4][y%4]; + c[0] = yy; + c[1] = yy; + c[2] = yy; + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + bufferCount++; + return bi; + } + + public int getFilterLevel() { + return filterLevel; + } + public int getFilterType() { + return filterType; + } + public int getFrameType() { + return frameType; + } + + public int getHeight() { + return height; + } + public SubBlock getLeftSubBlock(SubBlock sb, SubBlock.PLANE plane) { + SubBlock r = sb.getLeft(); + if(r==null) { + MacroBlock mb = sb.getMacroBlock(); + int y = mb.getSubblockY(sb); + MacroBlock mb2 = getMacroBlock(mb.getX()-1, mb.getY()); + //TODO: SPLIT + + while(plane==SubBlock.PLANE.Y2 && mb2.getYMode()== Globals.B_PRED) + mb2 = getMacroBlock(mb2.getX()-1, mb2.getY()); + + r = mb2.getRightSubBlock(y, sb.getPlane()); + + } + + return r; + } + public MacroBlock getMacroBlock(int mbCol, int mbRow) { + return macroBlocks[mbCol+1][mbRow+1]; + } + public int getMacroBlockCols() { + return macroBlockCols; + } + public String getMacroBlockDebugString(int mbx, int mby, int sbx, int sby) { + String r = new String(); + if(mbx 0) { + prob_skip_false = bc.readLiteral(8); + } + + while (++mb_row < macroBlockRows) { + int mb_col = -1; + while (++mb_col < macroBlockCols) { + + //if (this.segmentation_enabled > 0) { + // logger.log(Level.SEVERE, "TODO:"); + // throw new IllegalArgumentException("bad input: segmentation_enabled()"); + //} + // Read the macroblock coeff skip flag if this feature is in + // use, else default to 0 + MacroBlock mb = getMacroBlock(mb_col, mb_row); + + if ((segmentationIsEnabled >0) &&( updateMacroBlockSegmentationMap > 0)) { + int value = bc.readTree(Globals.macroBlockSegmentTree, this.macroBlockSegmentTreeProbs); + mb.setSegmentId(value); + } + + if(modeRefLoopFilterDeltaEnabled > 0) { + int level = filterLevel; + level = level + refLoopFilterDeltas[0]; + level = (level < 0) ? 0 : (level > 63) ? 63 : level; + mb.setFilterLevel(level); + } + else { + mb.setFilterLevel(segmentQuants.getSegQuants()[mb.getSegmentId()].getFilterStrength()); +// logger.error("TODO:"); + } + + int mb_skip_coeff = 0; + if (macroBlockNoCoeffSkip > 0) + mb_skip_coeff = bc.readBool(prob_skip_false); + else + mb_skip_coeff = 0; + mb.setSkipCoeff(mb_skip_coeff); + + int y_mode = readYMode(bc); + + mb.setYMode(y_mode); + + if (y_mode == Globals.B_PRED) { + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + + SubBlock sb = mb.getYSubBlock(j, i); + + SubBlock A = getAboveSubBlock(sb, SubBlock.PLANE.Y1); + + SubBlock L = getLeftSubBlock(sb, SubBlock.PLANE.Y1); + + int mode = readSubBlockMode(bc, A.getMode(), L.getMode()); + + sb.setMode(mode); + + } + } + if(modeRefLoopFilterDeltaEnabled > 0) { + int level = mb.getFilterLevel(); + level = level + this.modeLoopFilterDeltas[0]; + level = (level < 0) ? 0 : (level > 63) ? 63 : level; + mb.setFilterLevel(level); + } + } else { + int BMode; + + + switch (y_mode) { + case Globals.DC_PRED: + BMode = Globals.B_DC_PRED; + break; + case Globals.V_PRED: + BMode = Globals.B_VE_PRED; + break; + case Globals.H_PRED: + BMode = Globals.B_HE_PRED; + break; + case Globals.TM_PRED: + BMode = Globals.B_TM_PRED; + break; + default: + BMode = Globals.B_DC_PRED; + break; + } + for (int x = 0; x < 4; x++) { + for (int y = 0; y < 4; y++) { + SubBlock sb = mb.getYSubBlock(x, y); + sb.setMode(BMode); + } + } + } + int mode = readUvMode(bc); + mb.setUvMode(mode); + } + } + } + + + + private int readPartitionSize(long l) throws IOException { + frame.seek(l); + int size =frame.readUnsignedByte() + (frame.readUnsignedByte() << 8) + (frame.readUnsignedByte() << 16); + return size; + + } + private int readSubBlockMode(BoolDecoder bc, int A, int L) throws IOException { + int i = bc.readTree(Globals.vp8SubBlockModeTree, Globals.vp8KeyFrameSubBlockModeProb[A][L]); + return i; + } + private int readUvMode(BoolDecoder bc) throws IOException { + int i = bc.readTree(Globals.vp8UVModeTree, Globals.vp8KeyFrameUVModeProb); + return i; + } + + private int readYMode(BoolDecoder bc) throws IOException { + int i = bc.readTree(Globals.vp8KeyFrameYModeTree, Globals.vp8KeyFrameYModeProb); + return i; + } + + public void removeIIOReadProgressListener(IIOReadProgressListener listener) { + _listeners.remove(listener); + } + + public void setBuffersToCreate (int count) { + this.buffersToCreate = 3+count; + this.bufferCount=0; + } + + private void setupTokenDecoder(BoolDecoder bc, int first_partition_length_in_bytes, long offset) throws IOException { + + long partitionSize = 0; + long partitionsStart = offset+first_partition_length_in_bytes; + long partition = partitionsStart; + multiTokenPartition = bc.readLiteral(2); + int num_part = 1 << multiTokenPartition; + if (num_part > 1) { + partition += 3 * (num_part - 1); + } + for (int i = 0; i < num_part; i++) { + /* + * Calculate the length of this partition. The last partition size + * is implicit. + */ + if (i < num_part - 1) { + + partitionSize = readPartitionSize(partitionsStart+(i*3)); + bc.seek(); + } else { + partitionSize = frame.length() - partition; + } + + tokenBoolDecoders.add(new BoolDecoder(frame, partition)); + partition+=partitionSize; + } + tokenBoolDecoder = tokenBoolDecoders.elementAt(0); + } + + public void useBufferedImage(BufferedImage dst) { + WritableRaster imRas = dst.getWritableTile(0, 0); + + for(int x = 0; x< getWidth(); x++) { + for(int y = 0; y< getHeight(); y++) { + int c[] = new int[3]; + int yy, u, v; + yy = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.Y1, (x%16)/4, (y%16)/4).getDest()[x%4][y%4]; + u = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.U, ((x/2)%8)/4, ((y/2)%8)/4).getDest()[(x/2)%4][(y/2)%4]; + v = this.getMacroBlock(x/16, y/16).getSubBlock(SubBlock.PLANE.V, ((x/2)%8)/4, ((y/2)%8)/4).getDest()[(x/2)%4][(y/2)%4]; + c[0] = (int)( 1.164*(yy-16)+1.596*(v-128) ); + c[1] = (int)( 1.164*(yy-16)-0.813*(v-128)-0.391*(u-128) ); + c[2] = (int)( 1.164*(yy-16)+2.018*(u-128) ); + + for(int z=0; z<3; z++) { + if(c[z]<0) + c[z]=0; + if(c[z]>255) + c[z]=255; + } + imRas.setPixel(x, y, c); + } + fireRGBProgressUpdate(100.0F*x/getWidth()); + } + } + public void setFrame(ImageInputStream frame) { + try { + this.frame.flush(); + this.frame.close(); + this.frame = frame; + offset = frame.getStreamPosition(); + this.coefProbs=Globals.getDefaultCoefProbs(); + tokenBoolDecoders = new Vector(); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/src/net/sourceforge/plantuml/xmi/CucaDiagramXmiMaker.java b/src/net/sourceforge/plantuml/xmi/CucaDiagramXmiMaker.java index 467d5317f..dcc6e3dec 100644 --- a/src/net/sourceforge/plantuml/xmi/CucaDiagramXmiMaker.java +++ b/src/net/sourceforge/plantuml/xmi/CucaDiagramXmiMaker.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/xmi/IXmiClassDiagram.java b/src/net/sourceforge/plantuml/xmi/IXmiClassDiagram.java index 38b0e4321..e68edc11d 100644 --- a/src/net/sourceforge/plantuml/xmi/IXmiClassDiagram.java +++ b/src/net/sourceforge/plantuml/xmi/IXmiClassDiagram.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramArgo.java b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramArgo.java index 9d9c009d2..f8af1d273 100644 --- a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramArgo.java +++ b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramArgo.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStandard.java b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStandard.java index cf72a92c0..9aa21a147 100644 --- a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStandard.java +++ b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStandard.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStar.java b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStar.java index 6d21886f6..b7b4457ff 100644 --- a/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStar.java +++ b/src/net/sourceforge/plantuml/xmi/XmiClassDiagramStar.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2014, Arnaud Roques + * (C) Copyright 2009-2017, Arnaud Roques * * Project Info: http://plantuml.sourceforge.net * diff --git a/src/sprites/archimate/access.png b/src/sprites/archimate/access.png new file mode 100644 index 000000000..8e3ed7cd4 Binary files /dev/null and b/src/sprites/archimate/access.png differ diff --git a/src/sprites/archimate/activity.png b/src/sprites/archimate/activity.png new file mode 100644 index 000000000..cd291c112 Binary files /dev/null and b/src/sprites/archimate/activity.png differ diff --git a/src/sprites/archimate/actor.png b/src/sprites/archimate/actor.png new file mode 100644 index 000000000..e0a66a6f3 Binary files /dev/null and b/src/sprites/archimate/actor.png differ diff --git a/src/sprites/archimate/aggregation.png b/src/sprites/archimate/aggregation.png new file mode 100644 index 000000000..9ca0b9a85 Binary files /dev/null and b/src/sprites/archimate/aggregation.png differ diff --git a/src/sprites/archimate/application-collaboration.png b/src/sprites/archimate/application-collaboration.png new file mode 100644 index 000000000..83cfd9a56 Binary files /dev/null and b/src/sprites/archimate/application-collaboration.png differ diff --git a/src/sprites/archimate/application-component.png b/src/sprites/archimate/application-component.png new file mode 100644 index 000000000..bfd10c36f Binary files /dev/null and b/src/sprites/archimate/application-component.png differ diff --git a/src/sprites/archimate/application-data-object.png b/src/sprites/archimate/application-data-object.png new file mode 100644 index 000000000..3371fbb13 Binary files /dev/null and b/src/sprites/archimate/application-data-object.png differ diff --git a/src/sprites/archimate/application-function.png b/src/sprites/archimate/application-function.png new file mode 100644 index 000000000..3247f3473 Binary files /dev/null and b/src/sprites/archimate/application-function.png differ diff --git a/src/sprites/archimate/application-interaction.png b/src/sprites/archimate/application-interaction.png new file mode 100644 index 000000000..0084c6d1f Binary files /dev/null and b/src/sprites/archimate/application-interaction.png differ diff --git a/src/sprites/archimate/application-interface.png b/src/sprites/archimate/application-interface.png new file mode 100644 index 000000000..7663ba51c Binary files /dev/null and b/src/sprites/archimate/application-interface.png differ diff --git a/src/sprites/archimate/application-service.png b/src/sprites/archimate/application-service.png new file mode 100644 index 000000000..411291f4a Binary files /dev/null and b/src/sprites/archimate/application-service.png differ diff --git a/src/sprites/archimate/assessment-filled.png b/src/sprites/archimate/assessment-filled.png new file mode 100644 index 000000000..94eee5d53 Binary files /dev/null and b/src/sprites/archimate/assessment-filled.png differ diff --git a/src/sprites/archimate/assessment.png b/src/sprites/archimate/assessment.png new file mode 100644 index 000000000..a7137545f Binary files /dev/null and b/src/sprites/archimate/assessment.png differ diff --git a/src/sprites/archimate/assignment.png b/src/sprites/archimate/assignment.png new file mode 100644 index 000000000..4dc80e67b Binary files /dev/null and b/src/sprites/archimate/assignment.png differ diff --git a/src/sprites/archimate/association.png b/src/sprites/archimate/association.png new file mode 100644 index 000000000..17625f47a Binary files /dev/null and b/src/sprites/archimate/association.png differ diff --git a/src/sprites/archimate/business-activity.png b/src/sprites/archimate/business-activity.png new file mode 100644 index 000000000..e7738a0f3 Binary files /dev/null and b/src/sprites/archimate/business-activity.png differ diff --git a/src/sprites/archimate/business-actor.png b/src/sprites/archimate/business-actor.png new file mode 100644 index 000000000..57b96834a Binary files /dev/null and b/src/sprites/archimate/business-actor.png differ diff --git a/src/sprites/archimate/business-collaboration.png b/src/sprites/archimate/business-collaboration.png new file mode 100644 index 000000000..d716f62d5 Binary files /dev/null and b/src/sprites/archimate/business-collaboration.png differ diff --git a/src/sprites/archimate/business-contract.png b/src/sprites/archimate/business-contract.png new file mode 100644 index 000000000..351e0ef08 Binary files /dev/null and b/src/sprites/archimate/business-contract.png differ diff --git a/src/sprites/archimate/business-event.png b/src/sprites/archimate/business-event.png new file mode 100644 index 000000000..8ad664eef Binary files /dev/null and b/src/sprites/archimate/business-event.png differ diff --git a/src/sprites/archimate/business-function.png b/src/sprites/archimate/business-function.png new file mode 100644 index 000000000..ef5d9a545 Binary files /dev/null and b/src/sprites/archimate/business-function.png differ diff --git a/src/sprites/archimate/business-interaction.png b/src/sprites/archimate/business-interaction.png new file mode 100644 index 000000000..2ee93369b Binary files /dev/null and b/src/sprites/archimate/business-interaction.png differ diff --git a/src/sprites/archimate/business-interface.png b/src/sprites/archimate/business-interface.png new file mode 100644 index 000000000..39deb667f Binary files /dev/null and b/src/sprites/archimate/business-interface.png differ diff --git a/src/sprites/archimate/business-location.png b/src/sprites/archimate/business-location.png new file mode 100644 index 000000000..42629dffe Binary files /dev/null and b/src/sprites/archimate/business-location.png differ diff --git a/src/sprites/archimate/business-meaning.png b/src/sprites/archimate/business-meaning.png new file mode 100644 index 000000000..31bb920d8 Binary files /dev/null and b/src/sprites/archimate/business-meaning.png differ diff --git a/src/sprites/archimate/business-object.png b/src/sprites/archimate/business-object.png new file mode 100644 index 000000000..5882de502 Binary files /dev/null and b/src/sprites/archimate/business-object.png differ diff --git a/src/sprites/archimate/business-process.png b/src/sprites/archimate/business-process.png new file mode 100644 index 000000000..ab44048fb Binary files /dev/null and b/src/sprites/archimate/business-process.png differ diff --git a/src/sprites/archimate/business-product.png b/src/sprites/archimate/business-product.png new file mode 100644 index 000000000..f5f74af02 Binary files /dev/null and b/src/sprites/archimate/business-product.png differ diff --git a/src/sprites/archimate/business-representation.png b/src/sprites/archimate/business-representation.png new file mode 100644 index 000000000..7f12fe73c Binary files /dev/null and b/src/sprites/archimate/business-representation.png differ diff --git a/src/sprites/archimate/business-role.png b/src/sprites/archimate/business-role.png new file mode 100644 index 000000000..9ae92fb8a Binary files /dev/null and b/src/sprites/archimate/business-role.png differ diff --git a/src/sprites/archimate/business-service.png b/src/sprites/archimate/business-service.png new file mode 100644 index 000000000..2474be45a Binary files /dev/null and b/src/sprites/archimate/business-service.png differ diff --git a/src/sprites/archimate/business-value.png b/src/sprites/archimate/business-value.png new file mode 100644 index 000000000..78e45e764 Binary files /dev/null and b/src/sprites/archimate/business-value.png differ diff --git a/src/sprites/archimate/collaboration.png b/src/sprites/archimate/collaboration.png new file mode 100644 index 000000000..bbce8cb3e Binary files /dev/null and b/src/sprites/archimate/collaboration.png differ diff --git a/src/sprites/archimate/communication-path.png b/src/sprites/archimate/communication-path.png new file mode 100644 index 000000000..ccd8a7374 Binary files /dev/null and b/src/sprites/archimate/communication-path.png differ diff --git a/src/sprites/archimate/component.png b/src/sprites/archimate/component.png new file mode 100644 index 000000000..9e6966529 Binary files /dev/null and b/src/sprites/archimate/component.png differ diff --git a/src/sprites/archimate/composition.png b/src/sprites/archimate/composition.png new file mode 100644 index 000000000..65e8360d6 Binary files /dev/null and b/src/sprites/archimate/composition.png differ diff --git a/src/sprites/archimate/constraint-filled.png b/src/sprites/archimate/constraint-filled.png new file mode 100644 index 000000000..13290ed19 Binary files /dev/null and b/src/sprites/archimate/constraint-filled.png differ diff --git a/src/sprites/archimate/constraint.png b/src/sprites/archimate/constraint.png new file mode 100644 index 000000000..c6e781c43 Binary files /dev/null and b/src/sprites/archimate/constraint.png differ diff --git a/src/sprites/archimate/contract.png b/src/sprites/archimate/contract.png new file mode 100644 index 000000000..fe9c9bf4d Binary files /dev/null and b/src/sprites/archimate/contract.png differ diff --git a/src/sprites/archimate/deliverable-filled.png b/src/sprites/archimate/deliverable-filled.png new file mode 100644 index 000000000..9905438bd Binary files /dev/null and b/src/sprites/archimate/deliverable-filled.png differ diff --git a/src/sprites/archimate/device.png b/src/sprites/archimate/device.png new file mode 100644 index 000000000..3b7fbeee0 Binary files /dev/null and b/src/sprites/archimate/device.png differ diff --git a/src/sprites/archimate/driver-filled.png b/src/sprites/archimate/driver-filled.png new file mode 100644 index 000000000..62cbb1e4c Binary files /dev/null and b/src/sprites/archimate/driver-filled.png differ diff --git a/src/sprites/archimate/driver.png b/src/sprites/archimate/driver.png new file mode 100644 index 000000000..ae62eb377 Binary files /dev/null and b/src/sprites/archimate/driver.png differ diff --git a/src/sprites/archimate/event.png b/src/sprites/archimate/event.png new file mode 100644 index 000000000..5cb4990c7 Binary files /dev/null and b/src/sprites/archimate/event.png differ diff --git a/src/sprites/archimate/flow.png b/src/sprites/archimate/flow.png new file mode 100644 index 000000000..f31c58540 Binary files /dev/null and b/src/sprites/archimate/flow.png differ diff --git a/src/sprites/archimate/function.png b/src/sprites/archimate/function.png new file mode 100644 index 000000000..2c88eb00a Binary files /dev/null and b/src/sprites/archimate/function.png differ diff --git a/src/sprites/archimate/gap-filled.png b/src/sprites/archimate/gap-filled.png new file mode 100644 index 000000000..21c84b6aa Binary files /dev/null and b/src/sprites/archimate/gap-filled.png differ diff --git a/src/sprites/archimate/gap.png b/src/sprites/archimate/gap.png new file mode 100644 index 000000000..a75307dd7 Binary files /dev/null and b/src/sprites/archimate/gap.png differ diff --git a/src/sprites/archimate/goal-filled.png b/src/sprites/archimate/goal-filled.png new file mode 100644 index 000000000..f0d1beb1a Binary files /dev/null and b/src/sprites/archimate/goal-filled.png differ diff --git a/src/sprites/archimate/goal.png b/src/sprites/archimate/goal.png new file mode 100644 index 000000000..e80c0e84e Binary files /dev/null and b/src/sprites/archimate/goal.png differ diff --git a/src/sprites/archimate/influence.png b/src/sprites/archimate/influence.png new file mode 100644 index 000000000..9fd03df1f Binary files /dev/null and b/src/sprites/archimate/influence.png differ diff --git a/src/sprites/archimate/interaction.png b/src/sprites/archimate/interaction.png new file mode 100644 index 000000000..699b2261a Binary files /dev/null and b/src/sprites/archimate/interaction.png differ diff --git a/src/sprites/archimate/interface-required.png b/src/sprites/archimate/interface-required.png new file mode 100644 index 000000000..1f203bd2f Binary files /dev/null and b/src/sprites/archimate/interface-required.png differ diff --git a/src/sprites/archimate/interface-symmetric.png b/src/sprites/archimate/interface-symmetric.png new file mode 100644 index 000000000..421ca5d9e Binary files /dev/null and b/src/sprites/archimate/interface-symmetric.png differ diff --git a/src/sprites/archimate/interface.png b/src/sprites/archimate/interface.png new file mode 100644 index 000000000..c5573359b Binary files /dev/null and b/src/sprites/archimate/interface.png differ diff --git a/src/sprites/archimate/junction-and.png b/src/sprites/archimate/junction-and.png new file mode 100644 index 000000000..39fd6530e Binary files /dev/null and b/src/sprites/archimate/junction-and.png differ diff --git a/src/sprites/archimate/junction-or.png b/src/sprites/archimate/junction-or.png new file mode 100644 index 000000000..a997be0c8 Binary files /dev/null and b/src/sprites/archimate/junction-or.png differ diff --git a/src/sprites/archimate/junction.png b/src/sprites/archimate/junction.png new file mode 100644 index 000000000..9ee76c294 Binary files /dev/null and b/src/sprites/archimate/junction.png differ diff --git a/src/sprites/archimate/location.png b/src/sprites/archimate/location.png new file mode 100644 index 000000000..acb627e5b Binary files /dev/null and b/src/sprites/archimate/location.png differ diff --git a/src/sprites/archimate/meaning.png b/src/sprites/archimate/meaning.png new file mode 100644 index 000000000..4994c3384 Binary files /dev/null and b/src/sprites/archimate/meaning.png differ diff --git a/src/sprites/archimate/network.png b/src/sprites/archimate/network.png new file mode 100644 index 000000000..98be4c7d4 Binary files /dev/null and b/src/sprites/archimate/network.png differ diff --git a/src/sprites/archimate/node.png b/src/sprites/archimate/node.png new file mode 100644 index 000000000..348dc3a64 Binary files /dev/null and b/src/sprites/archimate/node.png differ diff --git a/src/sprites/archimate/object.png b/src/sprites/archimate/object.png new file mode 100644 index 000000000..2409ec283 Binary files /dev/null and b/src/sprites/archimate/object.png differ diff --git a/src/sprites/archimate/plateau.png b/src/sprites/archimate/plateau.png new file mode 100644 index 000000000..a7d63f0b6 Binary files /dev/null and b/src/sprites/archimate/plateau.png differ diff --git a/src/sprites/archimate/principle-filled.png b/src/sprites/archimate/principle-filled.png new file mode 100644 index 000000000..551c046c0 Binary files /dev/null and b/src/sprites/archimate/principle-filled.png differ diff --git a/src/sprites/archimate/principle.png b/src/sprites/archimate/principle.png new file mode 100644 index 000000000..d6174d59c Binary files /dev/null and b/src/sprites/archimate/principle.png differ diff --git a/src/sprites/archimate/process.png b/src/sprites/archimate/process.png new file mode 100644 index 000000000..e6a8f4130 Binary files /dev/null and b/src/sprites/archimate/process.png differ diff --git a/src/sprites/archimate/product.png b/src/sprites/archimate/product.png new file mode 100644 index 000000000..a60eb152a Binary files /dev/null and b/src/sprites/archimate/product.png differ diff --git a/src/sprites/archimate/realisation.png b/src/sprites/archimate/realisation.png new file mode 100644 index 000000000..fbeb0052b Binary files /dev/null and b/src/sprites/archimate/realisation.png differ diff --git a/src/sprites/archimate/representation.png b/src/sprites/archimate/representation.png new file mode 100644 index 000000000..0d8ac19e2 Binary files /dev/null and b/src/sprites/archimate/representation.png differ diff --git a/src/sprites/archimate/requirement-filled.png b/src/sprites/archimate/requirement-filled.png new file mode 100644 index 000000000..5767b4ac7 Binary files /dev/null and b/src/sprites/archimate/requirement-filled.png differ diff --git a/src/sprites/archimate/requirement.png b/src/sprites/archimate/requirement.png new file mode 100644 index 000000000..d5a7ee5a5 Binary files /dev/null and b/src/sprites/archimate/requirement.png differ diff --git a/src/sprites/archimate/role.png b/src/sprites/archimate/role.png new file mode 100644 index 000000000..d77dbad59 Binary files /dev/null and b/src/sprites/archimate/role.png differ diff --git a/src/sprites/archimate/service.png b/src/sprites/archimate/service.png new file mode 100644 index 000000000..0d5c36a47 Binary files /dev/null and b/src/sprites/archimate/service.png differ diff --git a/src/sprites/archimate/specialisation.png b/src/sprites/archimate/specialisation.png new file mode 100644 index 000000000..d3449a3a7 Binary files /dev/null and b/src/sprites/archimate/specialisation.png differ diff --git a/src/sprites/archimate/stakeholder-filled.png b/src/sprites/archimate/stakeholder-filled.png new file mode 100644 index 000000000..3925c0445 Binary files /dev/null and b/src/sprites/archimate/stakeholder-filled.png differ diff --git a/src/sprites/archimate/system-software.png b/src/sprites/archimate/system-software.png new file mode 100644 index 000000000..596cb4896 Binary files /dev/null and b/src/sprites/archimate/system-software.png differ diff --git a/src/sprites/archimate/technology-artifact.png b/src/sprites/archimate/technology-artifact.png new file mode 100644 index 000000000..5d8761364 Binary files /dev/null and b/src/sprites/archimate/technology-artifact.png differ diff --git a/src/sprites/archimate/technology-communication-path.png b/src/sprites/archimate/technology-communication-path.png new file mode 100644 index 000000000..3d45c937d Binary files /dev/null and b/src/sprites/archimate/technology-communication-path.png differ diff --git a/src/sprites/archimate/technology-device.png b/src/sprites/archimate/technology-device.png new file mode 100644 index 000000000..ed0550a99 Binary files /dev/null and b/src/sprites/archimate/technology-device.png differ diff --git a/src/sprites/archimate/technology-function.png b/src/sprites/archimate/technology-function.png new file mode 100644 index 000000000..cac91ea6a Binary files /dev/null and b/src/sprites/archimate/technology-function.png differ diff --git a/src/sprites/archimate/technology-infra-interface.png b/src/sprites/archimate/technology-infra-interface.png new file mode 100644 index 000000000..ac1e4d038 Binary files /dev/null and b/src/sprites/archimate/technology-infra-interface.png differ diff --git a/src/sprites/archimate/technology-infra-service.png b/src/sprites/archimate/technology-infra-service.png new file mode 100644 index 000000000..bc398eac3 Binary files /dev/null and b/src/sprites/archimate/technology-infra-service.png differ diff --git a/src/sprites/archimate/technology-network.png b/src/sprites/archimate/technology-network.png new file mode 100644 index 000000000..95ec28b2d Binary files /dev/null and b/src/sprites/archimate/technology-network.png differ diff --git a/src/sprites/archimate/technology-node.png b/src/sprites/archimate/technology-node.png new file mode 100644 index 000000000..a83440ba1 Binary files /dev/null and b/src/sprites/archimate/technology-node.png differ diff --git a/src/sprites/archimate/technology-system-software.png b/src/sprites/archimate/technology-system-software.png new file mode 100644 index 000000000..aa729b469 Binary files /dev/null and b/src/sprites/archimate/technology-system-software.png differ diff --git a/src/sprites/archimate/triggering.png b/src/sprites/archimate/triggering.png new file mode 100644 index 000000000..f1e6f53b2 Binary files /dev/null and b/src/sprites/archimate/triggering.png differ diff --git a/src/sprites/archimate/used-by.png b/src/sprites/archimate/used-by.png new file mode 100644 index 000000000..ddf59056f Binary files /dev/null and b/src/sprites/archimate/used-by.png differ diff --git a/src/sprites/archimate/value.png b/src/sprites/archimate/value.png new file mode 100644 index 000000000..ab64ce4c2 Binary files /dev/null and b/src/sprites/archimate/value.png differ diff --git a/src/sprites/archimate/workpackage-filled.png b/src/sprites/archimate/workpackage-filled.png new file mode 100644 index 000000000..8ece99c39 Binary files /dev/null and b/src/sprites/archimate/workpackage-filled.png differ