From 5cdd5c76e5b24bfa3890dcd8c4a734c6310c30bb Mon Sep 17 00:00:00 2001 From: Arnaud Roques Date: Sat, 4 Mar 2023 10:34:43 +0100 Subject: [PATCH] wip --- src/gen/lib/dotgen/dotsplines__c.java | 32 ++--- src/gen/lib/dotgen/mincross__c.java | 3 +- src/net/sourceforge/plantuml/StringUtils.java | 120 +++++++++--------- .../ftile/CollisionDetector.java | 2 +- .../activitydiagram3/ftile/FtileGeometry.java | 1 + .../ftile/FtileMargedRight.java | 2 +- .../activitydiagram3/ftile/Genealogy.java | 2 +- .../activitydiagram3/ftile/Snake.java | 4 +- .../activitydiagram3/ftile/Swimlane.java | 2 +- .../ftile/UGraphicInterceptorUDrawable2.java | 2 +- .../plantuml/activitydiagram3/ftile/Worm.java | 6 +- .../activitydiagram3/ftile/WormTexted.java | 4 +- .../activitydiagram3/ftile/ZadBuilder.java | 2 +- .../ftile/vcompact/FtileWithNoteOpale.java | 2 +- .../ftile/vertical/FtileDecorate.java | 2 +- .../activitydiagram3/gtile/GtileColumns.java | 2 +- .../gtile/GtileHexagonInsideLabelled.java | 4 +- .../activitydiagram3/gtile/GtileTopDown.java | 6 +- .../activitydiagram3/gtile/GtileTopDown3.java | 6 +- .../sourceforge/plantuml/bpm/GridArray.java | 2 +- .../cucadiagram/BodierLikeClassOrObject.java | 4 +- .../plantuml/cucadiagram/BodyEnhanced1.java | 11 -- .../decoration/symbol/USymbolFolder.java | 2 +- .../plantuml/dot/Neighborhood.java | 2 +- .../plantuml/eggs/PSystemColors.java | 2 +- .../plantuml/elk/CucaDiagramFileMakerElk.java | 6 +- src/net/sourceforge/plantuml/elk/ElkPath.java | 4 +- .../plantuml/jsondiagram/JsonCurve.java | 2 +- .../plantuml/klimt/AffineTransformType.java | 2 + .../sourceforge/plantuml/klimt/UMotif.java | 2 +- .../plantuml/klimt/UTranslate.java | 14 +- .../plantuml/klimt/compress/SlotFinder.java | 2 +- .../compress/UGraphicCompressOnXorY.java | 2 +- .../klimt/drawing/AbstractCommonUGraphic.java | 2 +- .../AbstractUGraphicHorizontalLine.java | 2 +- .../plantuml/klimt/drawing/LimitFinder.java | 2 +- .../klimt/drawing/TextLimitFinder.java | 2 +- .../klimt/drawing/hand/UPathHand.java | 2 +- .../klimt/font/FontConfiguration.java | 7 +- .../plantuml/klimt/font/FontParam.java | 2 + .../plantuml/klimt/font/FontPosition.java | 3 + .../plantuml/klimt/font/FontStyle.java | 1 + .../plantuml/klimt/font/StringBounder.java | 3 +- .../plantuml/klimt/font/StringBounderRaw.java | 1 + .../plantuml/klimt/font/UFont.java | 34 +++-- .../plantuml/klimt/font/UFontContext.java | 4 +- .../plantuml/klimt/font/UnusedSpace.java | 1 + .../klimt/geom/HorizontalAlignment.java | 4 +- .../klimt/geom/MagneticBorderNone.java | 2 +- .../plantuml/klimt/geom/ULayoutGroup.java | 4 +- .../plantuml/klimt/geom/USegment.java | 5 + .../plantuml/klimt/geom/USegmentType.java | 1 + .../plantuml/klimt/geom/XDimension2D.java | 13 +- .../plantuml/klimt/geom/XLine2D.java | 11 +- .../plantuml/klimt/geom/XPoint2D.java | 22 ++-- .../plantuml/klimt/geom/XRectangle2D.java | 9 +- .../klimt/shape/AbstractTextBlock.java | 1 + .../plantuml/klimt/shape/BigFrame.java | 2 + .../klimt/shape/CircledCharacter.java | 1 + .../plantuml/klimt/shape/DotPath.java | 1 + .../plantuml/klimt/shape/GraphicStrings.java | 1 + .../klimt/shape/SimpleTextBlockBordered.java | 1 + .../plantuml/klimt/shape/SingleLine.java | 1 + .../plantuml/klimt/shape/TextBlock.java | 2 + .../plantuml/klimt/shape/TextBlockArrow.java | 1 + .../plantuml/klimt/shape/TextBlockArrow2.java | 1 + .../klimt/shape/TextBlockBordered.java | 1 + .../plantuml/klimt/shape/TextBlockEmpty.java | 1 + .../klimt/shape/TextBlockGeneric.java | 1 + .../klimt/shape/TextBlockHorizontal.java | 1 + .../klimt/shape/TextBlockInEllipse.java | 1 + .../klimt/shape/TextBlockLineBefore.java | 1 + .../plantuml/klimt/shape/TextBlockMarged.java | 1 + .../klimt/shape/TextBlockMinWidth.java | 1 + .../plantuml/klimt/shape/TextBlockRaw.java | 1 + .../klimt/shape/TextBlockRecentred.java | 1 + .../plantuml/klimt/shape/TextBlockSimple.java | 1 + .../klimt/shape/TextBlockSprited.java | 1 + .../plantuml/klimt/shape/TextBlockTitle.java | 1 + .../plantuml/klimt/shape/TextBlockUtils.java | 1 + .../klimt/shape/TextBlockVertical2.java | 1 + .../klimt/shape/TextBlockWithUrl.java | 1 + .../plantuml/klimt/shape/TileImage.java | 1 + .../plantuml/klimt/shape/TileImageSvg.java | 1 + .../plantuml/klimt/shape/TileText.java | 1 + .../klimt/shape/UCenteredCharacter.java | 1 + .../plantuml/klimt/shape/UDrawable.java | 2 + .../plantuml/klimt/shape/UEllipse.java | 1 + .../plantuml/klimt/shape/UHorizontalLine.java | 2 +- .../plantuml/klimt/shape/UImage.java | 1 + .../plantuml/klimt/shape/UImageSvg.java | 1 + .../plantuml/klimt/shape/ULine.java | 4 + .../plantuml/klimt/shape/UPolygon.java | 1 + .../plantuml/klimt/shape/URectangle.java | 1 + .../plantuml/klimt/shape/UText.java | 1 + .../plantuml/logo/TurtleGraphicsPane.java | 2 +- .../plantuml/mindmap/FingerImpl.java | 2 +- .../plantuml/posimo/LineRectIntersection.java | 8 +- .../posimo/RacorderFollowTangeanteOld.java | 2 +- .../plantuml/posimo/RacorderInToCenter.java | 2 +- .../sdot/CucaDiagramFileMakerSmetana.java | 2 +- .../plantuml/sdot/SmetanaPath.java | 2 +- .../sequencediagram/graphic/DrawableSet.java | 2 +- .../plantuml/skin/ActorStickMan.java | 2 +- .../sourceforge/plantuml/skin/SkinParam.java | 2 +- .../style/ClockwiseTopRightBottomLeft.java | 2 + .../plantuml/style/CommandStyleImport.java | 1 + .../style/CommandStyleMultilinesCSS.java | 1 + .../plantuml/style/FromSkinparamToStyle.java | 1 + .../plantuml/style/ISkinParam.java | 1 + .../plantuml/style/ISkinSimple.java | 1 + src/net/sourceforge/plantuml/style/Style.java | 3 +- .../plantuml/style/StyleBuilder.java | 2 +- .../plantuml/style/StyleLoader.java | 1 + .../plantuml/style/StyleSignature.java | 1 + .../plantuml/style/StyleSignatureBasic.java | 1 + .../plantuml/style/StyleSignatures.java | 1 + .../sourceforge/plantuml/style/Styleable.java | 1 + src/net/sourceforge/plantuml/style/Value.java | 1 + .../plantuml/style/ValueAbstract.java | 1 + .../plantuml/style/ValueColor.java | 1 + .../sourceforge/plantuml/style/ValueImpl.java | 1 + .../sourceforge/plantuml/style/ValueNull.java | 1 + .../sourceforge/plantuml/style/WithStyle.java | 1 + .../plantuml/svek/CircleAndArrow.java | 2 +- .../sourceforge/plantuml/svek/Cluster.java | 11 +- .../sourceforge/plantuml/svek/SvekLine.java | 10 +- .../sourceforge/plantuml/svek/SvekNode.java | 4 +- .../plantuml/svek/extremity/Extremity.java | 2 +- .../svek/extremity/ExtremityArrow.java | 4 +- .../svek/extremity/ExtremityDiamond.java | 2 +- .../plantuml/svek/image/Circle.java | 2 +- .../plantuml/svek/image/ConnectedCircle.java | 2 +- .../svek/image/EntityImageDescription.java | 4 +- .../EntityImageLollipopInterfaceEye1.java | 2 +- .../svek/image/EntityImageObject.java | 8 +- .../svek/image/EntityImageUseCase.java | 2 +- .../plantuml/svek/image/Footprint.java | 2 +- .../plantuml/swing/FontChecker.java | 4 +- .../timingdiagram/graphic/Histogram.java | 8 +- .../timingdiagram/graphic/TimeArrow.java | 2 +- .../sourceforge/plantuml/version/Version.java | 2 +- src/net/sourceforge/plantuml/wbs/WBSLink.java | 2 +- .../plantuml/wbs/WBSTextBlock.java | 2 +- .../sourceforge/plantuml/wire/WCursor.java | 2 +- .../plantuml/wire/WireDiagram.java | 2 +- 146 files changed, 325 insertions(+), 249 deletions(-) diff --git a/src/gen/lib/dotgen/dotsplines__c.java b/src/gen/lib/dotgen/dotsplines__c.java index 9af4d4a6c..fe142ac22 100644 --- a/src/gen/lib/dotgen/dotsplines__c.java +++ b/src/gen/lib/dotgen/dotsplines__c.java @@ -1014,22 +1014,22 @@ try { points.get__(7).y = tp.y; } else { /* up */ -UNSUPPORTED("7owdudualx55z2cnm9x3iio0w"); // points[0] = tp; -UNSUPPORTED("43w0zont6q3y1axlcy96rzm5x"); // points[1].x = uminx; -UNSUPPORTED("285u4l65puy5nr3pgq6acl4i2"); // points[1].y = tp.y; -UNSUPPORTED("uctdrwzmec4w6vmirs9on197"); // points[2].x = uminx; -UNSUPPORTED("d9b8e2upja8koam9memys7nj1"); // points[2].y = maxy; -UNSUPPORTED("e8a8ucdpq7sgmbi3qyldleb1s"); // points[3].x = umaxx; -UNSUPPORTED("d7xd9vzbdbezltrxsp9a3byuc"); // points[3].y = maxy; -UNSUPPORTED("59abeyxxk9ow1g6m45t4ahih7"); // points[4].x = umaxx; -UNSUPPORTED("2lzgl5468xguophz9d5wyer2x"); // points[4].y = hp.y; -UNSUPPORTED("41u0uroraw4xanvpgg6l74kyh"); // points[5].x = hp.x; -UNSUPPORTED("cwkk5bnko3e1udrx4cb720zss"); // points[5].y = hp.y; -UNSUPPORTED("eev7hf3617k74bnq18uiedyb0"); // points[6].x = hp.x; -UNSUPPORTED("aqxt1dvgfq5zcptjwgx1b3mmq"); // points[6].y = maxy + 6; -UNSUPPORTED("5s3o04yf5lzca6ruuygfxngj2"); // points[7].x = tp.x; -UNSUPPORTED("56zheeat0b8mo4uvlcbvgbu80"); // points[7].y = maxy + 6; -UNSUPPORTED("7un2qk34mmmhqi296vl50bacs"); // maxy += + 6; + points.get__(0).___(tp); + points.get__(1).x = uminx; + points.get__(1).y = tp.y; + points.get__(2).x = uminx; + points.get__(2).y = maxy; + points.get__(3).x = umaxx; + points.get__(3).y = maxy; + points.get__(4).x = umaxx; + points.get__(4).y = hp.y; + points.get__(5).x = hp.x; + points.get__(5).y = hp.y; + points.get__(6).x = hp.x; + points.get__(6).y = maxy + 6; + points.get__(7).x = tp.x; + points.get__(7).y = maxy + 6; + maxy += + 6; } poly.pn = 8; poly.ps = points; diff --git a/src/gen/lib/dotgen/mincross__c.java b/src/gen/lib/dotgen/mincross__c.java index f12d670cb..05b6f81c8 100644 --- a/src/gen/lib/dotgen/mincross__c.java +++ b/src/gen/lib/dotgen/mincross__c.java @@ -207,7 +207,8 @@ try { rv.nrows = i; rv.ncols = j; // Arnaud 15/09/2022: the j+1 is needed in some case to avoid ArrayIndexOutOfBoundsException - rv.data = new int[i][j+1]; // Or maybe new int[j][i] ? + // Arnaud 02/03/2023: the j+3 is needed in some case to avoid ArrayIndexOutOfBoundsException + rv.data = new int[i][j+3]; // Or maybe new int[j][i] ? return rv; } finally { LEAVING("756bre1tpxb1tq68p7xhkrxkc","new_matrix"); diff --git a/src/net/sourceforge/plantuml/StringUtils.java b/src/net/sourceforge/plantuml/StringUtils.java index a5a079759..5b8589c7c 100644 --- a/src/net/sourceforge/plantuml/StringUtils.java +++ b/src/net/sourceforge/plantuml/StringUtils.java @@ -53,6 +53,48 @@ import net.sourceforge.plantuml.utils.Log; // Do not move public class StringUtils { + public static String goUpperCase(String s) { + // ::comment when __HAXE__ + return s.toUpperCase(Locale.ENGLISH); + // ::done + // ::uncomment when __HAXE__ + // return s.toUpperCase(); + // ::done + } + + public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s, String format) { + if (s == null) + return null; + + if (format.contains("\"") && s.length() > 1 && isDoubleQuote(s.charAt(0)) + && isDoubleQuote(s.charAt(s.length() - 1))) + return s.substring(1, s.length() - 1); + + if (format.contains("(") && s.startsWith("(") && s.endsWith(")")) + return s.substring(1, s.length() - 1); + + if (format.contains("[") && s.startsWith("[") && s.endsWith("]")) + return s.substring(1, s.length() - 1); + + if (format.contains(":") && s.startsWith(":") && s.endsWith(":")) + return s.substring(1, s.length() - 1); + + return s; + } + + public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s) { + if (s == null) + return s; + + return eventuallyRemoveStartingAndEndingDoubleQuote(s, "\"([:"); + } + + private static boolean isDoubleQuote(char c) { + return c == '\"' || c == '\u201c' || c == '\u201d' || c == '\u00ab' || c == '\u00bb'; + } + + // ::comment when __HAXE__ + public static final char USER_NEWLINE = '\uEE00'; public static final char USER_TAB = '\uEE01'; @@ -108,7 +150,6 @@ public class StringUtils { } - // ::comment when __HAXE__ final static public List getSplit(Pattern2 pattern, String line) { final Matcher2 m = pattern.matcher(line); if (m.find() == false) @@ -120,7 +161,6 @@ public class StringUtils { return result; } - // ::done public static boolean isNotEmpty(CharSequence s) { return !isEmpty(s); @@ -175,7 +215,6 @@ public class StringUtils { return result.toString(); } - // ::comment when __HAXE__ public static String unicodeForHtml(Display display) { final StringBuilder result = new StringBuilder(); for (int i = 0; i < display.size(); i++) { @@ -186,7 +225,6 @@ public class StringUtils { } return result.toString(); } - // ::done public static String manageArrowForSequence(String s) { s = s.replace('=', '-').toLowerCase(); @@ -197,10 +235,6 @@ public class StringUtils { return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase(); } - public static String goUpperCase(String s) { - return s.toUpperCase(Locale.ENGLISH); - } - public static char goUpperCase(char c) { return goUpperCase("" + c).charAt(0); } @@ -291,44 +325,11 @@ public class StringUtils { // return Code.of(eventuallyRemoveStartingAndEndingDoubleQuote(s.getCode())); // } - public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s, String format) { - if (s == null) - return null; - - if (format.contains("\"") && s.length() > 1 && isDoubleQuote(s.charAt(0)) - && isDoubleQuote(s.charAt(s.length() - 1))) - return s.substring(1, s.length() - 1); - - if (format.contains("(") && s.startsWith("(") && s.endsWith(")")) - return s.substring(1, s.length() - 1); - - if (format.contains("[") && s.startsWith("[") && s.endsWith("]")) - return s.substring(1, s.length() - 1); - - if (format.contains(":") && s.startsWith(":") && s.endsWith(":")) - return s.substring(1, s.length() - 1); - - return s; - } - - public static String eventuallyRemoveStartingAndEndingDoubleQuote(String s) { - if (s == null) - return s; - - return eventuallyRemoveStartingAndEndingDoubleQuote(s, "\"([:"); - } - - private static boolean isDoubleQuote(char c) { - return c == '\"' || c == '\u201c' || c == '\u201d' || c == '\u00ab' || c == '\u00bb'; - } - - // ::comment when __HAXE__ public static boolean isCJK(char c) { final Character.UnicodeBlock block = Character.UnicodeBlock.of(c); Log.println("block=" + block); return false; } - // ::done public static char hiddenLesserThan() { return '\u0005'; @@ -359,31 +360,13 @@ public class StringUtils { // return result; // } - // ::comment when __CORE__ or __HAXE__ - public static int getWcWidth(Display stringsToDisplay) { - int result = 1; - for (CharSequence s : stringsToDisplay) { - if (s == null) - continue; - - final int length = Wcwidth.length(s); - if (result < length) - result = length; - - } - return result; - } - // ::done - public static int getHeight(List stringsToDisplay) { return stringsToDisplay.size(); } - // ::comment when __HAXE__ public static int getHeight(Display stringsToDisplay) { return stringsToDisplay.size(); } - // ::done public static boolean isDiagramCacheable(String uml) { if (uml.length() < 35) @@ -437,7 +420,6 @@ public class StringUtils { return Integer.parseInt(uml.substring(x1, x2)); } - // ::comment when __HAXE__ public static List splitComma(String s) { s = trin(s); final List result = new ArrayList<>(); @@ -448,7 +430,6 @@ public class StringUtils { return Collections.unmodifiableList(result); } - // ::done public static String getUid(String uid1, int uid2) { return uid1 + String.format("%04d", uid2); @@ -573,6 +554,23 @@ public class StringUtils { s = s.substring(s.length() - 6); return "#" + s; } + // ::done + + // ::comment when __CORE__ or __HAXE__ + public static int getWcWidth(Display stringsToDisplay) { + int result = 1; + for (CharSequence s : stringsToDisplay) { + if (s == null) + continue; + + final int length = Wcwidth.length(s); + if (result < length) + result = length; + + } + return result; + } + // ::done // http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java index 7db90a055..e23dd1fd0 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/CollisionDetector.java @@ -66,7 +66,7 @@ public class CollisionDetector extends UGraphicNo { private final Context context; private static CollisionDetector create(StringBounder stringBounder) { - return new CollisionDetector(stringBounder, new UTranslate(), new Context()); + return new CollisionDetector(stringBounder, UTranslate.none(), new Context()); } private CollisionDetector(StringBounder stringBounder, UTranslate translate, Context context) { diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java index 0d4c6e243..cccbfaef6 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileGeometry.java @@ -97,6 +97,7 @@ public class FtileGeometry extends XDimension2D { } public FtileGeometry(double width, double height, double left, double inY, double outY) { + super(width, height); this.left = left; this.inY = inY; this.outY = outY; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java index a1dde40d1..b22a2fb46 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/FtileMargedRight.java @@ -98,7 +98,7 @@ public class FtileMargedRight extends AbstractFtile { @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile) - return new UTranslate(); + return UTranslate.none(); return super.getTranslateFor(child, stringBounder); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Genealogy.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Genealogy.java index 4c3b929d9..5df2fea4e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Genealogy.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Genealogy.java @@ -76,7 +76,7 @@ public class Genealogy { public UTranslate getTranslate(Ftile child, StringBounder stringBounder) { Ftile current = child; - UTranslate result = new UTranslate(); + UTranslate result = UTranslate.none(); while (current != root) { final Ftile father = getMyFather(current); final UTranslate tr = father.getTranslateFor(current, stringBounder); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java index 377d19554..c0cbc6f07 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Snake.java @@ -239,7 +239,7 @@ public class Snake implements UShape { for (Text text : texts) if (text.hasText(ug.getStringBounder())) { final XPoint2D position = getTextBlockPosition(ug.getStringBounder(), text); - text.textBlock.drawU(ug.apply(new UTranslate(position))); + text.textBlock.drawU(ug.apply(UTranslate.point(position))); } } @@ -290,7 +290,7 @@ public class Snake implements UShape { final XPoint2D pt1 = worm.get(i); final XPoint2D pt2 = worm.get(i + 1); if (pt1.getY() == pt2.getY()) { - final XLine2D line = new XLine2D(pt1, pt2); + final XLine2D line = XLine2D.line(pt1, pt2); result.add(line); } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java index b6de91700..250750655 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlane.java @@ -51,7 +51,7 @@ public class Swimlane implements SpecificBackcolorable, Comparable { private final int order; private Display display; - private UTranslate translate = new UTranslate(); + private UTranslate translate = UTranslate.none(); private double actualWidth; public Swimlane(String name, int order) { diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java index b593081fc..6a54d50d8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java @@ -99,7 +99,7 @@ public class UGraphicInterceptorUDrawable2 extends UGraphicDelegator { final FtileGeometry geom = ftile.calculateDimension(getStringBounder()); final XPoint2D pt = geom.getPointIn(); UGraphic ugGoto = getUg().apply(gotoColor).apply(gotoColor.bg()); - ugGoto = ugGoto.apply(new UTranslate(pt)); + ugGoto = ugGoto.apply(UTranslate.point(pt)); final UTranslate posNow = getPosition(); final UTranslate dest = positions.get(ftile.getName()); if (dest == null) diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Worm.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Worm.java index ba797bcfc..9a6ca85c2 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Worm.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Worm.java @@ -106,7 +106,7 @@ public class Worm implements Iterable { for (int i = 0; i < points.size() - 1; i++) { final XPoint2D p1 = points.get(i); final XPoint2D p2 = points.get(i + 1); - final XLine2D line = new XLine2D(p1, p2); + final XLine2D line = XLine2D.line(p1, p2); if (drawn == false && emphasizeDirection != null && Direction.fromVector(p1, p2) == emphasizeDirection) { drawLine(ug, line, emphasizeDirection); drawn = true; @@ -131,7 +131,7 @@ public class Worm implements Iterable { if (ignoreForCompression) startDecoration.setCompressionMode(CompressionMode.ON_X); - ug.apply(new UTranslate(start)).apply(UStroke.simple()).draw(startDecoration); + ug.apply(UTranslate.point(start)).apply(UStroke.simple()).draw(startDecoration); } if (endDecoration != null) { ug = ug.apply(UStroke.withThickness(1.5)); @@ -139,7 +139,7 @@ public class Worm implements Iterable { if (ignoreForCompression) endDecoration.setCompressionMode(CompressionMode.ON_X); - ug.apply(new UTranslate(end)).apply(UStroke.simple()).draw(endDecoration); + ug.apply(UTranslate.point(end)).apply(UStroke.simple()).draw(endDecoration); } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormTexted.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormTexted.java index 4b4c21261..a3ee3b248 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormTexted.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/WormTexted.java @@ -51,7 +51,7 @@ import net.sourceforge.plantuml.style.Style; import net.sourceforge.plantuml.utils.Direction; public class WormTexted implements Iterable { - // ::remove folder when __HAXE__ + // ::remove folder when __HAXE__ private final Worm worm; private TextBlock textBlock; @@ -138,7 +138,7 @@ public class WormTexted implements Iterable { void drawInternalLabel(UGraphic ug) { if (textBlock != null) { final XPoint2D position = getTextBlockPosition(ug.getStringBounder()); - textBlock.drawU(ug.apply(new UTranslate(position))); + textBlock.drawU(ug.apply(UTranslate.point(position))); } } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ZadBuilder.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ZadBuilder.java index fcac1a51e..e0a5e4c83 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/ZadBuilder.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/ZadBuilder.java @@ -63,7 +63,7 @@ public class ZadBuilder extends UGraphicNo { } public ZadBuilder(StringBounder stringBounder) { - super(stringBounder, new UTranslate()); + super(stringBounder, UTranslate.none()); this.context = new Context(); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java index b8d5f0472..2f20d5164 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vcompact/FtileWithNoteOpale.java @@ -169,7 +169,7 @@ public class FtileWithNoteOpale extends AbstractFtile implements Stencil, Stylea @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == tile) - return new UTranslate(); + return UTranslate.none(); return super.getTranslateFor(child, stringBounder); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java index 18501b341..551a48f8e 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileDecorate.java @@ -130,7 +130,7 @@ public abstract class FtileDecorate extends AbstractTextBlock implements Ftile { @Override public UTranslate getTranslateFor(Ftile child, StringBounder stringBounder) { if (child == ftile) - return new UTranslate(); + return UTranslate.none(); return ftile.getTranslateFor(child, stringBounder); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileColumns.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileColumns.java index 88dfccb81..1050b90c4 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileColumns.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileColumns.java @@ -103,7 +103,7 @@ public class GtileColumns extends AbstractGtile { for (int i = 0; i < gtiles.size(); i++) { final XDimension2D dim = gtiles.get(i).calculateDimension(stringBounder); final UTranslate pos = getPosition(i); - final XDimension2D corner = pos.getTranslated(dim); + final XDimension2D corner = dim.applyTranslate(pos); result = MathUtils.max(result, corner); } return result; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileHexagonInsideLabelled.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileHexagonInsideLabelled.java index e77baeabf..5600c6fba 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileHexagonInsideLabelled.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileHexagonInsideLabelled.java @@ -102,10 +102,10 @@ public class GtileHexagonInsideLabelled extends GtileWithMargin { public XDimension2D calculateDimension(StringBounder stringBounder) { final XDimension2D tmp = super.calculateDimension(stringBounder); final UTranslate south = getCoord(GPoint.SOUTH_HOOK); - final XDimension2D southCorner = south.getTranslated(southLabel.calculateDimension(stringBounder)); + final XDimension2D southCorner = southLabel.calculateDimension(stringBounder).applyTranslate(south); final UTranslate east = getCoord(GPoint.EAST_HOOK); - final XDimension2D eastCorner = east.getTranslated(eastLabel.calculateDimension(stringBounder)); + final XDimension2D eastCorner = eastLabel.calculateDimension(stringBounder).applyTranslate(east); return MathUtils.max(tmp, southCorner, eastCorner); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown.java index 6b89d215c..fe8581753 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown.java @@ -79,7 +79,7 @@ public class GtileTopDown extends AbstractGtile { } protected UTranslate supplementaryMove() { - return new UTranslate(); + return UTranslate.none(); } @Override @@ -116,8 +116,8 @@ public class GtileTopDown extends AbstractGtile { @Override public XDimension2D calculateDimension(StringBounder stringBounder) { - final XDimension2D corner1 = getPos1().getTranslated(dim1); - final XDimension2D corner2 = getPos2().getTranslated(dim2); + final XDimension2D corner1 = dim1.applyTranslate(getPos1()); + final XDimension2D corner2 = dim2.applyTranslate(getPos2()); return MathUtils.max(corner1, corner2); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown3.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown3.java index 7c3f507b3..7410af7d7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown3.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileTopDown3.java @@ -118,9 +118,9 @@ public class GtileTopDown3 extends AbstractGtile { @Override public XDimension2D calculateDimension(StringBounder stringBounder) { - final XDimension2D corner1 = getPos1().getTranslated(dim1); - final XDimension2D corner2 = getPos2().getTranslated(dim2); - final XDimension2D corner3 = getPos3().getTranslated(dim3); + final XDimension2D corner1 = dim1.applyTranslate(getPos1()); + final XDimension2D corner2 = dim2.applyTranslate(getPos2()); + final XDimension2D corner3 = dim3.applyTranslate(getPos3()); return MathUtils.max(corner1, corner2, corner3); } diff --git a/src/net/sourceforge/plantuml/bpm/GridArray.java b/src/net/sourceforge/plantuml/bpm/GridArray.java index 5cd46d42d..4119bc090 100644 --- a/src/net/sourceforge/plantuml/bpm/GridArray.java +++ b/src/net/sourceforge/plantuml/bpm/GridArray.java @@ -170,7 +170,7 @@ public class GridArray implements UDrawable { private void drawArrow(UGraphic ug, XPoint2D pt1, XPoint2D pt2) { ug = ug.apply(HColors.BLUE); final ULine line = new ULine(pt2.getX() - pt1.getX(), pt2.getY() - pt1.getY()); - ug.apply(new UTranslate(pt1)).draw(line); + ug.apply(UTranslate.point(pt1)).draw(line); } private XPoint2D getCenterOf(StringBounder stringBounder, int c, int l) { diff --git a/src/net/sourceforge/plantuml/cucadiagram/BodierLikeClassOrObject.java b/src/net/sourceforge/plantuml/cucadiagram/BodierLikeClassOrObject.java index 9be47b043..bd2999d02 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/BodierLikeClassOrObject.java +++ b/src/net/sourceforge/plantuml/cucadiagram/BodierLikeClassOrObject.java @@ -231,7 +231,9 @@ public class BodierLikeClassOrObject implements Bodier { if (type == LeafType.OBJECT) { if (showFields == false) - return new TextBlockLineBefore(style.value(PName.LineThickness).asDouble(), TextBlockUtils.empty(0, 0)); + // return new TextBlockLineBefore(style.value(PName.LineThickness).asDouble(), + // TextBlockUtils.empty(0, 0)); + return TextBlockUtils.empty(0, 0); return BodyFactory.create1(skinParam.getDefaultTextAlignment(HorizontalAlignment.LEFT), rawBodyWithoutHidden(), skinParam, stereotype, leaf, style); diff --git a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced1.java b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced1.java index d35b002f2..c9b12b516 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced1.java +++ b/src/net/sourceforge/plantuml/cucadiagram/BodyEnhanced1.java @@ -133,17 +133,6 @@ public class BodyEnhanced1 extends BodyEnhancedAbstract implements TextBlock, Wi Display display = null; for (ListIterator it = rawBody2.iterator(); it.hasNext();) { final CharSequence cs = it.next(); -// if (cs instanceof EmbeddedDiagram) { -// if (display == null) -// display = Display.empty(); -// if (display.size() > 0 || separator != 0) { -// blocks.add(buildTextBlock(display, separator, title, stringBounder)); -// separator = 0; -// title = null; -// display = null; -// } -// blocks.add(TextBlockUtils.withMargin(((EmbeddedDiagram) cs).asDraw(), 2, 2)); -// } else { final String s = cs.toString(); if (isBlockSeparator(s)) { if (display == null) diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java index 8ddf3b224..23a2ed530 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java @@ -202,7 +202,7 @@ public class USymbolFolder extends USymbol { return new UTranslate(0, htitle * how); } - return new UTranslate(); + return UTranslate.none(); } }; diff --git a/src/net/sourceforge/plantuml/dot/Neighborhood.java b/src/net/sourceforge/plantuml/dot/Neighborhood.java index 992c45a42..85fcb9453 100644 --- a/src/net/sourceforge/plantuml/dot/Neighborhood.java +++ b/src/net/sourceforge/plantuml/dot/Neighborhood.java @@ -112,7 +112,7 @@ public class Neighborhood { poly.addPoint(7, 20); poly.addPoint(-7, 20); poly.rotate(theta); - final UTranslate translate = new UTranslate(contact); + final UTranslate translate = UTranslate.point(contact); ug.apply(translate).draw(poly); final XPoint2D p1 = translate.getTranslated(poly.getPoints().get(1)); final XPoint2D p2 = translate.getTranslated(poly.getPoints().get(2)); diff --git a/src/net/sourceforge/plantuml/eggs/PSystemColors.java b/src/net/sourceforge/plantuml/eggs/PSystemColors.java index 2939fc1ea..9aa499e57 100644 --- a/src/net/sourceforge/plantuml/eggs/PSystemColors.java +++ b/src/net/sourceforge/plantuml/eggs/PSystemColors.java @@ -147,7 +147,7 @@ public class PSystemColors extends PlainDiagram implements UDrawable { private void drawOneHexa(UGraphic ug, String colorName, int i, int j, UPolygon hexa) { final HColor color = colors.getColorOrWhite(colorName); ug = applyColor(ug, color); - ug = ug.apply(new UTranslate(centerHexa(i, j))); + ug = ug.apply(UTranslate.point(centerHexa(i, j))); ug.draw(hexa); final UFont font = UFont.sansSerif(14).bold(); diff --git a/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java b/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java index ce711991c..bca606caa 100644 --- a/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java +++ b/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java @@ -277,7 +277,7 @@ public class CucaDiagramFileMakerElk implements CucaDiagramFileMaker { zstereo, rectangleArea, stroke); final HColor borderColor = HColors.BLACK; - decoration.drawU(ug.apply(new UTranslate(corner)), backColor, borderColor, shadowing, roundCorner, + decoration.drawU(ug.apply(UTranslate.point(corner)), backColor, borderColor, shadowing, roundCorner, skinParam.getHorizontalAlignment(AlignmentParam.packageTitleAlignment, null, false, null), skinParam.getStereotypeAlignment(), 0); @@ -305,7 +305,7 @@ public class CucaDiagramFileMakerElk implements CucaDiagramFileMaker { final XPoint2D corner = getPosition(elkNode); // Print the node image at right coord - image.drawU(ug.apply(new UTranslate(corner))); + image.drawU(ug.apply(UTranslate.point(corner))); } private void drawSingleEdge(UGraphic ug, Link link, ElkEdge edge) { @@ -322,7 +322,7 @@ public class CucaDiagramFileMakerElk implements CucaDiagramFileMaker { } final ElkPath elkPath = new ElkPath(diagram, SName.classDiagram, link, edge, getLabel(link), getQuantifier(link, 1), getQuantifier(link, 2), magicY2); - elkPath.drawU(ug.apply(new UTranslate(translate))); + elkPath.drawU(ug.apply(UTranslate.point(translate))); } public XDimension2D calculateDimension(StringBounder stringBounder) { diff --git a/src/net/sourceforge/plantuml/elk/ElkPath.java b/src/net/sourceforge/plantuml/elk/ElkPath.java index 5c05eb5b5..e8a0b2f17 100644 --- a/src/net/sourceforge/plantuml/elk/ElkPath.java +++ b/src/net/sourceforge/plantuml/elk/ElkPath.java @@ -173,13 +173,13 @@ public class ElkPath implements UDrawable { private UDrawable getDecors(LinkDecor decors, double angle, HColor backColor) { // For legacy reason, extends are treated differently if (decors == LinkDecor.EXTENDS) - return new ExtremityFactoryExtends(backColor).createUDrawable(new XPoint2D(), angle, null); + return new ExtremityFactoryExtends(backColor).createUDrawable(new XPoint2D(0, 0), angle, null); final ExtremityFactory extremityFactory = decors.getExtremityFactory(backColor); if (extremityFactory == null) return null; - return extremityFactory.createUDrawable(new XPoint2D(), angle, null); + return extremityFactory.createUDrawable(new XPoint2D(0, 0), angle, null); } private void drawLabels(UGraphic ug) { diff --git a/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java b/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java index d1f78c4ab..9050bc28f 100644 --- a/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java +++ b/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java @@ -112,7 +112,7 @@ public class JsonCurve { public void drawSpot(UGraphic ug) { final double size = 3; - ug = ug.apply(new UTranslate(getVeryFirst()).compose(new UTranslate(-size, -size))); + ug = ug.apply(UTranslate.point(getVeryFirst()).compose(new UTranslate(-size, -size))); ug.apply(UStroke.simple()).draw(new UEllipse(2 * size, 2 * size)); } diff --git a/src/net/sourceforge/plantuml/klimt/AffineTransformType.java b/src/net/sourceforge/plantuml/klimt/AffineTransformType.java index 8fbfb73a3..f055b9732 100644 --- a/src/net/sourceforge/plantuml/klimt/AffineTransformType.java +++ b/src/net/sourceforge/plantuml/klimt/AffineTransformType.java @@ -40,6 +40,7 @@ import java.awt.image.AffineTransformOp; public enum AffineTransformType { TYPE_NEAREST_NEIGHBOR, TYPE_BILINEAR; + // ::comment when __HAXE__ public int toLegacyInt() { switch (this) { case TYPE_BILINEAR: @@ -49,5 +50,6 @@ public enum AffineTransformType { } throw new AssertionError(); } + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/UMotif.java b/src/net/sourceforge/plantuml/klimt/UMotif.java index 9a153b511..805fd061a 100644 --- a/src/net/sourceforge/plantuml/klimt/UMotif.java +++ b/src/net/sourceforge/plantuml/klimt/UMotif.java @@ -57,7 +57,7 @@ public class UMotif { } public UMotif(String s) { - XPoint2D last = new XPoint2D(); + XPoint2D last = new XPoint2D(0, 0); for (int i = 0; i < s.length(); i++) { final XPoint2D read = convertPoint(s.charAt(i)); last = last.move(read); diff --git a/src/net/sourceforge/plantuml/klimt/UTranslate.java b/src/net/sourceforge/plantuml/klimt/UTranslate.java index 4d2d367aa..93b6edbc7 100644 --- a/src/net/sourceforge/plantuml/klimt/UTranslate.java +++ b/src/net/sourceforge/plantuml/klimt/UTranslate.java @@ -40,8 +40,6 @@ import net.sourceforge.plantuml.klimt.geom.XPoint2D; import net.sourceforge.plantuml.klimt.geom.XRectangle2D; public class UTranslate implements UChange { - // ::remove file when __HAXE__ - private final double dx; private final double dy; @@ -67,12 +65,8 @@ public class UTranslate implements UChange { return new UTranslate(0, dy); } - public UTranslate(XPoint2D p) { - this(p.getX(), p.getY()); - } - - public UTranslate() { - this(0, 0); + public static UTranslate point(XPoint2D p) { + return new UTranslate(p.getX(), p.getY()); } public double getDx() { @@ -94,10 +88,6 @@ public class UTranslate implements UChange { return new XPoint2D(p.getX() + dx, p.getY() + dy); } - public XDimension2D getTranslated(XDimension2D dim) { - return new XDimension2D(dim.getWidth() + dx, dim.getHeight() + dy); - } - public UTranslate scaled(double scale) { return new UTranslate(dx * scale, dy * scale); } diff --git a/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java b/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java index 768060693..d71374bf1 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java +++ b/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java @@ -71,7 +71,7 @@ public class SlotFinder extends UGraphicNo { private final CompressionMode mode; public static SlotFinder create(CompressionMode mode, StringBounder stringBounder) { - return new SlotFinder(stringBounder, new UTranslate(), new SlotSet(), mode); + return new SlotFinder(stringBounder, UTranslate.none(), new SlotSet(), mode); } private SlotFinder(StringBounder stringBounder, UTranslate translate, SlotSet slot, CompressionMode mode) { diff --git a/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java b/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java index 0f7a66120..7af64d411 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java +++ b/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java @@ -71,7 +71,7 @@ public class UGraphicCompressOnXorY extends UGraphicDelegator { public static UGraphicCompressOnXorY create(CompressionMode mode, UGraphic ug, PiecewiseAffineTransform compressionTransform) { - return new UGraphicCompressOnXorY(mode, ug, compressionTransform, new UTranslate()); + return new UGraphicCompressOnXorY(mode, ug, compressionTransform, UTranslate.none()); } private UGraphicCompressOnXorY(CompressionMode mode, UGraphic ug, PiecewiseAffineTransform compressionTransform, diff --git a/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java b/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java index 933d338d6..315fec26e 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java @@ -64,7 +64,7 @@ public abstract class AbstractCommonUGraphic implements UGraphic { private boolean enlargeClip = false; private final StringBounder stringBounder; - private UTranslate translate = new UTranslate(); + private UTranslate translate = UTranslate.none(); private final ColorMapper colorMapper; private UClip clip; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphicHorizontalLine.java b/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphicHorizontalLine.java index 850c7eb9b..1632e0744 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphicHorizontalLine.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphicHorizontalLine.java @@ -43,7 +43,7 @@ import net.sourceforge.plantuml.klimt.shape.UHorizontalLine; public abstract class AbstractUGraphicHorizontalLine extends UGraphicDelegator { - private UTranslate translate = new UTranslate(); + private UTranslate translate = UTranslate.none(); public UGraphic apply(UChange change) { final AbstractUGraphicHorizontalLine result; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/LimitFinder.java b/src/net/sourceforge/plantuml/klimt/drawing/LimitFinder.java index 405c728b4..66cb85b9d 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/LimitFinder.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/LimitFinder.java @@ -87,7 +87,7 @@ public final class LimitFinder extends UGraphicNo { private UClip clip; public static LimitFinder create(StringBounder stringBounder, boolean initToZero) { - final LimitFinder result = new LimitFinder(stringBounder, new UTranslate(), MinMaxMutable.getEmpty(initToZero)); + final LimitFinder result = new LimitFinder(stringBounder, UTranslate.none(), MinMaxMutable.getEmpty(initToZero)); result.clip = null; return result; } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/TextLimitFinder.java b/src/net/sourceforge/plantuml/klimt/drawing/TextLimitFinder.java index 9262f27c5..acd1c6d43 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/TextLimitFinder.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/TextLimitFinder.java @@ -62,7 +62,7 @@ public class TextLimitFinder extends UGraphicNo { } public static TextLimitFinder create(StringBounder stringBounder, boolean initToZero) { - return new TextLimitFinder(stringBounder, new UTranslate(), MinMaxMutable.getEmpty(initToZero)); + return new TextLimitFinder(stringBounder, UTranslate.none(), MinMaxMutable.getEmpty(initToZero)); } private TextLimitFinder(StringBounder stringBounder, UTranslate translate, MinMaxMutable minmax) { diff --git a/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java b/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java index 3597d7e36..aec8a53bf 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java @@ -51,7 +51,7 @@ public class UPathHand { final UPath result = new UPath(); - XPoint2D last = new XPoint2D(); + XPoint2D last = new XPoint2D(0, 0); for (USegment segment : source) { final USegmentType type = segment.getSegmentType(); diff --git a/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java b/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java index e503417f0..f0a0a1d02 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java @@ -52,6 +52,7 @@ import net.sourceforge.plantuml.style.PName; import net.sourceforge.plantuml.style.Style; public class FontConfiguration { + // ::remove file when __HAXE__ private final EnumSet styles; private final UFont currentFont; @@ -237,7 +238,7 @@ public class FontConfiguration { public FontConfiguration changeFamily(String family) { return new FontConfiguration(styles, motherFont, motherColor, - new UFont(family, currentFont.getStyle(), currentFont.getSize()), currentColor, extendedColor, + UFont.build(family, currentFont.getStyle(), currentFont.getSize()), currentColor, extendedColor, fontPosition, svgAttributes, hyperlinkColor, hyperlinkUnderlineStroke, tabSize); } @@ -296,9 +297,9 @@ public class FontConfiguration { public UFont getFont() { UFont result = currentFont; - for (FontStyle style : styles) + for (FontStyle style : styles) result = style.mutateFont(result); - + return fontPosition.mute(result); } diff --git a/src/net/sourceforge/plantuml/klimt/font/FontParam.java b/src/net/sourceforge/plantuml/klimt/font/FontParam.java index e0d9e22ac..89cf58a2f 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontParam.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontParam.java @@ -42,6 +42,8 @@ import net.sourceforge.plantuml.style.ISkinParam; import net.sourceforge.plantuml.style.SName; import net.sourceforge.plantuml.style.StyleSignatureBasic; +// ::remove file when __HAXE__ + interface FontParamConstant { String FAMILY = "SansSerif"; String COLOR = "black"; diff --git a/src/net/sourceforge/plantuml/klimt/font/FontPosition.java b/src/net/sourceforge/plantuml/klimt/font/FontPosition.java index 75dc10c1a..1471f2934 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontPosition.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontPosition.java @@ -48,6 +48,8 @@ public enum FontPosition { return 0; } + // ::comment when __HAXE__ + public UFont mute(UFont font) { if (this == NORMAL) return font; @@ -68,5 +70,6 @@ public enum FontPosition { throw new UnsupportedOperationException(); } + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/font/FontStyle.java b/src/net/sourceforge/plantuml/klimt/font/FontStyle.java index 2c7f22fbc..7dbb01f34 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontStyle.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontStyle.java @@ -44,6 +44,7 @@ import net.sourceforge.plantuml.regex.Matcher2; import net.sourceforge.plantuml.regex.MyPattern; public enum FontStyle { + // :: remove file when __HAXE__ PLAIN, ITALIC, BOLD, UNDERLINE, STRIKE, WAVE, BACKCOLOR; public UFont mutateFont(UFont font) { diff --git a/src/net/sourceforge/plantuml/klimt/font/StringBounder.java b/src/net/sourceforge/plantuml/klimt/font/StringBounder.java index b8809d470..a78c38216 100644 --- a/src/net/sourceforge/plantuml/klimt/font/StringBounder.java +++ b/src/net/sourceforge/plantuml/klimt/font/StringBounder.java @@ -38,11 +38,12 @@ package net.sourceforge.plantuml.klimt.font; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public interface StringBounder { - // ::remove folder when __HAXE__ + // ::comment when __HAXE__ public XDimension2D calculateDimension(UFont font, String text); public double getDescent(UFont font, String text); + // ::done public boolean matchesProperty(String propertyName); diff --git a/src/net/sourceforge/plantuml/klimt/font/StringBounderRaw.java b/src/net/sourceforge/plantuml/klimt/font/StringBounderRaw.java index a5ea04364..fe356d568 100644 --- a/src/net/sourceforge/plantuml/klimt/font/StringBounderRaw.java +++ b/src/net/sourceforge/plantuml/klimt/font/StringBounderRaw.java @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.text.RichText; import net.sourceforge.plantuml.text.StyledString; public abstract class StringBounderRaw implements StringBounder { + // ::remove file when __HAXE__ private final FontRenderContext frc; diff --git a/src/net/sourceforge/plantuml/klimt/font/UFont.java b/src/net/sourceforge/plantuml/klimt/font/UFont.java index d214ac6ed..9cb12d178 100644 --- a/src/net/sourceforge/plantuml/klimt/font/UFont.java +++ b/src/net/sourceforge/plantuml/klimt/font/UFont.java @@ -41,13 +41,13 @@ import java.util.HashSet; import java.util.Set; import net.sourceforge.plantuml.StringUtils; -import net.sourceforge.plantuml.font.Roboto; public class UFont { private final Font font; private final String family; + // ::comment when __HAXE__ private static final Set names = new HashSet<>(); static { @@ -58,8 +58,8 @@ public class UFont { // } for (String name : GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()) names.add(name.toLowerCase()); - } + // ::done public String toStringDebug() { final StringBuilder sb = new StringBuilder(); @@ -69,8 +69,13 @@ public class UFont { return sb.toString(); } - public UFont(String fontFamily, int fontStyle, int fontSize) { - this(buildFont(fontFamily, fontStyle, fontSize), fontFamily); + public static UFont build(String fontFamily, int fontStyle, int fontSize) { + return new UFont(buildFont(fontFamily, fontStyle, fontSize), fontFamily); + } + + private UFont(Font font, String family) { + this.font = font; + this.family = family; } private static Font buildFont(String fontFamily, int fontStyle, int fontSize) { @@ -86,19 +91,24 @@ public class UFont { } private static boolean doesFamilyExists(String name) { + // ::comment when __HAXE__ return names.contains(name.toLowerCase()); + // ::done + // ::uncomment when __HAXE__ + // return true; + // ::done } public static UFont serif(int size) { - return new UFont("Serif", Font.PLAIN, size); + return UFont.build("Serif", Font.PLAIN, size); } public static UFont sansSerif(int size) { - return new UFont("SansSerif", Font.PLAIN, size); + return UFont.build("SansSerif", Font.PLAIN, size); } public static UFont courier(int size) { - return new UFont("Courier", Font.PLAIN, size); + return UFont.build("Courier", Font.PLAIN, size); } public static UFont byDefault(int size) { @@ -110,12 +120,7 @@ public class UFont { } public static UFont monospaced(int size) { - return new UFont("Monospaced", Font.PLAIN, size); - } - - private UFont(Font font, String family) { - this.font = font; - this.family = family; + return UFont.build("Monospaced", Font.PLAIN, size); } public final Font getUnderlayingFont(UFontContext context) { @@ -194,6 +199,8 @@ public class UFont { return font.toString()/* + " " + font.getPSName() */; } + // ::comment when __HAXE__ + @Override public int hashCode() { return font.hashCode(); @@ -206,5 +213,6 @@ public class UFont { return this.font.equals(((UFont) obj).font); } + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/font/UFontContext.java b/src/net/sourceforge/plantuml/klimt/font/UFontContext.java index 93c20fe0e..860c2bbaa 100644 --- a/src/net/sourceforge/plantuml/klimt/font/UFontContext.java +++ b/src/net/sourceforge/plantuml/klimt/font/UFontContext.java @@ -41,8 +41,10 @@ import net.sourceforge.plantuml.FileFormat; import net.sourceforge.plantuml.klimt.shape.UText; public enum UFontContext { + EPS, SVG, G2D, TIKZ; + // ::comment when __HAXE__ public TextLayout createTextLayout(UText shape) { return createTextLayout(shape.getFontConfiguration().getFont(), shape.getText()); } @@ -50,5 +52,5 @@ public enum UFontContext { public TextLayout createTextLayout(UFont font, String string) { return new TextLayout(string, font.getUnderlayingFont(this), FileFormat.gg.getFontRenderContext()); } - + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/font/UnusedSpace.java b/src/net/sourceforge/plantuml/klimt/font/UnusedSpace.java index bb1bb3ab7..5ead3d65e 100644 --- a/src/net/sourceforge/plantuml/klimt/font/UnusedSpace.java +++ b/src/net/sourceforge/plantuml/klimt/font/UnusedSpace.java @@ -44,6 +44,7 @@ import java.util.List; import java.util.Map; public class UnusedSpace { + // ::remove file when __HAXE__ static class Point { final private double x; diff --git a/src/net/sourceforge/plantuml/klimt/geom/HorizontalAlignment.java b/src/net/sourceforge/plantuml/klimt/geom/HorizontalAlignment.java index cd44ae044..1a93f9258 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/HorizontalAlignment.java +++ b/src/net/sourceforge/plantuml/klimt/geom/HorizontalAlignment.java @@ -43,8 +43,6 @@ import net.sourceforge.plantuml.klimt.drawing.UGraphic; import net.sourceforge.plantuml.klimt.shape.TextBlock; public enum HorizontalAlignment { - // :: remove file when __HAXE__ - LEFT, CENTER, RIGHT; public static HorizontalAlignment fromString(String s) { @@ -73,6 +71,7 @@ public enum HorizontalAlignment { return result; } + // ::comment when __HAXE__ public String getGraphVizValue() { return toString().substring(0, 1).toLowerCase(); } @@ -89,5 +88,6 @@ public enum HorizontalAlignment { } } + // ::done } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/klimt/geom/MagneticBorderNone.java b/src/net/sourceforge/plantuml/klimt/geom/MagneticBorderNone.java index caa3a5032..4f7bcdcb1 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/MagneticBorderNone.java +++ b/src/net/sourceforge/plantuml/klimt/geom/MagneticBorderNone.java @@ -43,7 +43,7 @@ public class MagneticBorderNone implements MagneticBorder { @Override public UTranslate getForceAt(StringBounder stringBounder, XPoint2D position) { - return new UTranslate(); + return UTranslate.none(); } } diff --git a/src/net/sourceforge/plantuml/klimt/geom/ULayoutGroup.java b/src/net/sourceforge/plantuml/klimt/geom/ULayoutGroup.java index 4d513368e..2e6c9fb2b 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/ULayoutGroup.java +++ b/src/net/sourceforge/plantuml/klimt/geom/ULayoutGroup.java @@ -58,7 +58,7 @@ public class ULayoutGroup { for (Map.Entry ent : placementStrategy.getPositions(width, height).entrySet()) { final TextBlock block = ent.getKey(); final XPoint2D pos = ent.getValue(); - block.drawU(ug.apply(new UTranslate(pos))); + block.drawU(ug.apply(UTranslate.point(pos))); } } @@ -82,7 +82,7 @@ public class ULayoutGroup { final TextBlock block = ent.getKey(); final XRectangle2D result = block.getInnerPosition(member, stringBounder, mode); if (result != null) { - final UTranslate translate = new UTranslate(ent.getValue()); + final UTranslate translate = UTranslate.point(ent.getValue()); return translate.apply(result); } } diff --git a/src/net/sourceforge/plantuml/klimt/geom/USegment.java b/src/net/sourceforge/plantuml/klimt/geom/USegment.java index 6266c6006..af4e71376 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/USegment.java +++ b/src/net/sourceforge/plantuml/klimt/geom/USegment.java @@ -35,10 +35,13 @@ */ package net.sourceforge.plantuml.klimt.geom; +// ::comment when __HAXE__ import java.awt.geom.AffineTransform; +// ::done import java.util.Arrays; public class USegment { + // ::remove file when __HAXE__ private final double coord[]; private final USegmentType pathType; @@ -75,6 +78,7 @@ public class USegment { return new USegment(new double[] { p1.getX(), p1.getY() }, pathType); } + // ::comment when __HAXE__ public USegment rotate(double theta) { if (coord.length != 2) throw new UnsupportedOperationException(); @@ -105,5 +109,6 @@ public class USegment { return new USegment(new double[] { p1.getX(), p1.getY() }, pathType); } + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java b/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java index 63240300b..94b64a79f 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java +++ b/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java @@ -39,6 +39,7 @@ import java.awt.geom.PathIterator; import java.util.EnumSet; public enum USegmentType { + // ::remove file when __HAXE__ SEG_MOVETO(PathIterator.SEG_MOVETO), // SEG_LINETO(PathIterator.SEG_LINETO), // diff --git a/src/net/sourceforge/plantuml/klimt/geom/XDimension2D.java b/src/net/sourceforge/plantuml/klimt/geom/XDimension2D.java index 9bd803a89..9b22cbf83 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/XDimension2D.java +++ b/src/net/sourceforge/plantuml/klimt/geom/XDimension2D.java @@ -35,8 +35,11 @@ */ package net.sourceforge.plantuml.klimt.geom; +// ::comment when __HAXE__ import java.awt.Dimension; +// ::done +import net.sourceforge.plantuml.klimt.UTranslate; import net.sourceforge.plantuml.utils.MathUtils; public class XDimension2D { @@ -44,10 +47,6 @@ public class XDimension2D { final private double width; final private double height; - public XDimension2D() { - this(0, 0); - } - public XDimension2D(double width, double height) { if (Double.isNaN(width) || Double.isNaN(height)) throw new IllegalArgumentException(); @@ -77,6 +76,10 @@ public class XDimension2D { return new XDimension2D(newWidth, height); } + public XDimension2D applyTranslate(UTranslate translate) { + return new XDimension2D(width + translate.getDx(), height + translate.getDy()); + } + public XDimension2D delta(double deltaWidth, double deltaHeight) { if (deltaHeight == 0 && deltaWidth == 0) return this; @@ -119,11 +122,11 @@ public class XDimension2D { return new XDimension2D(w, h); } + // ::comment when __HAXE__ public static XDimension2D fromDimension(Dimension dimension) { return new XDimension2D(dimension.getWidth(), dimension.getHeight()); } - // ::comment when __HAXE__ public static XDimension2D mergeLayoutT12B3(XDimension2D top1, XDimension2D top2, XDimension2D bottom) { final double width = MathUtils.max(top1.getWidth(), top2.getWidth(), bottom.getWidth()); final double height = top1.getHeight() + top2.getHeight() + bottom.getHeight(); diff --git a/src/net/sourceforge/plantuml/klimt/geom/XLine2D.java b/src/net/sourceforge/plantuml/klimt/geom/XLine2D.java index bedd0d676..2ed4559f7 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/XLine2D.java +++ b/src/net/sourceforge/plantuml/klimt/geom/XLine2D.java @@ -6,17 +6,12 @@ import net.sourceforge.plantuml.klimt.shape.UDrawable; import net.sourceforge.plantuml.klimt.shape.ULine; public class XLine2D implements UDrawable { - // :: remove file when __HAXE__ final public double x1; final public double y1; final public double x2; final public double y2; - public XLine2D() { - this(0, 0, 0, 0); - } - public XLine2D(double x1, double y1, double x2, double y2) { this.x1 = x1; this.y1 = y1; @@ -24,8 +19,8 @@ public class XLine2D implements UDrawable { this.y2 = y2; } - public XLine2D(XPoint2D p1, XPoint2D p2) { - this(p1.getX(), p1.getY(), p2.getX(), p2.getY()); + public static XLine2D line(XPoint2D p1, XPoint2D p2) { + return new XLine2D(p1.getX(), p1.getY(), p2.getX(), p2.getY()); } public XPoint2D getMiddle() { @@ -150,11 +145,13 @@ public class XLine2D implements UDrawable { return null; } + // ::comment when __HAXE__ public void drawU(UGraphic ug) { ug = ug.apply(new UTranslate(x1, y1)); final ULine line = new ULine(x2 - x1, y2 - y1); ug.draw(line); } + // ::done public double getAngle() { return Math.atan2(y2 - y1, x2 - x1); diff --git a/src/net/sourceforge/plantuml/klimt/geom/XPoint2D.java b/src/net/sourceforge/plantuml/klimt/geom/XPoint2D.java index 3cf3967fc..5a31b775f 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/XPoint2D.java +++ b/src/net/sourceforge/plantuml/klimt/geom/XPoint2D.java @@ -1,17 +1,15 @@ package net.sourceforge.plantuml.klimt.geom; +// ::comment when __HAXE__ import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; +// ::done public class XPoint2D { final public double x; final public double y; - public XPoint2D() { - this(0, 0); - } - @Override public String toString() { return "(" + x + "," + y + ")"; @@ -22,6 +20,7 @@ public class XPoint2D { this.y = y; } + // ::comment when __HAXE__ @Override public boolean equals(Object obj) { final XPoint2D other = (XPoint2D) obj; @@ -33,6 +32,13 @@ public class XPoint2D { return Double.valueOf(x).hashCode() + Double.valueOf(y).hashCode(); } + public XPoint2D transform(AffineTransform rotate) { + final Point2D.Double tmp = new Point2D.Double(x, y); + rotate.transform(tmp, tmp); + return new XPoint2D(tmp.x, tmp.y); + } + // ::done + public final double getX() { return x; } @@ -69,14 +75,8 @@ public class XPoint2D { return new XPoint2D(x + dx, y + dy); } - public XPoint2D transform(AffineTransform rotate) { - final Point2D.Double tmp = new Point2D.Double(x, y); - rotate.transform(tmp, tmp); - return new XPoint2D(tmp.x, tmp.y); - } - public XPoint2D move(XPoint2D delta) { - return new XPoint2D(delta.x, delta.y); + return new XPoint2D(x + delta.x, y + delta.y); } } diff --git a/src/net/sourceforge/plantuml/klimt/geom/XRectangle2D.java b/src/net/sourceforge/plantuml/klimt/geom/XRectangle2D.java index 851f2ff53..fcb4db854 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/XRectangle2D.java +++ b/src/net/sourceforge/plantuml/klimt/geom/XRectangle2D.java @@ -1,7 +1,6 @@ package net.sourceforge.plantuml.klimt.geom; public class XRectangle2D { - // :: remove file when __HAXE__ public final double x; public final double y; @@ -80,10 +79,10 @@ public class XRectangle2D { final XPoint2D b = new XPoint2D(x + width, y); final XPoint2D c = new XPoint2D(x + width, y + height); final XPoint2D d = new XPoint2D(x, y + height); - final XLine2D line1 = new XLine2D(a, b); - final XLine2D line2 = new XLine2D(b, c); - final XLine2D line3 = new XLine2D(c, d); - final XLine2D line4 = new XLine2D(d, a); + final XLine2D line1 = XLine2D.line(a, b); + final XLine2D line2 = XLine2D.line(b, c); + final XLine2D line3 = XLine2D.line(c, d); + final XLine2D line4 = XLine2D.line(d, a); XPoint2D result = line.intersect(line1); if (result != null) diff --git a/src/net/sourceforge/plantuml/klimt/shape/AbstractTextBlock.java b/src/net/sourceforge/plantuml/klimt/shape/AbstractTextBlock.java index 87e89f95d..81ccd0c68 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/AbstractTextBlock.java +++ b/src/net/sourceforge/plantuml/klimt/shape/AbstractTextBlock.java @@ -44,6 +44,7 @@ import net.sourceforge.plantuml.klimt.geom.MinMax; import net.sourceforge.plantuml.klimt.geom.XRectangle2D; public abstract class AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ @Override public XRectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy) { diff --git a/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java b/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java index c3bb72f1d..244685c9a 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java +++ b/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java @@ -46,6 +46,8 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class BigFrame extends AbstractTextBlock { + // ::remove file when __HAXE__ + private final TextBlock title; private final double width; private final double height; diff --git a/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java b/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java index 17391aac3..8c737177c 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java +++ b/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.klimt.font.UFont; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class CircledCharacter extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final String c; private final UFont font; diff --git a/src/net/sourceforge/plantuml/klimt/shape/DotPath.java b/src/net/sourceforge/plantuml/klimt/shape/DotPath.java index 790205ae2..6ca502c71 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/DotPath.java +++ b/src/net/sourceforge/plantuml/klimt/shape/DotPath.java @@ -62,6 +62,7 @@ import net.sourceforge.plantuml.klimt.geom.XCubicCurve2D; import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class DotPath implements UShape, Moveable { + // ::remove file when __HAXE__ public static class TriPoints { public TriPoints(XPoint2D p1, XPoint2D p2, XPoint2D p) { diff --git a/src/net/sourceforge/plantuml/klimt/shape/GraphicStrings.java b/src/net/sourceforge/plantuml/klimt/shape/GraphicStrings.java index 38d427adc..7f1fd3e28 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/GraphicStrings.java +++ b/src/net/sourceforge/plantuml/klimt/shape/GraphicStrings.java @@ -59,6 +59,7 @@ import net.sourceforge.plantuml.svek.Margins; import net.sourceforge.plantuml.svek.ShapeType; public class GraphicStrings extends AbstractTextBlock implements IEntityImage { + // ::remove file when __HAXE__ private final double margin = 5; diff --git a/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java b/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java index af080dabf..f3ce51475 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java +++ b/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; class SimpleTextBlockBordered extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final HColor color; diff --git a/src/net/sourceforge/plantuml/klimt/shape/SingleLine.java b/src/net/sourceforge/plantuml/klimt/shape/SingleLine.java index 65c599675..7aad9b214 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/SingleLine.java +++ b/src/net/sourceforge/plantuml/klimt/shape/SingleLine.java @@ -56,6 +56,7 @@ import net.sourceforge.plantuml.klimt.sprite.SpriteContainer; import net.sourceforge.plantuml.url.Url; public class SingleLine extends AbstractTextBlock implements Line { + // ::remove file when __HAXE__ private final List blocs = new ArrayList<>(); private final HorizontalAlignment horizontalAlignment; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlock.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlock.java index a1c229a5e..80b8cd417 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlock.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlock.java @@ -48,6 +48,7 @@ public interface TextBlock extends UDrawable, UShape { public XDimension2D calculateDimension(StringBounder stringBounder); + // ::comment when __HAXE__ public MinMax getMinMax(StringBounder stringBounder); public XRectangle2D getInnerPosition(String member, StringBounder stringBounder, InnerStrategy strategy); @@ -55,5 +56,6 @@ public interface TextBlock extends UDrawable, UShape { public MagneticBorder getMagneticBorder(); public HColor getBackcolor(); + // ::done } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow.java index 9fb0b64cb..5d736d024 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.klimt.geom.XDimension2D; import net.sourceforge.plantuml.utils.Direction; public class TextBlockArrow extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final double size; private final Direction arrow; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow2.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow2.java index d49bd9ea0..9849034d8 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow2.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockArrow2.java @@ -47,6 +47,7 @@ import net.sourceforge.plantuml.klimt.geom.XPoint2D; import net.sourceforge.plantuml.svek.GuideLine; public class TextBlockArrow2 extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final double size; private final GuideLine angle; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java index 78cc53f71..b32092ae3 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java @@ -47,6 +47,7 @@ import net.sourceforge.plantuml.klimt.geom.XDimension2D; import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft; public class TextBlockBordered extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final double cornersize; private final HColor backgroundColor; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockEmpty.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockEmpty.java index 36fe6b020..4eb1afa43 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockEmpty.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockEmpty.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockEmpty extends AbstractTextBlock { + // ::remove file when __HAXE__ private final double width; private final double height; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java index 889862943..63647421a 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockGeneric extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final HColor background; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockHorizontal.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockHorizontal.java index 29da36ccf..c6def272d 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockHorizontal.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockHorizontal.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.geom.VerticalAlignment; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockHorizontal extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final List blocks = new ArrayList<>(); private final VerticalAlignment alignment; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockInEllipse.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockInEllipse.java index a319506d9..fce631eb9 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockInEllipse.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockInEllipse.java @@ -44,6 +44,7 @@ import net.sourceforge.plantuml.svek.image.ContainingEllipse; import net.sourceforge.plantuml.svek.image.Footprint; public class TextBlockInEllipse extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final TextBlock text; private final ContainingEllipse ellipse; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockLineBefore.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockLineBefore.java index 1d6b0c5f8..5654d88c7 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockLineBefore.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockLineBefore.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.svek.Ports; import net.sourceforge.plantuml.svek.WithPorts; public class TextBlockLineBefore extends AbstractTextBlock implements TextBlock, WithPorts { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final char separator; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockMarged.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockMarged.java index 5da486396..d7337bab7 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockMarged.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockMarged.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.svek.Ports; import net.sourceforge.plantuml.svek.WithPorts; class TextBlockMarged extends AbstractTextBlock implements TextBlock, WithPorts { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final double top; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockMinWidth.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockMinWidth.java index 06d536a6f..d32d0d725 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockMinWidth.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockMinWidth.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; import net.sourceforge.plantuml.klimt.geom.XDimension2D; class TextBlockMinWidth extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final double minWidth; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockRaw.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockRaw.java index 1cfc7546b..696ce7b2e 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockRaw.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockRaw.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockRaw extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private List lines2; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockRecentred.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockRecentred.java index 215f1c172..7af0fbb27 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockRecentred.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockRecentred.java @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.klimt.geom.MinMax; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockRecentred extends AbstractTextBlock { + // ::remove file when __HAXE__ private final TextBlock textBlock; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockSimple.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockSimple.java index 2bc6ef7c4..b0969f0c2 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockSimple.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockSimple.java @@ -50,6 +50,7 @@ import net.sourceforge.plantuml.klimt.sprite.SpriteContainer; import net.sourceforge.plantuml.regex.MyPattern; public final class TextBlockSimple extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private List lines; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockSprited.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockSprited.java index 39c43b9cc..0a9193412 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockSprited.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockSprited.java @@ -41,6 +41,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TextBlockSprited extends AbstractTextBlock { + // ::remove file when __HAXE__ private final TextBlock parent; private final TextBlock sprite; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockTitle.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockTitle.java index 96dd83803..7b3019b23 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockTitle.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockTitle.java @@ -53,6 +53,7 @@ import net.sourceforge.plantuml.klimt.geom.XRectangle2D; import net.sourceforge.plantuml.style.ISkinSimple; public class TextBlockTitle implements TextBlock { + // ::remove file when __HAXE__ private final double outMargin = 2; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockUtils.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockUtils.java index 3c0bb9c43..0a1a7b51c 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockUtils.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockUtils.java @@ -53,6 +53,7 @@ import net.sourceforge.plantuml.klimt.geom.XRectangle2D; import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft; public class TextBlockUtils { + // ::remove file when __HAXE__ public static final TextBlock EMPTY_TEXT_BLOCK = TextBlockUtils.empty(0, 0); diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java index 5af54d89e..68bb1ea3b 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java @@ -50,6 +50,7 @@ import net.sourceforge.plantuml.svek.Ports; import net.sourceforge.plantuml.svek.WithPorts; public class TextBlockVertical2 extends AbstractTextBlock implements TextBlock, WithPorts { + // ::remove file when __HAXE__ private final List blocks = new ArrayList<>(); private final HorizontalAlignment horizontalAlignment; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockWithUrl.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockWithUrl.java index e02d10e12..cb8ae05eb 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockWithUrl.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockWithUrl.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.klimt.geom.XRectangle2D; import net.sourceforge.plantuml.url.Url; public class TextBlockWithUrl implements TextBlock { + // ::remove file when __HAXE__ private final TextBlock block; private final Url url; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TileImage.java b/src/net/sourceforge/plantuml/klimt/shape/TileImage.java index 59afcfa1e..ec83c1e9d 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TileImage.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TileImage.java @@ -47,6 +47,7 @@ import net.sourceforge.plantuml.klimt.geom.ImgValign; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TileImage extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final BufferedImage image; private final int vspace; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TileImageSvg.java b/src/net/sourceforge/plantuml/klimt/shape/TileImageSvg.java index e95f27600..a910c328a 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TileImageSvg.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TileImageSvg.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class TileImageSvg extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final UImageSvg svg; private final double scale; diff --git a/src/net/sourceforge/plantuml/klimt/shape/TileText.java b/src/net/sourceforge/plantuml/klimt/shape/TileText.java index 5a014dfb5..1391f1ee2 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TileText.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TileText.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.url.Url; import net.sourceforge.plantuml.utils.Log; public class TileText extends AbstractTextBlock implements TextBlock { + // ::remove file when __HAXE__ private final String text; private final FontConfiguration fontConfiguration; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UCenteredCharacter.java b/src/net/sourceforge/plantuml/klimt/shape/UCenteredCharacter.java index c2ac65d9f..0ee73217d 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UCenteredCharacter.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UCenteredCharacter.java @@ -39,6 +39,7 @@ import net.sourceforge.plantuml.klimt.UShape; import net.sourceforge.plantuml.klimt.font.UFont; public class UCenteredCharacter implements UShape { + // ::remove file when __HAXE__ private final char c; private final UFont font; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UDrawable.java b/src/net/sourceforge/plantuml/klimt/shape/UDrawable.java index 8a7ed42a4..c2a426537 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UDrawable.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UDrawable.java @@ -39,6 +39,8 @@ import net.sourceforge.plantuml.klimt.drawing.UGraphic; public interface UDrawable { + // ::comment when __HAXE__ public void drawU(UGraphic ug); + // ::done } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java b/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java index 163b0d6d4..73ffea0e9 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java @@ -41,6 +41,7 @@ import net.sourceforge.plantuml.klimt.geom.XDimension2D; import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class UEllipse extends AbstractShadowable implements UShapeSized { + // ::remove file when __HAXE__ private final double width; private final double height; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java b/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java index f1f1b67ee..9edacb0c1 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java @@ -44,7 +44,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class UHorizontalLine implements UShape { - // ::remove folder when __HAXE__ + // ::remove file when __HAXE__ private final double skipAtStart; private final double skipAtEnd; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UImage.java b/src/net/sourceforge/plantuml/klimt/shape/UImage.java index 0cf7d7162..73c8fabaf 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UImage.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UImage.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.MutableImage; import net.sourceforge.plantuml.klimt.UShape; public class UImage implements UShape { + // ::remove file when __HAXE__ private final MutableImage image; private final String formula; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UImageSvg.java b/src/net/sourceforge/plantuml/klimt/shape/UImageSvg.java index eb44f9217..65fb8496f 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UImageSvg.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UImageSvg.java @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.klimt.UShape; import net.sourceforge.plantuml.utils.SignatureUtils; public class UImageSvg implements UShape { + // ::remove file when __HAXE__ private final String svg; private final double scale; diff --git a/src/net/sourceforge/plantuml/klimt/shape/ULine.java b/src/net/sourceforge/plantuml/klimt/shape/ULine.java index f20173d71..3389a1f69 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/ULine.java +++ b/src/net/sourceforge/plantuml/klimt/shape/ULine.java @@ -35,7 +35,9 @@ */ package net.sourceforge.plantuml.klimt.shape; +//::comment when __HAXE__ import java.awt.geom.AffineTransform; +//::done import net.sourceforge.plantuml.klimt.AbstractShadowable; import net.sourceforge.plantuml.klimt.UShapeSized; @@ -55,6 +57,7 @@ public class ULine extends AbstractShadowable implements UShapeSized { this.dy = dy; } + // ::comment when __HAXE__ public ULine rotate(double theta) { if (theta == 0) return this; @@ -62,6 +65,7 @@ public class ULine extends AbstractShadowable implements UShapeSized { final XPoint2D tmp = new XPoint2D(dx, dy).transform(rot); return new ULine(tmp.getX(), tmp.getY()); } + // ::done public static ULine hline(double dx) { return new ULine(dx, 0); diff --git a/src/net/sourceforge/plantuml/klimt/shape/UPolygon.java b/src/net/sourceforge/plantuml/klimt/shape/UPolygon.java index 0bbdc040c..e67fa0e5f 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UPolygon.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UPolygon.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.geom.MinMax; import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class UPolygon extends AbstractShadowable { + // ::remove file when __HAXE__ private final List all = new ArrayList(); private final String name; diff --git a/src/net/sourceforge/plantuml/klimt/shape/URectangle.java b/src/net/sourceforge/plantuml/klimt/shape/URectangle.java index cac56561a..2fb14293b 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/URectangle.java +++ b/src/net/sourceforge/plantuml/klimt/shape/URectangle.java @@ -48,6 +48,7 @@ import net.sourceforge.plantuml.klimt.geom.MinMax; import net.sourceforge.plantuml.klimt.geom.XDimension2D; public class URectangle extends AbstractShadowable implements UShapeSized, UShapeIgnorableForCompression { + // ::remove file when __HAXE__ private final double width; private final double height; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UText.java b/src/net/sourceforge/plantuml/klimt/shape/UText.java index ec48f2762..c5abd5e93 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UText.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UText.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.font.FontConfiguration; import net.sourceforge.plantuml.klimt.font.StringBounder; public class UText implements UShape { + // ::remove file when __HAXE__ private final String text; private final FontConfiguration font; diff --git a/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java b/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java index a0787d2f6..5101d5572 100644 --- a/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java +++ b/src/net/sourceforge/plantuml/logo/TurtleGraphicsPane.java @@ -195,7 +195,7 @@ class TurtleGraphicsPane { } drawTurtle(ug); if (message != null) { - final FontConfiguration font = FontConfiguration.blackBlueTrue(new UFont("", Font.PLAIN, 14)); + final FontConfiguration font = FontConfiguration.blackBlueTrue(UFont.build("", Font.PLAIN, 14)); final TextBlock text = Display.create(message).create(font, HorizontalAlignment.LEFT, new SpriteContainerEmpty()); final XDimension2D dim = text.calculateDimension(ug.getStringBounder()); diff --git a/src/net/sourceforge/plantuml/mindmap/FingerImpl.java b/src/net/sourceforge/plantuml/mindmap/FingerImpl.java index 36c9c7895..c3d8266ed 100644 --- a/src/net/sourceforge/plantuml/mindmap/FingerImpl.java +++ b/src/net/sourceforge/plantuml/mindmap/FingerImpl.java @@ -127,7 +127,7 @@ public class FingerImpl implements Finger, UDrawable { else p2 = new XPoint2D(direction * (dimPhalanx.getWidth() + getX12()), stp.getY()); - child.drawU(ug.apply(new UTranslate(p2))); + child.drawU(ug.apply(UTranslate.point(p2))); final HColor linkColor = getLinkColor(); if (linkColor.isTransparent() == false) drawLine(ug.apply(linkColor).apply(getUStroke()), p1, p2); diff --git a/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java b/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java index 8591d5ffb..18db7ad58 100644 --- a/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java +++ b/src/net/sourceforge/plantuml/posimo/LineRectIntersection.java @@ -49,10 +49,10 @@ public class LineRectIntersection { final XPoint2D p3 = new XPoint2D(rect.getMaxX(), rect.getMaxY()); final XPoint2D p4 = new XPoint2D(rect.getMinX(), rect.getMaxY()); - final XPoint2D inter1 = new LineSegmentIntersection(new XLine2D(p1, p2), line).getIntersection(); - final XPoint2D inter2 = new LineSegmentIntersection(new XLine2D(p2, p3), line).getIntersection(); - final XPoint2D inter3 = new LineSegmentIntersection(new XLine2D(p3, p4), line).getIntersection(); - final XPoint2D inter4 = new LineSegmentIntersection(new XLine2D(p4, p1), line).getIntersection(); + final XPoint2D inter1 = new LineSegmentIntersection(XLine2D.line(p1, p2), line).getIntersection(); + final XPoint2D inter2 = new LineSegmentIntersection(XLine2D.line(p2, p3), line).getIntersection(); + final XPoint2D inter3 = new LineSegmentIntersection(XLine2D.line(p3, p4), line).getIntersection(); + final XPoint2D inter4 = new LineSegmentIntersection(XLine2D.line(p4, p1), line).getIntersection(); final XPoint2D o = line.getP1(); inter = getCloser(o, inter1, inter2, inter3, inter4); diff --git a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java index 3ba3dd8f5..df5891681 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderFollowTangeanteOld.java @@ -49,7 +49,7 @@ public class RacorderFollowTangeanteOld extends RacorderAbstract implements Raco final DotPath result = new DotPath(); final XPoint2D center = new XPoint2D(rect.getCenterX(), rect.getCenterY()); - final XLine2D line = new XLine2D(tangeante.getP1(), center); + final XLine2D line = XLine2D.line(tangeante.getP1(), center); final XPoint2D inter = BezierUtils.intersect(line, rect); final XCubicCurve2D curv = new XCubicCurve2D(tangeante.getX1(), tangeante.getY1(), tangeante.getX2(), diff --git a/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java b/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java index 895647dc4..732a19467 100644 --- a/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java +++ b/src/net/sourceforge/plantuml/posimo/RacorderInToCenter.java @@ -49,7 +49,7 @@ public class RacorderInToCenter extends RacorderAbstract implements Racorder { final DotPath result = new DotPath(); final XPoint2D center = new XPoint2D(rect.getCenterX(), rect.getCenterY()); - final XLine2D line = new XLine2D(tangeante.getP1(), center); + final XLine2D line = XLine2D.line(tangeante.getP1(), center); final XPoint2D inter = BezierUtils.intersect(line, rect); final XCubicCurve2D curv = new XCubicCurve2D(line.getX1(), line.getY1(), line.getX1(), line.getY1(), diff --git a/src/net/sourceforge/plantuml/sdot/CucaDiagramFileMakerSmetana.java b/src/net/sourceforge/plantuml/sdot/CucaDiagramFileMakerSmetana.java index 15b7f370a..030572b99 100644 --- a/src/net/sourceforge/plantuml/sdot/CucaDiagramFileMakerSmetana.java +++ b/src/net/sourceforge/plantuml/sdot/CucaDiagramFileMakerSmetana.java @@ -171,7 +171,7 @@ public class CucaDiagramFileMakerSmetana implements CucaDiagramFileMaker { final SvekNode node = dotStringFactory.getBibliotekon().getNode(leaf); final IEntityImage image = node.getImage(); - image.drawU(ug.apply(new UTranslate(corner))); + image.drawU(ug.apply(UTranslate.point(corner))); } for (Map.Entry ent : edges.entrySet()) { diff --git a/src/net/sourceforge/plantuml/sdot/SmetanaPath.java b/src/net/sourceforge/plantuml/sdot/SmetanaPath.java index b911ee17d..6f1416e27 100644 --- a/src/net/sourceforge/plantuml/sdot/SmetanaPath.java +++ b/src/net/sourceforge/plantuml/sdot/SmetanaPath.java @@ -199,7 +199,7 @@ public class SmetanaPath implements UDrawable { if (ymirror != null) pt = ymirror.getMirrored(pt); - ug.apply(new UTranslate(pt).compose(new UTranslate(-1, -1))).draw(new UEllipse(3, 3)); + ug.apply(UTranslate.point(pt).compose(new UTranslate(-1, -1))).draw(new UEllipse(3, 3)); } if (getLabelRectangleTranslate("label") != null && getLabelURectangle() != null) { ug = ug.apply(HColors.BLUE).apply(HColors.none().bg()); diff --git a/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java b/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java index 8f162ca09..4024ec678 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java +++ b/src/net/sourceforge/plantuml/sequencediagram/graphic/DrawableSet.java @@ -282,7 +282,7 @@ public class DrawableSet { if (delta > 0) return UTranslate.dy(-delta); - return new UTranslate(); + return UTranslate.none(); } private void drawLineU22(UGraphic ug, boolean showTail, Page page) { diff --git a/src/net/sourceforge/plantuml/skin/ActorStickMan.java b/src/net/sourceforge/plantuml/skin/ActorStickMan.java index 9e283f702..0e2146996 100644 --- a/src/net/sourceforge/plantuml/skin/ActorStickMan.java +++ b/src/net/sourceforge/plantuml/skin/ActorStickMan.java @@ -98,7 +98,7 @@ public class ActorStickMan extends AbstractTextBlock implements TextBlock { final double alpha = 21 * Math.PI / 64; final XPoint2D p1 = getOnCircle(Math.PI / 4 + alpha); final XPoint2D p2 = getOnCircle(Math.PI / 4 - alpha); - ug = ug.apply(new UTranslate(p1)); + ug = ug.apply(UTranslate.point(p1)); ug.draw(new ULine(p2.getX() - p1.getX(), p2.getY() - p1.getY())); } diff --git a/src/net/sourceforge/plantuml/skin/SkinParam.java b/src/net/sourceforge/plantuml/skin/SkinParam.java index b318caf56..9373983d2 100644 --- a/src/net/sourceforge/plantuml/skin/SkinParam.java +++ b/src/net/sourceforge/plantuml/skin/SkinParam.java @@ -488,7 +488,7 @@ public class SkinParam implements ISkinParam { 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); + return UFont.build(fontFamily, fontStyle, fontSize); } @Override diff --git a/src/net/sourceforge/plantuml/style/ClockwiseTopRightBottomLeft.java b/src/net/sourceforge/plantuml/style/ClockwiseTopRightBottomLeft.java index d5ab92137..1eb98d4ac 100644 --- a/src/net/sourceforge/plantuml/style/ClockwiseTopRightBottomLeft.java +++ b/src/net/sourceforge/plantuml/style/ClockwiseTopRightBottomLeft.java @@ -122,10 +122,12 @@ public class ClockwiseTopRightBottomLeft { return left; } + // ::comment when __HAXE__ public static ClockwiseTopRightBottomLeft marginForDocument(StyleBuilder styleBuilder) { final Style style = StyleSignatureBasic.of(SName.root, SName.document).getMergedStyle(styleBuilder); return style.getMargin(); } + // ::done public UTranslate getTranslate() { return new UTranslate(left, top); diff --git a/src/net/sourceforge/plantuml/style/CommandStyleImport.java b/src/net/sourceforge/plantuml/style/CommandStyleImport.java index 9b22cf02c..91f089ecd 100644 --- a/src/net/sourceforge/plantuml/style/CommandStyleImport.java +++ b/src/net/sourceforge/plantuml/style/CommandStyleImport.java @@ -53,6 +53,7 @@ import net.sourceforge.plantuml.utils.BlocLines; import net.sourceforge.plantuml.utils.LineLocation; public class CommandStyleImport extends SingleLineCommand2 { + // ::remove file when __HAXE__ public static final CommandStyleImport ME = new CommandStyleImport(); diff --git a/src/net/sourceforge/plantuml/style/CommandStyleMultilinesCSS.java b/src/net/sourceforge/plantuml/style/CommandStyleMultilinesCSS.java index 4294347f2..5c9e7274e 100644 --- a/src/net/sourceforge/plantuml/style/CommandStyleMultilinesCSS.java +++ b/src/net/sourceforge/plantuml/style/CommandStyleMultilinesCSS.java @@ -49,6 +49,7 @@ import net.sourceforge.plantuml.style.parser.StyleParsingException; import net.sourceforge.plantuml.utils.BlocLines; public class CommandStyleMultilinesCSS extends CommandMultilines2 { + // ::remove file when __HAXE__ public static final CommandStyleMultilinesCSS ME = new CommandStyleMultilinesCSS(); diff --git a/src/net/sourceforge/plantuml/style/FromSkinparamToStyle.java b/src/net/sourceforge/plantuml/style/FromSkinparamToStyle.java index ebcbb27f8..f67bf84af 100644 --- a/src/net/sourceforge/plantuml/style/FromSkinparamToStyle.java +++ b/src/net/sourceforge/plantuml/style/FromSkinparamToStyle.java @@ -46,6 +46,7 @@ import java.util.StringTokenizer; import net.sourceforge.plantuml.stereo.StereotypeDecoration; public class FromSkinparamToStyle { + // ::remove file when __HAXE__ static class Data { final private SName[] styleNames; diff --git a/src/net/sourceforge/plantuml/style/ISkinParam.java b/src/net/sourceforge/plantuml/style/ISkinParam.java index ab9a48c0d..9807b6f23 100644 --- a/src/net/sourceforge/plantuml/style/ISkinParam.java +++ b/src/net/sourceforge/plantuml/style/ISkinParam.java @@ -68,6 +68,7 @@ import net.sourceforge.plantuml.svek.PackageStyle; import net.sourceforge.plantuml.text.Guillemet; public interface ISkinParam extends ISkinSimple { + // ::remove file when __HAXE__ public static final int SWIMLANE_WIDTH_SAME = -1; diff --git a/src/net/sourceforge/plantuml/style/ISkinSimple.java b/src/net/sourceforge/plantuml/style/ISkinSimple.java index c4f8fae2e..2c3c0a774 100644 --- a/src/net/sourceforge/plantuml/style/ISkinSimple.java +++ b/src/net/sourceforge/plantuml/style/ISkinSimple.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; import net.sourceforge.plantuml.klimt.sprite.SpriteContainer; public interface ISkinSimple extends SpriteContainer { + // ::remove file when __HAXE__ public String getValue(String key); diff --git a/src/net/sourceforge/plantuml/style/Style.java b/src/net/sourceforge/plantuml/style/Style.java index a1a62033e..b4c6a6f26 100644 --- a/src/net/sourceforge/plantuml/style/Style.java +++ b/src/net/sourceforge/plantuml/style/Style.java @@ -58,6 +58,7 @@ import net.sourceforge.plantuml.klimt.shape.TextBlock; import net.sourceforge.plantuml.klimt.shape.TextBlockUtils; public class Style { + // ::remove file when __HAXE__ private final Map map; private final StyleSignatureBasic signature; @@ -185,7 +186,7 @@ public class Style { int size = value(PName.FontSize).asInt(true); if (size == -1) size = 14; - return new UFont(family, fontStyle, size); + return UFont.build(family, fontStyle, size); } public FontConfiguration getFontConfiguration(HColorSet set) { diff --git a/src/net/sourceforge/plantuml/style/StyleBuilder.java b/src/net/sourceforge/plantuml/style/StyleBuilder.java index 2a3df2dc0..c77be156e 100644 --- a/src/net/sourceforge/plantuml/style/StyleBuilder.java +++ b/src/net/sourceforge/plantuml/style/StyleBuilder.java @@ -46,7 +46,7 @@ import net.sourceforge.plantuml.skin.SkinParam; import net.sourceforge.plantuml.utils.Log; public class StyleBuilder implements AutomaticCounter { - // ::remove folder when __HAXE__ + // ::remove file when __HAXE__ private final Map stylesMap = new LinkedHashMap(); private final Set printedForLog; diff --git a/src/net/sourceforge/plantuml/style/StyleLoader.java b/src/net/sourceforge/plantuml/style/StyleLoader.java index d06cab64e..2ede19ed2 100644 --- a/src/net/sourceforge/plantuml/style/StyleLoader.java +++ b/src/net/sourceforge/plantuml/style/StyleLoader.java @@ -51,6 +51,7 @@ import net.sourceforge.plantuml.utils.LineLocationImpl; import net.sourceforge.plantuml.utils.Log; public class StyleLoader { + // ::remove file when __HAXE__ private final SkinParam skinParam; diff --git a/src/net/sourceforge/plantuml/style/StyleSignature.java b/src/net/sourceforge/plantuml/style/StyleSignature.java index 9a312a9ca..49013b62f 100644 --- a/src/net/sourceforge/plantuml/style/StyleSignature.java +++ b/src/net/sourceforge/plantuml/style/StyleSignature.java @@ -39,6 +39,7 @@ import net.sourceforge.plantuml.stereo.Stereostyles; import net.sourceforge.plantuml.stereo.Stereotype; public interface StyleSignature { + // ::remove file when __HAXE__ public Style getMergedStyle(StyleBuilder styleBuilder); diff --git a/src/net/sourceforge/plantuml/style/StyleSignatureBasic.java b/src/net/sourceforge/plantuml/style/StyleSignatureBasic.java index 210dfe70e..fccb2a956 100644 --- a/src/net/sourceforge/plantuml/style/StyleSignatureBasic.java +++ b/src/net/sourceforge/plantuml/style/StyleSignatureBasic.java @@ -48,6 +48,7 @@ import net.sourceforge.plantuml.stereo.StereotypeDecoration; import net.sourceforge.plantuml.url.Url; public class StyleSignatureBasic implements StyleSignature { + // ::remove file when __HAXE__ private final Set names = new LinkedHashSet<>(); private final boolean withDot; diff --git a/src/net/sourceforge/plantuml/style/StyleSignatures.java b/src/net/sourceforge/plantuml/style/StyleSignatures.java index f9c60fad8..5f23781c7 100644 --- a/src/net/sourceforge/plantuml/style/StyleSignatures.java +++ b/src/net/sourceforge/plantuml/style/StyleSignatures.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.stereo.Stereostyles; import net.sourceforge.plantuml.stereo.Stereotype; public class StyleSignatures implements StyleSignature { + // ::remove file when __HAXE__ private final List all = new ArrayList(); diff --git a/src/net/sourceforge/plantuml/style/Styleable.java b/src/net/sourceforge/plantuml/style/Styleable.java index 811331174..47d3bd64e 100644 --- a/src/net/sourceforge/plantuml/style/Styleable.java +++ b/src/net/sourceforge/plantuml/style/Styleable.java @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.style; public interface Styleable { + // ::remove file when __HAXE__ public StyleSignature getStyleSignature(); diff --git a/src/net/sourceforge/plantuml/style/Value.java b/src/net/sourceforge/plantuml/style/Value.java index 692b133ce..0f3fdd3a5 100644 --- a/src/net/sourceforge/plantuml/style/Value.java +++ b/src/net/sourceforge/plantuml/style/Value.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.color.HColorSet; import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; public interface Value { + // ::remove file when __HAXE__ public String asString(); diff --git a/src/net/sourceforge/plantuml/style/ValueAbstract.java b/src/net/sourceforge/plantuml/style/ValueAbstract.java index 95d8bd6f6..a9d93f8c0 100644 --- a/src/net/sourceforge/plantuml/style/ValueAbstract.java +++ b/src/net/sourceforge/plantuml/style/ValueAbstract.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.color.HColorSet; import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; public abstract class ValueAbstract implements Value { + // ::remove file when __HAXE__ public String asString() { throw new UnsupportedOperationException("Class=" + getClass()); diff --git a/src/net/sourceforge/plantuml/style/ValueColor.java b/src/net/sourceforge/plantuml/style/ValueColor.java index b1de5dea5..522e1acaf 100644 --- a/src/net/sourceforge/plantuml/style/ValueColor.java +++ b/src/net/sourceforge/plantuml/style/ValueColor.java @@ -39,6 +39,7 @@ import net.sourceforge.plantuml.klimt.color.HColor; import net.sourceforge.plantuml.klimt.color.HColorSet; public class ValueColor extends ValueAbstract { + // ::remove file when __HAXE__ private final HColor color; private final int priority; diff --git a/src/net/sourceforge/plantuml/style/ValueImpl.java b/src/net/sourceforge/plantuml/style/ValueImpl.java index ea2a6dbea..4af423c4e 100644 --- a/src/net/sourceforge/plantuml/style/ValueImpl.java +++ b/src/net/sourceforge/plantuml/style/ValueImpl.java @@ -44,6 +44,7 @@ import net.sourceforge.plantuml.klimt.color.HColors; import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; public class ValueImpl implements Value { + // ::remove file when __HAXE__ private final DarkString value; diff --git a/src/net/sourceforge/plantuml/style/ValueNull.java b/src/net/sourceforge/plantuml/style/ValueNull.java index 4b1c65252..2f0220819 100644 --- a/src/net/sourceforge/plantuml/style/ValueNull.java +++ b/src/net/sourceforge/plantuml/style/ValueNull.java @@ -43,6 +43,7 @@ import net.sourceforge.plantuml.klimt.color.HColors; import net.sourceforge.plantuml.klimt.geom.HorizontalAlignment; public class ValueNull extends ValueAbstract implements Value { + // ::remove file when __HAXE__ public static final Value NULL = new ValueNull(); diff --git a/src/net/sourceforge/plantuml/style/WithStyle.java b/src/net/sourceforge/plantuml/style/WithStyle.java index 832bd7ba6..9ece45adc 100644 --- a/src/net/sourceforge/plantuml/style/WithStyle.java +++ b/src/net/sourceforge/plantuml/style/WithStyle.java @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.style; public interface WithStyle extends Styleable { + // ::remove file when __HAXE__ public Style[] getUsedStyles(); diff --git a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java index 010647da0..c860d2cfa 100644 --- a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java +++ b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java @@ -77,7 +77,7 @@ class CircleAndArrow implements UDrawable { private XPoint2D putOnCircle(XPoint2D p) { p = p.transform(at); - final double coef = p.distance(new XPoint2D()) / radius; + final double coef = p.distance(new XPoint2D(0, 0)) / radius; p = new XPoint2D(p.getX() / coef, p.getY() / coef); return p.transform(at2); } diff --git a/src/net/sourceforge/plantuml/svek/Cluster.java b/src/net/sourceforge/plantuml/svek/Cluster.java index edaff8a25..c4205e22b 100644 --- a/src/net/sourceforge/plantuml/svek/Cluster.java +++ b/src/net/sourceforge/plantuml/svek/Cluster.java @@ -287,9 +287,9 @@ public class Cluster implements Moveable { if (diagram.getPragma().useKermor()) { if (xyNoteTop != null) - getCucaNote(Position.TOP).drawU(ug.apply(new UTranslate(xyNoteTop))); + getCucaNote(Position.TOP).drawU(ug.apply(UTranslate.point(xyNoteTop))); if (xyNoteBottom != null) - getCucaNote(Position.BOTTOM).drawU(ug.apply(new UTranslate(xyNoteBottom))); + getCucaNote(Position.BOTTOM).drawU(ug.apply(UTranslate.point(xyNoteBottom))); } final String fullName = group.getName(); @@ -380,7 +380,10 @@ public class Cluster implements Moveable { points.add(sh.getRectangleArea().getPointCenter()); for (Cluster in : children) - insides.add(in.getRectangleArea()); + if (in.getRectangleArea() == null) + System.err.println("Frontier null for " + in); + else + insides.add(in.getRectangleArea()); final FrontierCalculator frontierCalculator = new FrontierCalculator(getRectangleArea(), insides, points, skinParam.getRankdir()); @@ -441,7 +444,7 @@ public class Cluster implements Moveable { stroke, rounded, shadowing); r.drawU(ug.apply(rectangleArea.getPosition())); - clusterHeader.getTitle().drawU(ug.apply(new UTranslate(xyTitle))); + clusterHeader.getTitle().drawU(ug.apply(UTranslate.point(xyTitle))); if (attributeHeight > 0) attribute.drawU(ug.apply(new UTranslate(rectangleArea.getMinX() + IEntityImage.MARGIN, diff --git a/src/net/sourceforge/plantuml/svek/SvekLine.java b/src/net/sourceforge/plantuml/svek/SvekLine.java index a89dc5de2..0ea2dff27 100644 --- a/src/net/sourceforge/plantuml/svek/SvekLine.java +++ b/src/net/sourceforge/plantuml/svek/SvekLine.java @@ -525,7 +525,7 @@ public class SvekLine implements Moveable, Hideable, GuideLine { return new UDrawable() { public void drawU(UGraphic ug) { ULine line = new ULine(contact.getX() - center.getX(), contact.getY() - center.getY()); - ug = ug.apply(new UTranslate(center)); + ug = ug.apply(UTranslate.point(center)); ug.draw(line); } }; @@ -725,14 +725,14 @@ public class SvekLine implements Moveable, Hideable, GuideLine { DotPath todraw = dotPath.copy(); - UTranslate magneticForce1 = new UTranslate(); + UTranslate magneticForce1 = UTranslate.none(); if (getSvekNode1() != null) { final MagneticBorder magneticBorder1 = getSvekNode1().getMagneticBorder(); magneticForce1 = magneticBorder1.getForceAt(ug.getStringBounder(), todraw.getStartPoint()); todraw.moveStartPoint(magneticForce1); } - UTranslate magneticForce2 = new UTranslate(); + UTranslate magneticForce2 = UTranslate.none(); if (getSvekNode2() != null) { final MagneticBorder magneticBorder2 = getSvekNode2().getMagneticBorder(); magneticForce2 = magneticBorder2.getForceAt(ug.getStringBounder(), todraw.getEndPoint()); @@ -825,11 +825,11 @@ public class SvekLine implements Moveable, Hideable, GuideLine { public void computeKal() { if (kal1 != null) { - final UTranslate tr = new UTranslate(dotPath.getStartPoint()).compose(new UTranslate(dx, dy)); + final UTranslate tr = UTranslate.point(dotPath.getStartPoint()).compose(new UTranslate(dx, dy)); kal1.setTranslate(tr, extremity1); } if (kal2 != null) { - final UTranslate tr = new UTranslate(dotPath.getEndPoint()).compose(new UTranslate(dx, dy)); + final UTranslate tr = UTranslate.point(dotPath.getEndPoint()).compose(new UTranslate(dx, dy)); kal2.setTranslate(tr, extremity2); } } diff --git a/src/net/sourceforge/plantuml/svek/SvekNode.java b/src/net/sourceforge/plantuml/svek/SvekNode.java index 81f875413..8d96df61a 100644 --- a/src/net/sourceforge/plantuml/svek/SvekNode.java +++ b/src/net/sourceforge/plantuml/svek/SvekNode.java @@ -478,11 +478,11 @@ public class SvekNode implements Positionable, Hideable { // if ((pt.getX() >= minX && pt.getX() <= minX + getWidth() && pt.getY() <= minY)) { // final XDimension2D dimName = ((EntityImageDescription) image).getNameDimension(stringBounder); // if (pt.getX() < minX + dimName.getWidth()) -// return new UTranslate(); +// return UTranslate.none(); // // return new UTranslate(0, dimName.getHeight() + 4); // } -// return new UTranslate(); +// return UTranslate.none(); // } // }; } diff --git a/src/net/sourceforge/plantuml/svek/extremity/Extremity.java b/src/net/sourceforge/plantuml/svek/extremity/Extremity.java index f9eb94253..8ec93b4b1 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/Extremity.java +++ b/src/net/sourceforge/plantuml/svek/extremity/Extremity.java @@ -75,7 +75,7 @@ public abstract class Extremity implements UDrawable { } public UTranslate getDeltaForKal() { - return new UTranslate(); + return UTranslate.none(); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java index 6716ea167..584cfd6f5 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrow.java @@ -94,7 +94,7 @@ public class ExtremityArrow extends Extremity { ug.draw(polygon); if (line != null && line.getLength() > 2) - ug.apply(new UTranslate(contact)).draw(line); + ug.apply(UTranslate.point(contact)).draw(line); } @@ -102,7 +102,7 @@ public class ExtremityArrow extends Extremity { final XPoint2D pt1 = polygon.getPoint(0); final XPoint2D pt2 = polygon.getPoint(2); final ULine line = new ULine(pt1, pt2); - ug.apply(new UTranslate(pt1)).draw(line); + ug.apply(UTranslate.point(pt1)).draw(line); } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java index 6e50ad502..3f29eb64e 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityDiamond.java @@ -65,7 +65,7 @@ class ExtremityDiamond extends Extremity { polygon.addPoint(-xWing, yAperture); polygon.addPoint(0, 0); polygon.rotate(angle + Math.PI / 2); - this.deltaForKal = new UTranslate(polygon.getPoint(2)).reverse(); + this.deltaForKal = UTranslate.point(polygon.getPoint(2)).reverse(); polygon = polygon.translate(p1.getX(), p1.getY()); } diff --git a/src/net/sourceforge/plantuml/svek/image/Circle.java b/src/net/sourceforge/plantuml/svek/image/Circle.java index 4efc9f142..80f8922f1 100644 --- a/src/net/sourceforge/plantuml/svek/image/Circle.java +++ b/src/net/sourceforge/plantuml/svek/image/Circle.java @@ -44,7 +44,7 @@ public class Circle { private double radius; public Circle() { - this(new XPoint2D()); + this(new XPoint2D(0, 0)); } public Circle(XPoint2D center) { diff --git a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java index f6b3c872d..0b1fc05bc 100644 --- a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java +++ b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java @@ -65,7 +65,7 @@ public class ConnectedCircle implements UDrawable { } ug = ug.apply(HColors.GREEN).apply(HColors.GREEN.bg()); for (XPoint2D pt : points) { - final UTranslate tr = new UTranslate(pt); + final UTranslate tr = UTranslate.point(pt); // ug.apply(tr).draw(new UEllipse(2, 2)); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java b/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java index 87579b7ba..737c1d65e 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageDescription.java @@ -341,11 +341,11 @@ public class EntityImageDescription extends AbstractEntityImage { // && pt.getY() <= 0)) { // final XDimension2D dimName = getNameDimension(stringBounder); // if (pt.getX() < 0 + dimName.getWidth()) -// return new UTranslate(); +// return UTranslate.none(); // // return new UTranslate(0, dimName.getHeight() + 4); // } -// return new UTranslate(); +// return UTranslate.none(); // } // }; return new MagneticBorderNone(); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java index fe4c11803..58940e6ea 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java @@ -99,7 +99,7 @@ public class EntityImageLollipopInterfaceEye1 extends AbstractEntityImage { XPoint2D pos = bibliotekon.getNode(getEntity()).getPosition(); final List lines = bibliotekon.getAllLineConnectedTo(getEntity()); - final UTranslate reverse = new UTranslate(pos).reverse(); + final UTranslate reverse = UTranslate.point(pos).reverse(); final ConnectedCircle connectedCircle = new ConnectedCircle(SIZE / 2); for (SvekLine line : lines) { XPoint2D pt = line.getMyPoint(getEntity()); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java index b3586bacd..8ba4d005e 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java @@ -87,6 +87,7 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W final private TextBlock fields; final private Url url; final private double roundCorner; + private final boolean showFields; final private LineConfigurable lineConfig; @@ -100,6 +101,7 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W final TextBlock tmp = getUnderlinedName(entity).create(fcHeader, HorizontalAlignment.CENTER, skinParam); this.name = TextBlockUtils.withMargin(tmp, 2, 2); + if (stereotype == null || stereotype.getLabel(Guillemet.DOUBLE_COMPARATOR) == null || portionShower.showPortion(EntityPortion.STEREOTYPE, entity) == false) this.stereo = null; @@ -108,9 +110,9 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W FontConfiguration.create(getSkinParam(), FontParam.OBJECT_STEREOTYPE, stereotype), HorizontalAlignment.CENTER, skinParam); - final boolean showFields = portionShower.showPortion(EntityPortion.FIELD, entity); + showFields = portionShower.showPortion(EntityPortion.FIELD, entity); - if (entity.getBodier().getFieldsToDisplay().size() == 0) + if (entity.getBodier().getFieldsToDisplay().size() == 0 && showFields) this.fields = new TextBlockLineBefore(getStyle().value(PName.LineThickness).asDouble(), new TextBlockEmpty(10, 16)); else @@ -218,7 +220,7 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W private double getMethodOrFieldHeight(final XDimension2D dim) { final double fieldsHeight = dim.getHeight(); - if (fieldsHeight == 0) + if (fieldsHeight == 0 && showFields) return marginEmptyFieldsOrMethod; return fieldsHeight; diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java b/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java index d0fb6b1e6..3792c74b7 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageUseCase.java @@ -170,7 +170,7 @@ public class EntityImageUseCase extends AbstractEntityImage { } private void drawLine(UGraphic ug, final XPoint2D p1, final XPoint2D p2) { - ug = ug.apply(new UTranslate(p1)); + ug = ug.apply(UTranslate.point(p1)); ug.draw(new ULine(p2.getX() - p1.getX(), p2.getY() - p1.getY())); } diff --git a/src/net/sourceforge/plantuml/svek/image/Footprint.java b/src/net/sourceforge/plantuml/svek/image/Footprint.java index 6d0e8fe3a..303c123ca 100644 --- a/src/net/sourceforge/plantuml/svek/image/Footprint.java +++ b/src/net/sourceforge/plantuml/svek/image/Footprint.java @@ -76,7 +76,7 @@ public class Footprint { private final List all; public MyUGraphic() { - super(stringBounder, new UTranslate()); + super(stringBounder, UTranslate.none()); this.all = new ArrayList<>(); } diff --git a/src/net/sourceforge/plantuml/swing/FontChecker.java b/src/net/sourceforge/plantuml/swing/FontChecker.java index a768a153e..5fdf0d4e3 100644 --- a/src/net/sourceforge/plantuml/swing/FontChecker.java +++ b/src/net/sourceforge/plantuml/swing/FontChecker.java @@ -214,7 +214,7 @@ public class FontChecker { final int v2 = Integer.parseInt(args[3]); final SFile f = new SFile("fontchecker-" + name + "-" + v1 + "-" + v2 + ".html"); - final FontChecker fc = new FontChecker(new UFont(name, Font.PLAIN, size)); + final FontChecker fc = new FontChecker(UFont.build(name, Font.PLAIN, size)); final PrintWriter pw = f.createPrintWriter(); pw.println(""); pw.println("

PROBLEM

"); @@ -235,7 +235,7 @@ public class FontChecker { fc.printChar(pw, c); final String desc = fc.getCharDescVerbose(c); for (String n : allFontNames) { - final FontChecker other = new FontChecker(new UFont(n, Font.PLAIN, size)); + final FontChecker other = new FontChecker(UFont.build(n, Font.PLAIN, size)); final String descOther = other.getCharDescVerbose(c); if (desc.equals(descOther)) { pw.println(" "); diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java index b339281a4..29bef232a 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java @@ -317,7 +317,7 @@ public class Histogram implements PDrawing { final double minY = Math.min(pt1.getY(), pt2.getY()); final double maxY = Math.max(pt1.getY(), pt2.getY()); final XPoint2D pt = new XPoint2D(pt1.getX(), minY); - ug = ug.apply(new UTranslate(pt)); + ug = ug.apply(UTranslate.point(pt)); ug.draw(new URectangle(len, maxY - minY)); for (double x = 0; x < len; x += 5) ug.apply(UTranslate.dx(x)).draw(ULine.vline(maxY - minY)); @@ -325,14 +325,14 @@ public class Histogram implements PDrawing { } private void drawHLine(UGraphic ug, final XPoint2D pt, final double len) { - ug.apply(new UTranslate(pt)).draw(ULine.hline(len)); + ug.apply(UTranslate.point(pt)).draw(ULine.hline(len)); } private void drawVlines(UGraphic ug) { if (initialState != null) { final XPoint2D before = getInitialPoint(); final XPoint2D current = getPoints(0)[0]; - ug.apply(new UTranslate(current)).draw(ULine.vline(before.getY() - current.getY())); + ug.apply(UTranslate.point(current)).draw(ULine.vline(before.getY() - current.getY())); } for (int i = 1; i < changes.size(); i++) { if (changes.get(i - 1).isCompletelyHidden() || changes.get(i).isCompletelyHidden()) @@ -353,7 +353,7 @@ public class Histogram implements PDrawing { final TextBlock label = getTextBlock(comment); final XDimension2D dim = label.calculateDimension(ug.getStringBounder()); - label.drawU(ug.apply(new UTranslate(ptLabel).compose(new UTranslate(2, -dim.getHeight())))); + label.drawU(ug.apply(UTranslate.point(ptLabel).compose(new UTranslate(2, -dim.getHeight())))); } } diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/TimeArrow.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/TimeArrow.java index 21254a7dc..98a17116b 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/TimeArrow.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/TimeArrow.java @@ -118,7 +118,7 @@ public class TimeArrow implements UDrawable { ug = ug.apply(type.getSpecificColor()).apply(type.getUStroke()); final ULine line = new ULine(end.getX() - start.getX(), end.getY() - start.getY()); - ug.apply(new UTranslate(start)).draw(line); + ug.apply(UTranslate.point(start)).draw(line); final double delta = 20.0 * Math.PI / 180.0; final XPoint2D pt1 = onCircle(end, angle + delta); diff --git a/src/net/sourceforge/plantuml/version/Version.java b/src/net/sourceforge/plantuml/version/Version.java index 344474bff..bbc1a2b5f 100644 --- a/src/net/sourceforge/plantuml/version/Version.java +++ b/src/net/sourceforge/plantuml/version/Version.java @@ -82,7 +82,7 @@ public class Version { } public static int beta() { - final int beta = 4; + final int beta = 5; return beta; } diff --git a/src/net/sourceforge/plantuml/wbs/WBSLink.java b/src/net/sourceforge/plantuml/wbs/WBSLink.java index 90988592a..bb5add527 100644 --- a/src/net/sourceforge/plantuml/wbs/WBSLink.java +++ b/src/net/sourceforge/plantuml/wbs/WBSLink.java @@ -86,7 +86,7 @@ class WBSLink implements UDrawable { final XPoint2D c1 = rect1.intersect(line); final XPoint2D c2 = rect2.intersect(line); - line = new XLine2D(c1, c2); + line = XLine2D.line(c1, c2); ug = ug.apply(color); line.drawU(ug); diff --git a/src/net/sourceforge/plantuml/wbs/WBSTextBlock.java b/src/net/sourceforge/plantuml/wbs/WBSTextBlock.java index acd5a0e71..660b10316 100644 --- a/src/net/sourceforge/plantuml/wbs/WBSTextBlock.java +++ b/src/net/sourceforge/plantuml/wbs/WBSTextBlock.java @@ -66,7 +66,7 @@ abstract class WBSTextBlock extends AbstractTextBlock { final protected void drawLine(UGraphic ug, XPoint2D p1, XPoint2D p2) { final ULine line = new ULine(p1, p2); - getStyleUsed().applyStrokeAndLineColor(ug.apply(new UTranslate(p1)), skinParam.getIHtmlColorSet()).draw(line); + getStyleUsed().applyStrokeAndLineColor(ug.apply(UTranslate.point(p1)), skinParam.getIHtmlColorSet()).draw(line); } private Style getStyleUsed() { diff --git a/src/net/sourceforge/plantuml/wire/WCursor.java b/src/net/sourceforge/plantuml/wire/WCursor.java index daab3b243..a06ea01c5 100644 --- a/src/net/sourceforge/plantuml/wire/WCursor.java +++ b/src/net/sourceforge/plantuml/wire/WCursor.java @@ -40,7 +40,7 @@ import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class WCursor { - private UTranslate position = new UTranslate(); + private UTranslate position = UTranslate.none(); public XPoint2D getPosition() { return position.getPosition(); diff --git a/src/net/sourceforge/plantuml/wire/WireDiagram.java b/src/net/sourceforge/plantuml/wire/WireDiagram.java index 5d31fd9ca..12cf30cc3 100644 --- a/src/net/sourceforge/plantuml/wire/WireDiagram.java +++ b/src/net/sourceforge/plantuml/wire/WireDiagram.java @@ -59,7 +59,7 @@ import net.sourceforge.plantuml.skin.UmlDiagramType; public class WireDiagram extends UmlDiagram { - private final WBlock root = new WBlock("", new UTranslate(), 0, 0, null); + private final WBlock root = new WBlock("", UTranslate.none(), 0, 0, null); private final List spots = new ArrayList<>(); private final List hlinks = new ArrayList<>(); private final List vlinks = new ArrayList<>();