From 5febaa9aebcdd6e165b15fcbb7fb5083f4923838 Mon Sep 17 00:00:00 2001 From: Arnaud Roques Date: Sun, 12 Mar 2023 12:15:51 +0100 Subject: [PATCH] Preprocessing with __MIT__ is now working --- .../plantuml/api/cheerpj/v1/DirectDraw.java | 2 +- src/com/plantuml/api/cheerpj/v1/Raw.java | 4 +- .../plantuml/com/ctreber/acearth/ACearth.java | 1 + .../com/google/zxing/BarcodeFormat.java | 111 +++++++++--------- src/jcckit/GraphicsPlotCanvas.java | 1 + src/net/atmp/ImageBuilder.java | 10 +- .../sourceforge/plantuml/AbstractPSystem.java | 2 +- .../sourceforge/plantuml/PSystemBuilder.java | 13 +- .../plantuml/abel/EntityPosition.java | 8 +- .../plantuml/acearth/PSystemXearth.java | 1 + .../activitydiagram3/ftile/BoxStyle.java | 8 +- .../activitydiagram3/ftile/LaneDivider.java | 2 +- .../activitydiagram3/ftile/Swimlanes.java | 4 +- .../ftile/UGraphicInterceptorUDrawable2.java | 4 +- .../ftile/vertical/FtileBlackBlock.java | 2 +- .../ftile/vertical/FtileCircleEnd.java | 2 +- .../ftile/vertical/FtileCircleSpot.java | 2 +- .../ftile/vertical/FtileCircleStart.java | 2 +- .../ftile/vertical/FtileCircleStop.java | 4 +- .../gtile/GtileCircleSpot.java | 2 +- .../gtile/GtileCircleStart.java | 2 +- .../sourceforge/plantuml/board/CardBox.java | 2 +- .../plantuml/braille/BrailleDrawer.java | 2 +- .../plantuml/braille/BrailleGrid.java | 4 +- .../plantuml/braille/UGraphicBraille.java | 7 +- .../plantuml/cucadiagram/LinkConstraint.java | 4 +- .../plantuml/cucadiagram/TextBlockMap.java | 2 +- .../decoration/symbol/USymbolArtifact.java | 2 +- .../decoration/symbol/USymbolCard.java | 2 +- .../decoration/symbol/USymbolCloud.java | 4 +- .../decoration/symbol/USymbolCollections.java | 2 +- .../decoration/symbol/USymbolComponent1.java | 4 +- .../decoration/symbol/USymbolComponent2.java | 6 +- .../decoration/symbol/USymbolDatabase.java | 4 +- .../decoration/symbol/USymbolFile.java | 4 +- .../decoration/symbol/USymbolFolder.java | 2 +- .../decoration/symbol/USymbolFrame.java | 4 +- .../decoration/symbol/USymbolHexagon.java | 4 +- .../decoration/symbol/USymbolPerson.java | 4 +- .../decoration/symbol/USymbolQueue.java | 4 +- .../decoration/symbol/USymbolRectangle.java | 2 +- .../decoration/symbol/USymbolStack.java | 4 +- .../decoration/symbol/USymbolStorage.java | 2 +- .../plantuml/descdiagram/BoxedCharacter.java | 2 +- .../EntityImageDesignedDomain.java | 4 +- .../descdiagram/EntityImageDomain.java | 2 +- .../descdiagram/EntityImageMachine.java | 4 +- .../plantuml/ebnf/CornerCurved.java | 2 +- src/net/sourceforge/plantuml/ebnf/ETile.java | 8 +- .../sourceforge/plantuml/ebnf/ETileBox.java | 12 +- .../plantuml/ebnf/ETileOneOrMore.java | 4 +- .../plantuml/ebnf/ETileOptional.java | 2 +- .../plantuml/ebnf/ETileWithCircles.java | 2 +- .../plantuml/ebnf/ETileZeroOrMore.java | 4 +- .../sourceforge/plantuml/ebnf/TitleBox.java | 2 +- .../plantuml/eggs/PSystemColors.java | 2 +- .../plantuml/elk/CucaDiagramFileMakerElk.java | 2 +- .../plantuml/emoji/SvgNanoParser.java | 6 +- .../flashcode/FlashCodeUtilsZxing.java | 1 + .../plantuml/flowdiagram/ActivityBox.java | 2 +- .../plantuml/flowdiagram/FlowDiagram.java | 2 +- .../sourceforge/plantuml/gitlog/GitCurve.java | 2 +- .../sourceforge/plantuml/gitlog/MagicBox.java | 2 +- src/net/sourceforge/plantuml/golem/Tile.java | 4 +- src/net/sourceforge/plantuml/jasic/Jasic.java | 1 + .../plantuml/jcckit/PSystemJcckit.java | 1 + .../plantuml/jsondiagram/Arrow.java | 2 +- .../plantuml/jsondiagram/JsonCurve.java | 4 +- .../plantuml/jsondiagram/TextBlockJson.java | 4 +- .../plantuml/klimt/ClipContainer.java | 2 - .../plantuml/klimt/SvgAttributes.java | 29 +++-- src/net/sourceforge/plantuml/klimt/UClip.java | 40 +++---- src/net/sourceforge/plantuml/klimt/UPath.java | 9 +- .../klimt/compress/CompressionTransform.java | 1 + .../compress/CompressionXorYBuilder.java | 1 + .../plantuml/klimt/compress/Expand.java | 1 + .../klimt/compress/ExpandTransform.java | 2 +- .../compress/PiecewiseAffineComposition.java | 1 + .../PiecewiseAffineOnXorYBuilder.java | 1 + .../plantuml/klimt/compress/Slot.java | 21 ++-- .../plantuml/klimt/compress/SlotFinder.java | 1 + .../plantuml/klimt/compress/SlotSet.java | 19 +-- .../compress/UGraphicCompressOnXorY.java | 1 + .../plantuml/klimt/creole/Position.java | 2 +- .../plantuml/klimt/creole/atom/AtomTable.java | 4 +- .../plantuml/klimt/creole/atom/Bullet.java | 4 +- .../CommandCreoleSvgAttributeChange.java | 2 +- .../creole/command/SvgAttributesChange.java | 2 +- .../klimt/creole/legacy/AtomText.java | 2 +- .../klimt/creole/legacy/StripeCode.java | 2 +- .../klimt/drawing/AbstractCommonUGraphic.java | 59 +++++----- .../klimt/drawing/AbstractUGraphic.java | 15 +-- .../plantuml/klimt/drawing/UGraphic.java | 2 + .../plantuml/klimt/drawing/UGraphicNull.java | 7 +- .../klimt/drawing/debug/UGraphicDebug.java | 7 +- .../klimt/drawing/eps/UGraphicEps.java | 7 +- .../klimt/drawing/g2d/UGraphicG2d.java | 19 ++- .../klimt/drawing/hand/HandJiggle.java | 6 +- .../klimt/drawing/hand/UPathHand.java | 2 +- .../klimt/drawing/html5/UGraphicHtml5.java | 2 +- .../svg/DriverCenteredCharacterSvg.java | 1 + .../klimt/drawing/svg/DriverDotPathSvg.java | 2 +- .../klimt/drawing/svg/DriverEllipseSvg.java | 1 + .../klimt/drawing/svg/DriverImagePng.java | 1 + .../klimt/drawing/svg/DriverImageSvgSvg.java | 1 + .../klimt/drawing/svg/DriverLineSvg.java | 1 + .../klimt/drawing/svg/DriverPathSvg.java | 1 + .../klimt/drawing/svg/DriverPixelSvg.java | 1 + .../klimt/drawing/svg/DriverPolygonSvg.java | 1 + .../klimt/drawing/svg/DriverRectangleSvg.java | 1 + .../drawing/svg/DriverTextAsPathSvg.java | 2 +- .../klimt/drawing/svg/DriverTextSvg.java | 1 + .../plantuml/klimt/drawing/svg/SvgData.java | 1 + .../klimt/drawing/svg/SvgGraphics.java | 1 + .../klimt/drawing/svg/UGraphicSvg.java | 31 +++-- .../klimt/drawing/tikz/UGraphicTikz.java | 7 +- .../klimt/drawing/txt/UGraphicTxt.java | 7 +- .../klimt/drawing/visio/UGraphicVdx.java | 7 +- .../klimt/font/FontConfiguration.java | 96 ++++++++------- .../plantuml/klimt/font/FontStyle.java | 4 +- .../plantuml/klimt/geom/BezierUtils.java | 10 +- .../plantuml/klimt/geom/MinMax.java | 2 +- .../plantuml/klimt/geom/RectangleArea.java | 9 +- .../plantuml/klimt/geom/USegment.java | 3 +- .../plantuml/klimt/geom/USegmentType.java | 29 +---- .../plantuml/klimt/geom/XCubicCurve2D.java | 5 +- .../plantuml/klimt/shape/BigFrame.java | 4 +- .../klimt/shape/CircledCharacter.java | 2 +- .../plantuml/klimt/shape/DotPath.java | 17 ++- .../klimt/shape/SimpleTextBlockBordered.java | 2 +- .../klimt/shape/TextBlockBordered.java | 2 +- .../klimt/shape/TextBlockGeneric.java | 2 +- .../klimt/shape/TextBlockVertical2.java | 2 +- .../plantuml/klimt/shape/TileText.java | 2 +- .../plantuml/klimt/shape/UEllipse.java | 9 +- .../plantuml/klimt/shape/UHorizontalLine.java | 2 +- .../plantuml/klimt/shape/URectangle.java | 11 +- .../plantuml/klimt/shape/UText.java | 7 +- .../plantuml/logo/LogoScanner.java | 1 + .../plantuml/mindmap/FingerImpl.java | 2 +- .../plantuml/nwdiag/VerticalLine.java | 4 +- .../nwdiag/next/GridTextBlockDecorated.java | 2 +- .../openiconic/PSystemOpenIconic.java | 2 +- .../plantuml/openiconic/SvgPath.java | 4 +- .../plantuml/project/GanttDiagram.java | 4 +- .../plantuml/project/draw/PathUtils.java | 4 +- .../plantuml/project/draw/RectangleTask.java | 8 +- .../plantuml/project/draw/TaskDrawGroup.java | 6 +- .../project/draw/TaskDrawSeparator.java | 2 +- .../plantuml/project/draw/TimeHeader.java | 2 +- .../plantuml/salt/element/ElementButton.java | 2 +- .../salt/element/ElementDroplist.java | 4 +- .../plantuml/salt/element/ElementMenuBar.java | 2 +- .../salt/element/ElementMenuEntry.java | 2 +- .../salt/element/ElementMenuPopup.java | 2 +- .../salt/element/ElementPyramidScrolled.java | 12 +- .../salt/element/ElementRadioCheckbox.java | 6 +- .../plantuml/salt/element/Grid.java | 2 +- .../plantuml/salt/element/Skeleton.java | 2 +- .../plantuml/salt/element/Skeleton2.java | 2 +- .../plantuml/sdot/SmetanaPath.java | 4 +- .../sequencediagram/teoz/Blotter.java | 10 +- .../plantuml/skin/ActorAwesome.java | 4 +- .../plantuml/skin/ActorHollow.java | 4 +- .../plantuml/skin/ActorStickMan.java | 4 +- .../plantuml/skin/CircleInterface.java | 2 +- src/net/sourceforge/plantuml/skin/Padder.java | 2 +- .../plantuml/skin/VisibilityModifier.java | 6 +- .../skin/rose/ComponentRoseActiveLine.java | 2 +- .../skin/rose/ComponentRoseArrow.java | 4 +- .../skin/rose/ComponentRoseDivider.java | 4 +- .../skin/rose/ComponentRoseEnglober.java | 2 +- .../skin/rose/ComponentRoseGroupingElse.java | 4 +- .../rose/ComponentRoseGroupingHeader.java | 6 +- .../skin/rose/ComponentRoseNoteBox.java | 2 +- .../skin/rose/ComponentRoseParticipant.java | 2 +- .../skin/rose/ComponentRoseReference.java | 4 +- .../skin/rose/ComponentRoseSelfArrow.java | 2 +- .../plantuml/sudoku/GraphicsSudoku.java | 7 +- .../sourceforge/plantuml/svek/Boundary.java | 6 +- .../plantuml/svek/CircleAndArrow.java | 2 +- .../plantuml/svek/CircleInterface2.java | 2 +- .../sourceforge/plantuml/svek/Cluster.java | 2 +- .../sourceforge/plantuml/svek/Control.java | 2 +- .../plantuml/svek/EntityDomain.java | 2 +- .../plantuml/svek/InnerActivity.java | 2 +- src/net/sourceforge/plantuml/svek/Kal.java | 2 +- .../plantuml/svek/PackageStyle.java | 26 ++-- .../plantuml/svek/RoundedContainer.java | 2 +- .../plantuml/svek/RoundedNorth.java | 4 +- .../plantuml/svek/RoundedSouth.java | 4 +- .../sourceforge/plantuml/svek/SvekLine.java | 2 +- .../extremity/ExtremityArrowAndCircle.java | 2 +- .../svek/extremity/ExtremityCircle.java | 2 +- .../extremity/ExtremityCircleConnect.java | 2 +- .../svek/extremity/ExtremityCircleCross.java | 2 +- .../extremity/ExtremityCircleCrowfoot.java | 2 +- .../svek/extremity/ExtremityCircleLine.java | 2 +- .../svek/extremity/ExtremityExtendsLike.java | 2 +- .../svek/extremity/ExtremityNotNavigable.java | 2 +- .../svek/extremity/ExtremityParenthesis.java | 3 +- .../svek/extremity/ExtremityParenthesis2.java | 2 +- .../svek/extremity/ExtremityPlus.java | 2 +- .../svek/extremity/ExtremitySquare.java | 2 +- .../svek/extremity/ExtremityStateLine1.java | 2 +- .../svek/extremity/ExtremityStateLine2.java | 2 +- .../plantuml/svek/extremity/MiddleCircle.java | 2 +- .../svek/extremity/MiddleCircleCircled.java | 4 +- .../plantuml/svek/image/ConnectedCircle.java | 4 +- .../svek/image/ContainingEllipse.java | 2 +- .../svek/image/EntityImageActivity.java | 2 +- .../image/EntityImageAssociationPoint.java | 2 +- .../svek/image/EntityImageCircleEnd.java | 4 +- .../svek/image/EntityImageCircleStart.java | 2 +- .../plantuml/svek/image/EntityImageClass.java | 8 +- .../plantuml/svek/image/EntityImageJson.java | 2 +- .../image/EntityImageLollipopInterface.java | 2 +- .../EntityImageLollipopInterfaceEye1.java | 2 +- .../EntityImageLollipopInterfaceEye2.java | 2 +- .../plantuml/svek/image/EntityImageMap.java | 4 +- .../svek/image/EntityImageObject.java | 4 +- .../plantuml/svek/image/EntityImagePort.java | 2 +- .../svek/image/EntityImagePseudoState.java | 2 +- .../plantuml/svek/image/EntityImageState.java | 2 +- .../svek/image/EntityImageStateCommon.java | 2 +- .../svek/image/EntityImageSynchroBar.java | 2 +- .../plantuml/svek/image/Opale.java | 12 +- .../plantuml/swing/FontChecker.java | 6 +- .../plantuml/timingdiagram/Highlight.java | 2 +- .../timingdiagram/graphic/Histogram.java | 2 +- .../timingdiagram/graphic/PentaAShape.java | 2 +- .../timingdiagram/graphic/PentaBShape.java | 2 +- .../timingdiagram/graphic/Ribbon.java | 2 +- src/net/sourceforge/plantuml/utils/Log.java | 53 ++++----- .../sourceforge/plantuml/version/License.java | 36 +++--- .../sourceforge/plantuml/version/Version.java | 4 +- .../plantuml/webp/BoolDecoder.java | 1 + src/net/sourceforge/plantuml/wire/Block.java | 4 +- src/net/sourceforge/plantuml/wire/Spot.java | 2 +- src/net/sourceforge/plantuml/wire/WBlock.java | 2 +- .../plantuml/wire/WLinkHorizontal.java | 8 +- .../plantuml/wire/WLinkVertical.java | 6 +- 242 files changed, 686 insertions(+), 659 deletions(-) diff --git a/src/com/plantuml/api/cheerpj/v1/DirectDraw.java b/src/com/plantuml/api/cheerpj/v1/DirectDraw.java index 8eea4437f..295b0cc0b 100644 --- a/src/com/plantuml/api/cheerpj/v1/DirectDraw.java +++ b/src/com/plantuml/api/cheerpj/v1/DirectDraw.java @@ -119,7 +119,7 @@ public class DirectDraw { final StringBounder stringBounder = new StringBounderCanvas(g2d); final UGraphicG2d ug = new UGraphicG2d(back, ColorMapper.IDENTITY, stringBounder, g2d, 1.0, FileFormat.PNG); WasmLog.log("...cleaning..."); - ug.apply(back).apply(back.bg()).draw(new URectangle(frameWidth, frameHeight)); + ug.apply(back).apply(back.bg()).draw(URectangle.build(frameWidth, frameHeight)); WasmLog.log("...drawing..."); system.exportDiagramGraphic(ug); diff --git a/src/com/plantuml/api/cheerpj/v1/Raw.java b/src/com/plantuml/api/cheerpj/v1/Raw.java index 172bcbb2a..c8a12200e 100644 --- a/src/com/plantuml/api/cheerpj/v1/Raw.java +++ b/src/com/plantuml/api/cheerpj/v1/Raw.java @@ -120,7 +120,7 @@ public class Raw { } final UGraphicG2d ug = new UGraphicG2d(back, mapper, stringBounder, g2d, 1.0, FileFormat.RAW); WasmLog.log("...cleaning..."); - ug.apply(back).apply(back.bg()).draw(new URectangle(MAX, MAX)); + ug.apply(back).apply(back.bg()).draw(URectangle.build(MAX, MAX)); ug.resetMax(); WasmLog.log("...drawing..."); @@ -204,7 +204,7 @@ public class Raw { } final UGraphicG2d ug = new UGraphicG2d(back, mapper, stringBounder, g2d, 1.0, FileFormat.RAW); WasmLog.log("...cleaning..."); - ug.apply(back).apply(back.bg()).draw(new URectangle(MAX, MAX)); + ug.apply(back).apply(back.bg()).draw(URectangle.build(MAX, MAX)); ug.resetMax(); WasmLog.log("...drawing..."); diff --git a/src/ext/plantuml/com/ctreber/acearth/ACearth.java b/src/ext/plantuml/com/ctreber/acearth/ACearth.java index b9afb3dc9..7efdaaf8d 100644 --- a/src/ext/plantuml/com/ctreber/acearth/ACearth.java +++ b/src/ext/plantuml/com/ctreber/acearth/ACearth.java @@ -98,6 +98,7 @@ import ext.plantuml.com.ctreber.aclib.sort.QuickSort; */ public class ACearth { // ::remove folder when __CORE__ + // ::remove folder when __MIT__ public static final String VERSION = "1.1"; public static final String BUILD = "22.11.2002 004"; diff --git a/src/ext/plantuml/com/google/zxing/BarcodeFormat.java b/src/ext/plantuml/com/google/zxing/BarcodeFormat.java index 1dbd70fc4..71c791a0a 100644 --- a/src/ext/plantuml/com/google/zxing/BarcodeFormat.java +++ b/src/ext/plantuml/com/google/zxing/BarcodeFormat.java @@ -24,82 +24,83 @@ import java.util.Hashtable; * @author Sean Owen */ public final class BarcodeFormat { - // ::remove folder when __HAXE__ - // ::remove folder when __CORE__ + // ::remove folder when __HAXE__ + // ::remove folder when __CORE__ + // ::remove folder when __MIT__ - // No, we can't use an enum here. J2ME doesn't support it. + // No, we can't use an enum here. J2ME doesn't support it. - private static final Hashtable VALUES = new Hashtable(); + private static final Hashtable VALUES = new Hashtable(); - /** QR Code 2D barcode format. */ - public static final BarcodeFormat QR_CODE = new BarcodeFormat("QR_CODE"); + /** QR Code 2D barcode format. */ + public static final BarcodeFormat QR_CODE = new BarcodeFormat("QR_CODE"); - /** Data Matrix 2D barcode format. */ - public static final BarcodeFormat DATA_MATRIX = new BarcodeFormat("DATA_MATRIX"); + /** Data Matrix 2D barcode format. */ + public static final BarcodeFormat DATA_MATRIX = new BarcodeFormat("DATA_MATRIX"); - /** UPC-E 1D format. */ - public static final BarcodeFormat UPC_E = new BarcodeFormat("UPC_E"); + /** UPC-E 1D format. */ + public static final BarcodeFormat UPC_E = new BarcodeFormat("UPC_E"); - /** UPC-A 1D format. */ - public static final BarcodeFormat UPC_A = new BarcodeFormat("UPC_A"); + /** UPC-A 1D format. */ + public static final BarcodeFormat UPC_A = new BarcodeFormat("UPC_A"); - /** EAN-8 1D format. */ - public static final BarcodeFormat EAN_8 = new BarcodeFormat("EAN_8"); + /** EAN-8 1D format. */ + public static final BarcodeFormat EAN_8 = new BarcodeFormat("EAN_8"); - /** EAN-13 1D format. */ - public static final BarcodeFormat EAN_13 = new BarcodeFormat("EAN_13"); + /** EAN-13 1D format. */ + public static final BarcodeFormat EAN_13 = new BarcodeFormat("EAN_13"); - /** UPC/EAN extension format. Not a stand-alone format. */ - public static final BarcodeFormat UPC_EAN_EXTENSION = new BarcodeFormat("UPC_EAN_EXTENSION"); + /** UPC/EAN extension format. Not a stand-alone format. */ + public static final BarcodeFormat UPC_EAN_EXTENSION = new BarcodeFormat("UPC_EAN_EXTENSION"); - /** Code 128 1D format. */ - public static final BarcodeFormat CODE_128 = new BarcodeFormat("CODE_128"); + /** Code 128 1D format. */ + public static final BarcodeFormat CODE_128 = new BarcodeFormat("CODE_128"); - /** Code 39 1D format. */ - public static final BarcodeFormat CODE_39 = new BarcodeFormat("CODE_39"); + /** Code 39 1D format. */ + public static final BarcodeFormat CODE_39 = new BarcodeFormat("CODE_39"); - /** Code 93 1D format. */ - public static final BarcodeFormat CODE_93 = new BarcodeFormat("CODE_93"); + /** Code 93 1D format. */ + public static final BarcodeFormat CODE_93 = new BarcodeFormat("CODE_93"); - /** CODABAR 1D format. */ - public static final BarcodeFormat CODABAR = new BarcodeFormat("CODABAR"); + /** CODABAR 1D format. */ + public static final BarcodeFormat CODABAR = new BarcodeFormat("CODABAR"); - /** ITF (Interleaved Two of Five) 1D format. */ - public static final BarcodeFormat ITF = new BarcodeFormat("ITF"); + /** ITF (Interleaved Two of Five) 1D format. */ + public static final BarcodeFormat ITF = new BarcodeFormat("ITF"); - /** RSS 14 */ - public static final BarcodeFormat RSS14 = new BarcodeFormat("RSS14"); + /** RSS 14 */ + public static final BarcodeFormat RSS14 = new BarcodeFormat("RSS14"); - /** PDF417 format. */ - public static final BarcodeFormat PDF417 = new BarcodeFormat("PDF417"); + /** PDF417 format. */ + public static final BarcodeFormat PDF417 = new BarcodeFormat("PDF417"); - /** RSS EXPANDED */ - public static final BarcodeFormat RSS_EXPANDED = new BarcodeFormat("RSS_EXPANDED"); + /** RSS EXPANDED */ + public static final BarcodeFormat RSS_EXPANDED = new BarcodeFormat("RSS_EXPANDED"); - private final String name; + private final String name; - private BarcodeFormat(String name) { - this.name = name; - VALUES.put(name, this); - } + private BarcodeFormat(String name) { + this.name = name; + VALUES.put(name, this); + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public String toString() { - return name; - } + public String toString() { + return name; + } - public static BarcodeFormat valueOf(String name) { - if (name == null || name.length() == 0) { - throw new IllegalArgumentException(); - } - BarcodeFormat format = (BarcodeFormat) VALUES.get(name); - if (format == null) { - throw new IllegalArgumentException(); - } - return format; - } + public static BarcodeFormat valueOf(String name) { + if (name == null || name.length() == 0) { + throw new IllegalArgumentException(); + } + BarcodeFormat format = (BarcodeFormat) VALUES.get(name); + if (format == null) { + throw new IllegalArgumentException(); + } + return format; + } } diff --git a/src/jcckit/GraphicsPlotCanvas.java b/src/jcckit/GraphicsPlotCanvas.java index f997470cd..82a2f2f5b 100644 --- a/src/jcckit/GraphicsPlotCanvas.java +++ b/src/jcckit/GraphicsPlotCanvas.java @@ -50,6 +50,7 @@ import jcckit.util.Factory; public class GraphicsPlotCanvas extends PlotCanvas { // ::remove folder when __CORE__ // ::remove folder when __HAXE__ + // ::remove folder when __MIT__ /** Key of a configuration parameter. */ public static final String BACKGROUND_KEY = "background"; public static final String FOREGROUND_KEY = "foreground"; diff --git a/src/net/atmp/ImageBuilder.java b/src/net/atmp/ImageBuilder.java index 8447ec40a..3ce84f890 100644 --- a/src/net/atmp/ImageBuilder.java +++ b/src/net/atmp/ImageBuilder.java @@ -330,7 +330,7 @@ public class ImageBuilder { if (stroke == null) return; - final URectangle rectangle = new URectangle(dim.getWidth() - stroke.getThickness(), + final URectangle rectangle = URectangle.build(dim.getWidth() - stroke.getThickness(), dim.getHeight() - stroke.getThickness()) .rounded(skinParam.getRoundCorner(CornerParam.diagramBorder, null)); @@ -344,7 +344,7 @@ public class ImageBuilder { final int blue = rnd.nextInt(40); final Color c = new Color(red, green, blue); final HColor color = HColors.simple(c); - ug2.apply(color).apply(color.bg()).draw(new URectangle(1, 1)); + ug2.apply(color).apply(color.bg()).draw(URectangle.build(1, 1)); } private XDimension2D getFinalDimension() { @@ -487,7 +487,7 @@ public class ImageBuilder { option = option.withSvgDimensionStyle(skinParam.svgDimensionStyle()); } - final UGraphicSvg ug = new UGraphicSvg(option, false, seed, stringBounder); + final UGraphicSvg ug = UGraphicSvg.build(option, false, seed, stringBounder); return ug; } @@ -515,7 +515,7 @@ public class ImageBuilder { // ::comment when __CORE__ final UGraphicG2d ug = new UGraphicG2d(backcolor, fileFormatOption.getColorMapper(), stringBounder, graphics2D, - scaleFactor, affineTransforms == null ? null : affineTransforms.getFirst(), dx, dy, format); + scaleFactor, dx, dy, format, affineTransforms == null ? null : affineTransforms.getFirst()); // ::done // ::uncomment when __CORE__ // final UGraphicG2d ug = new UGraphicG2d(backcolor, @@ -526,7 +526,7 @@ public class ImageBuilder { final BufferedImage im = ug.getBufferedImage(); if (this.backcolor instanceof HColorGradient) ug.apply(this.backcolor.bg()) - .draw(new URectangle(im.getWidth() / scaleFactor, im.getHeight() / scaleFactor)); + .draw(URectangle.build(im.getWidth() / scaleFactor, im.getHeight() / scaleFactor)); return ug; } diff --git a/src/net/sourceforge/plantuml/AbstractPSystem.java b/src/net/sourceforge/plantuml/AbstractPSystem.java index f9489030e..95fb0aa1f 100644 --- a/src/net/sourceforge/plantuml/AbstractPSystem.java +++ b/src/net/sourceforge/plantuml/AbstractPSystem.java @@ -241,7 +241,7 @@ public abstract class AbstractPSystem implements Diagram { public void exportDiagramGraphic(UGraphic ug) { final UFont font = UFont.monospaced(14); final FontConfiguration fc = FontConfiguration.blackBlueTrue(font); - final UText text = new UText("Not implemented yet for " + getClass().getName(), fc); + final UText text = UText.build("Not implemented yet for " + getClass().getName(), fc); ug.apply(new UTranslate(10, 10)).draw(text); } diff --git a/src/net/sourceforge/plantuml/PSystemBuilder.java b/src/net/sourceforge/plantuml/PSystemBuilder.java index 87cbeeae5..a6d7ab07a 100644 --- a/src/net/sourceforge/plantuml/PSystemBuilder.java +++ b/src/net/sourceforge/plantuml/PSystemBuilder.java @@ -203,33 +203,36 @@ public class PSystemBuilder { factories.add(new NwDiagramFactory(DiagramType.NW)); factories.add(new MindMapDiagramFactory()); factories.add(new WBSDiagramFactory()); + // ::uncomment when __CORE__ // factories.add(new PSystemSudokuFactory()); // ::done - // ::comment when __CORE__ + + // ::comment when __CORE__ or __MIT__ factories.add(new PSystemDitaaFactory()); if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) { factories.add(new PSystemJcckitFactory()); - // factories.add(new PSystemLogoFactory()); factories.add(new PSystemSudokuFactory()); } + // ::done + + // ::comment when __CORE__ factories.add(new PSystemDefinitionFactory()); factories.add(new ListSpriteDiagramFactory()); factories.add(new StdlibDiagramFactory()); factories.add(new PSystemMathFactory(DiagramType.MATH)); factories.add(new PSystemLatexFactory(DiagramType.LATEX)); - // factories.add(new PSystemStatsFactory()); factories.add(new PSystemCreoleFactory()); factories.add(new PSystemEggFactory()); factories.add(new PSystemAppleTwoFactory()); factories.add(new PSystemRIPFactory()); - // factories.add(new PSystemLostFactory()); if (SecurityUtils.getSecurityProfile() == SecurityProfile.UNSECURE) factories.add(new PSystemPathFactory()); factories.add(new PSystemOregonFactory()); // ::done + factories.add(new PSystemCharlieFactory()); - // ::comment when __CORE__ + // ::comment when __CORE__ or __MIT__ if (License.getCurrent() == License.GPL || License.getCurrent() == License.GPLV2) { factories.add(new PSystemXearthFactory()); } diff --git a/src/net/sourceforge/plantuml/abel/EntityPosition.java b/src/net/sourceforge/plantuml/abel/EntityPosition.java index 4be2e367b..fde3057a7 100644 --- a/src/net/sourceforge/plantuml/abel/EntityPosition.java +++ b/src/net/sourceforge/plantuml/abel/EntityPosition.java @@ -83,7 +83,7 @@ public enum EntityPosition { if (this == NORMAL) { throw new IllegalStateException(); } else if (this == ENTRY_POINT || this == EXIT_POINT) { - final Shadowable circle = new UEllipse(RADIUS * 2, RADIUS * 2); + final Shadowable circle = UEllipse.build(RADIUS * 2, RADIUS * 2); ug.draw(circle); if (this == EntityPosition.EXIT_POINT) { final double xc = 0 + RADIUS + .5; @@ -95,18 +95,18 @@ public enum EntityPosition { getPointOnCircle(xc, yc, Math.PI - Math.PI / 4, radius)); } } else if (this == INPUT_PIN || this == OUTPUT_PIN /* || this == PORT */) { - final Shadowable rectangle = new URectangle(RADIUS * 2, RADIUS * 2); + final Shadowable rectangle = URectangle.build(RADIUS * 2, RADIUS * 2); ug.draw(rectangle); } else if (this == EXPANSION_INPUT || this == EXPANSION_OUTPUT) { if (rankdir == Rankdir.TOP_TO_BOTTOM) { - final Shadowable rectangle = new URectangle(RADIUS * 2 * 4, RADIUS * 2); + final Shadowable rectangle = URectangle.build(RADIUS * 2 * 4, RADIUS * 2); ug.draw(rectangle); final ULine vline = ULine.vline(RADIUS * 2); ug.apply(UTranslate.dx(RADIUS * 2)).draw(vline); ug.apply(UTranslate.dx(RADIUS * 2 * 2)).draw(vline); ug.apply(UTranslate.dx(RADIUS * 2 * 3)).draw(vline); } else { - final Shadowable rectangle = new URectangle(RADIUS * 2, RADIUS * 2 * 4); + final Shadowable rectangle = URectangle.build(RADIUS * 2, RADIUS * 2 * 4); ug.apply(UTranslate.dy(0)).draw(rectangle); final ULine hline = ULine.hline(RADIUS * 2); ug.apply(UTranslate.dy(RADIUS * 2)).draw(hline); diff --git a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java index d6c3ab0af..95e69c4e1 100644 --- a/src/net/sourceforge/plantuml/acearth/PSystemXearth.java +++ b/src/net/sourceforge/plantuml/acearth/PSystemXearth.java @@ -59,6 +59,7 @@ import net.sourceforge.plantuml.core.UmlSource; public class PSystemXearth extends AbstractPSystem { // ::remove folder when __CORE__ + // ::remove folder when __MIT__ final private int width; final private int height; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java index 72cea5694..c0beb87c8 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/BoxStyle.java @@ -50,7 +50,7 @@ public enum BoxStyle { PLAIN(null, '\0', 0) { @Override protected Shadowable getShape(double width, double height, double roundCorner) { - return new URectangle(width, height).rounded(roundCorner); + return URectangle.build(width, height).rounded(roundCorner); } }, SDL_INPUT("input", '<', 10) { @@ -80,7 +80,7 @@ public enum BoxStyle { SDL_PROCEDURE("procedure", '|', 0) { @Override protected void drawInternal(UGraphic ug, double width, double height, double shadowing, double roundCorner) { - final URectangle rect = new URectangle(width, height); + final URectangle rect = URectangle.build(width, height); rect.setDeltaShadow(shadowing); ug.draw(rect); final ULine vline = ULine.vline(height); @@ -113,7 +113,7 @@ public enum BoxStyle { SDL_CONTINUOUS("continuous", '}', 0) { @Override protected Shadowable getShape(double width, double height, double roundCorner) { - final UPath result = new UPath(); + final UPath result = UPath.none(); final double c1[] = { DELTA_CONTINUOUS, 0 }; final double c2[] = { 0, height / 2 }; final double c3[] = { DELTA_CONTINUOUS, height }; @@ -135,7 +135,7 @@ public enum BoxStyle { SDL_TASK("task", ']', 0) { @Override protected Shadowable getShape(double width, double height, double roundCorner) { - return new URectangle(width, height); + return URectangle.build(width, height); } }; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/LaneDivider.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/LaneDivider.java index 86e552e01..ae1de7369 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/LaneDivider.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/LaneDivider.java @@ -83,7 +83,7 @@ public class LaneDivider extends AbstractTextBlock { } public void drawU(UGraphic ug) { -// final UShape back = new URectangle(x1 + x2, height).ignoreForCompressionOnY(); +// final UShape back = URectangle.build(x1 + x2, height).ignoreForCompressionOnY(); // ug.apply(UChangeColor.nnn(HColorUtils.BLUE)).draw(back); final UShape back = new UEmpty(x1 + x2, 1); ug.draw(back); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java index 6be861ce1..1d5bebdd7 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/Swimlanes.java @@ -311,7 +311,7 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock, Styleable .apply(UTranslate.dx(xpos - divider1.getX2())); final double width = swimlane.getActualWidth() + divider1.getX2() + divider2.getX1(); final double height = dimensionFull.getHeight() + titleHeightTranslate.getDy(); - background.draw(new URectangle(width, height).ignoreForCompressionOnX().ignoreForCompressionOnY()); + background.draw(URectangle.build(width, height).ignoreForCompressionOnX().ignoreForCompressionOnY()); } full.drawU(new UGraphicInterceptorOneSwimlane(ug, swimlane, swimlanes()).apply(swimlane.getTranslate()) @@ -336,7 +336,7 @@ public class Swimlanes extends AbstractTextBlock implements TextBlock, Styleable if (color != null) { final double titleHeight = getTitlesHeight(ug.getStringBounder()); double fullWidth = swimlanesSpecial().get(swimlanesSpecial().size() - 1).getTranslate().getDx() - 2 * 5 - 1; - final URectangle back = new URectangle(fullWidth, titleHeight).ignoreForCompressionOnX() + final URectangle back = URectangle.build(fullWidth, titleHeight).ignoreForCompressionOnX() .ignoreForCompressionOnY(); ug.apply(UTranslate.dx(5)).apply(color.bg()).apply(color).draw(back); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java index 6a54d50d8..3e26c18ca 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/UGraphicInterceptorUDrawable2.java @@ -106,8 +106,8 @@ public class UGraphicInterceptorUDrawable2 extends UGraphicDelegator { return; final double dx = dest.getDx() - posNow.getDx(); final double dy = dest.getDy() - posNow.getDy(); - ugGoto.draw(new UEllipse(3, 3)); - ugGoto.apply(new UTranslate(dx, dy)).draw(new UEllipse(3, 3)); + ugGoto.draw(UEllipse.build(3, 3)); + ugGoto.apply(new UTranslate(dx, dy)).draw(UEllipse.build(3, 3)); ugGoto.draw(ULine.hline(dx)); ugGoto.apply(UTranslate.dx(dx)).draw(ULine.vline(dy)); // ugGoto.draw(new ULine(dx, dy)); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java index 975295e6f..490a59edf 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileBlackBlock.java @@ -96,7 +96,7 @@ public class FtileBlackBlock extends AbstractFtile { } public void drawU(UGraphic ug) { - final URectangle rect = new URectangle(width, height).rounded(5).ignoreForCompressionOnX(); + final URectangle rect = URectangle.build(width, height).rounded(5).ignoreForCompressionOnX(); final Style style = getSignature().getMergedStyle(skinParam().getCurrentStyleBuilder()); final double shadowing = style.value(PName.Shadowing).asDouble(); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java index ed12e029a..4421ed6b3 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleEnd.java @@ -100,7 +100,7 @@ public class FtileCircleEnd extends AbstractFtile { xTheoricalPosition = Math.round(xTheoricalPosition); yTheoricalPosition = Math.round(yTheoricalPosition); - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); circle.setDeltaShadow(shadowing); ug = ug.apply(borderColor); final double thickness = 2.5; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleSpot.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleSpot.java index c515249d3..b110fdc7d 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleSpot.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleSpot.java @@ -97,7 +97,7 @@ public class FtileCircleSpot extends AbstractFtile { } public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); final HColor backColor = this.backColor == null ? style.value(PName.BackGroundColor).asColor(getIHtmlColorSet()) : this.backColor; diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java index 69d4381d7..316c3a4eb 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStart.java @@ -92,7 +92,7 @@ public class FtileCircleStart extends AbstractFtile { } public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); circle.setDeltaShadow(shadowing); ug.apply(borderColor).apply(backColor.bg()).draw(circle); } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java index 1d779cfe5..2d1d5a079 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/ftile/vertical/FtileCircleStop.java @@ -94,13 +94,13 @@ public class FtileCircleStop extends AbstractFtile { } public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); circle.setDeltaShadow(shadowing); ug.apply(borderColor).apply(backColor.bg()).draw(circle); final double delta = 5; - final UEllipse circleSmall = new UEllipse(SIZE - delta * 2, SIZE - delta * 2); + final UEllipse circleSmall = UEllipse.build(SIZE - delta * 2, SIZE - delta * 2); // if (skinParam().shadowing(null)) { // circleSmall.setDeltaShadow(3); // } diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleSpot.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleSpot.java index 3a3048b84..b2f130288 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleSpot.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleSpot.java @@ -86,7 +86,7 @@ public class GtileCircleSpot extends AbstractGtile { ? SkinParamUtils.getColor(skinParam(), null, ColorParam.activityBackground) : this.backColor; - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); circle.setDeltaShadow(shadowing); ug.apply(borderColor).apply(backColor.bg()).apply(getThickness()).draw(circle); diff --git a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleStart.java b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleStart.java index 2a654d51c..665131efc 100644 --- a/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleStart.java +++ b/src/net/sourceforge/plantuml/activitydiagram3/gtile/GtileCircleStart.java @@ -70,7 +70,7 @@ public class GtileCircleStart extends AbstractGtile { @Override protected void drawUInternal(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); circle.setDeltaShadow(shadowing); ug.apply(HColors.none()).apply(backColor.bg()).draw(circle); } diff --git a/src/net/sourceforge/plantuml/board/CardBox.java b/src/net/sourceforge/plantuml/board/CardBox.java index 6656fcb81..790e238bd 100644 --- a/src/net/sourceforge/plantuml/board/CardBox.java +++ b/src/net/sourceforge/plantuml/board/CardBox.java @@ -67,7 +67,7 @@ public class CardBox extends AbstractTextBlock { } public void drawU(UGraphic ug) { - final URectangle rect = new URectangle(calculateDimension(ug.getStringBounder())); + final URectangle rect = URectangle.build(calculateDimension(ug.getStringBounder())); rect.setDeltaShadow(1); ug.apply(HColors.BLACK).apply(HColors.LIGHT_GRAY.bg()).draw(rect); diff --git a/src/net/sourceforge/plantuml/braille/BrailleDrawer.java b/src/net/sourceforge/plantuml/braille/BrailleDrawer.java index ee56e1e36..e5f63687a 100644 --- a/src/net/sourceforge/plantuml/braille/BrailleDrawer.java +++ b/src/net/sourceforge/plantuml/braille/BrailleDrawer.java @@ -76,7 +76,7 @@ public class BrailleDrawer implements UDrawable { private void drawCircle(UGraphic ug, int x, int y) { final double cx = x * step; final double cy = y * step; - ug.apply(new UTranslate(cx, cy)).draw(new UEllipse(spotSize, spotSize)); + ug.apply(new UTranslate(cx, cy)).draw(UEllipse.build(spotSize, spotSize)); } } diff --git a/src/net/sourceforge/plantuml/braille/BrailleGrid.java b/src/net/sourceforge/plantuml/braille/BrailleGrid.java index b1e369a39..1b82c3f03 100644 --- a/src/net/sourceforge/plantuml/braille/BrailleGrid.java +++ b/src/net/sourceforge/plantuml/braille/BrailleGrid.java @@ -151,8 +151,8 @@ public class BrailleGrid { drawPointInternal(x, y, bez.getP1()); drawPointInternal(x, y, bez.getP2()); if (bez.getP1().distance(bez.getP2()) > quanta) { - final XCubicCurve2D part1 = new XCubicCurve2D(); - final XCubicCurve2D part2 = new XCubicCurve2D(); + final XCubicCurve2D part1 = XCubicCurve2D.none(); + final XCubicCurve2D part2 = XCubicCurve2D.none(); bez.subdivide(part1, part2); drawCubic(x, y, part1); drawCubic(x, y, part2); diff --git a/src/net/sourceforge/plantuml/braille/UGraphicBraille.java b/src/net/sourceforge/plantuml/braille/UGraphicBraille.java index 3dde7ac89..67f0a0723 100644 --- a/src/net/sourceforge/plantuml/braille/UGraphicBraille.java +++ b/src/net/sourceforge/plantuml/braille/UGraphicBraille.java @@ -61,16 +61,17 @@ public class UGraphicBraille extends AbstractUGraphic implements Cl @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicBraille(this); + final UGraphicBraille result = new UGraphicBraille(this); + return result; } public UGraphicBraille(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder) { - super(defaultBackground, colorMapper, stringBounder, new BrailleGrid(QUANTA)); + copy(defaultBackground, colorMapper, stringBounder, new BrailleGrid(QUANTA)); register(); } private UGraphicBraille(UGraphicBraille other) { - super(other); + copy(other); register(); } diff --git a/src/net/sourceforge/plantuml/cucadiagram/LinkConstraint.java b/src/net/sourceforge/plantuml/cucadiagram/LinkConstraint.java index 9e99653b3..61d57b68d 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/LinkConstraint.java +++ b/src/net/sourceforge/plantuml/cucadiagram/LinkConstraint.java @@ -87,8 +87,8 @@ public class LinkConstraint { return; } ug = ug.apply(HColors.BLACK); -// ug.apply(new UTranslate(x1, y1)).draw(new URectangle(10, 10)); -// ug.apply(new UTranslate(x2, y2)).draw(new URectangle(10, 10)); +// ug.apply(new UTranslate(x1, y1)).draw(URectangle.build(10, 10)); +// ug.apply(new UTranslate(x2, y2)).draw(URectangle.build(10, 10)); final ULine line = new ULine(x2 - x1, y2 - y1); ug = ug.apply(new UStroke(3, 3, 1)); diff --git a/src/net/sourceforge/plantuml/cucadiagram/TextBlockMap.java b/src/net/sourceforge/plantuml/cucadiagram/TextBlockMap.java index 8282a1389..a2d00f575 100644 --- a/src/net/sourceforge/plantuml/cucadiagram/TextBlockMap.java +++ b/src/net/sourceforge/plantuml/cucadiagram/TextBlockMap.java @@ -189,7 +189,7 @@ public class TextBlockMap extends AbstractTextBlock implements WithPorts { } public void drawU(UGraphic ug) { - final UShape point = new UEllipse(getDiameter(), getDiameter()); + final UShape point = UEllipse.build(getDiameter(), getDiameter()); ug = ug.apply(color).apply(color.bg()); ug.draw(point); } diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolArtifact.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolArtifact.java index 93c17f3fe..f9bd43d6e 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolArtifact.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolArtifact.java @@ -60,7 +60,7 @@ class USymbolArtifact extends USymbol { private void drawArtifact(UGraphic ug, double widthTotal, double heightTotal, double shadowing, double roundCorner) { - final URectangle form = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final URectangle form = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); form.setDeltaShadow(shadowing); ug.draw(form); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCard.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCard.java index 9d00c8fb3..6b7670523 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCard.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCard.java @@ -57,7 +57,7 @@ class USymbolCard extends USymbol { } private void drawCard(UGraphic ug, double width, double height, double shadowing, double top, double roundCorner) { - final URectangle shape = new URectangle(width, height).rounded(roundCorner); + final URectangle shape = URectangle.build(width, height).rounded(roundCorner); shape.setDeltaShadow(shadowing); ug.draw(shape); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCloud.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCloud.java index bec45d29b..bb9c4d235 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCloud.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCloud.java @@ -95,7 +95,7 @@ class USymbolCloud extends USymbol { points.add(points.get(0)); - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(points.get(0)); for (int i = 0; i < points.size() - 1; i++) { if (DEBUG) { @@ -188,7 +188,7 @@ class USymbolCloud extends USymbol { if (NEW) { return getSpecificFrontierForCloudNew(width, height); } - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 10); double x = 0; for (int i = 0; i < width - 9; i += 10) { diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCollections.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCollections.java index f26408c16..e27294f5a 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolCollections.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolCollections.java @@ -56,7 +56,7 @@ class USymbolCollections extends USymbol { } private void drawCollections(UGraphic ug, double width, double height, double shadowing, double roundCorner) { - final URectangle small = new URectangle(width - getDeltaCollection(), height - getDeltaCollection()) + final URectangle small = URectangle.build(width - getDeltaCollection(), height - getDeltaCollection()) .rounded(roundCorner); small.setDeltaShadow(shadowing); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent1.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent1.java index e81f090e1..f4d9371ce 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent1.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent1.java @@ -59,11 +59,11 @@ class USymbolComponent1 extends USymbol { private void drawComponent1(UGraphic ug, double widthTotal, double heightTotal, double shadowing, double roundCorner) { - final URectangle form = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final URectangle form = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); form.setDeltaShadow(shadowing); ug.draw(form); - final UShape small = new URectangle(10, 5); + final UShape small = URectangle.build(10, 5); // UML 1 Component Notation ug.apply(new UTranslate(-5, 5)).draw(small); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent2.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent2.java index 36772a88d..e917fe301 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent2.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolComponent2.java @@ -59,11 +59,11 @@ class USymbolComponent2 extends USymbol { private void drawComponent2(UGraphic ug, double widthTotal, double heightTotal, double shadowing, double roundCorner) { - final URectangle form = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final URectangle form = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); form.setDeltaShadow(shadowing); - final UShape small = new URectangle(15, 10); - final UShape tiny = new URectangle(4, 2); + final UShape small = URectangle.build(15, 10); + final UShape tiny = URectangle.build(4, 2); ug.draw(form); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolDatabase.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolDatabase.java index cd621a214..fe5a929a9 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolDatabase.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolDatabase.java @@ -59,7 +59,7 @@ class USymbolDatabase extends USymbol { } private void drawDatabase(UGraphic ug, double width, double height, double shadowing) { - final UPath shape = new UPath(); + final UPath shape = UPath.none(); shape.setDeltaShadow(shadowing); shape.moveTo(0, 10); @@ -79,7 +79,7 @@ class USymbolDatabase extends USymbol { } private UPath getClosingPath(double width) { - final UPath closing = new UPath(); + final UPath closing = UPath.none(); closing.moveTo(0, 10); closing.cubicTo(0, 20, width / 2, 20, width / 2, 20); closing.cubicTo(width / 2, 20, width, 20, width, 10); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFile.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFile.java index 8f1eca76a..a3791652a 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFile.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFile.java @@ -73,7 +73,7 @@ class USymbolFile extends USymbol { polygon.addPoint(0, 0); out = polygon; } else { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, roundCorner / 2); path.lineTo(0, height - roundCorner / 2); path.arcTo(new XPoint2D(roundCorner / 2, height), roundCorner / 2, 0, 0); @@ -89,7 +89,7 @@ class USymbolFile extends USymbol { out.setDeltaShadow(shadowing); ug.draw(out); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(width - cornersize, 0); if (roundCorner == 0) { path.lineTo(width - cornersize, cornersize); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java index 23a2ed530..778435b9c 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFolder.java @@ -101,7 +101,7 @@ public class USymbolFolder extends USymbol { poly.addPoint(0, 0); shape = poly; } else { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(roundCorner / 2, 0); path.lineTo(wtitle - roundCorner / 2, 0); // path.lineTo(wtitle, roundCorner / 2); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFrame.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFrame.java index 32a0abd20..a01368bc8 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolFrame.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolFrame.java @@ -67,7 +67,7 @@ class USymbolFrame extends USymbol { private void drawFrame(UGraphic ug, double width, double height, XDimension2D dimTitle, double shadowing, double roundCorner) { - final Shadowable rectangle = new URectangle(width, height).rounded(roundCorner).ignoreForCompressionOnX() + final Shadowable rectangle = URectangle.build(width, height).rounded(roundCorner).ignoreForCompressionOnX() .ignoreForCompressionOnY(); rectangle.setDeltaShadow(shadowing); @@ -84,7 +84,7 @@ class USymbolFrame extends USymbol { } final double textHeight = getYpos(dimTitle); - final UPath line = new UPath(); + final UPath line = UPath.none(); line.setIgnoreForCompressionOnX(); line.moveTo(textWidth, 0); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolHexagon.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolHexagon.java index f829d4cef..6acee8a81 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolHexagon.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolHexagon.java @@ -81,8 +81,8 @@ public class USymbolHexagon extends USymbol { private void drawRect(UGraphic ug, double width, double height, double shadowing, double roundCorner, double diagonalCorner) { -// final UShape shape = new URectangle(width, height); - final UPath shape = new UPath(); +// final UShape shape = URectangle.build(width, height); + final UPath shape = UPath.none(); final double dx = width / 8; shape.moveTo(0, height / 2); shape.lineTo(dx, 0); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolPerson.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolPerson.java index f8dcda667..03421dab3 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolPerson.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolPerson.java @@ -57,8 +57,8 @@ class USymbolPerson extends USymbol { } private void drawHeadAndBody(UGraphic ug, double shadowing, XDimension2D dimBody, double headSize) { - final UEllipse head = new UEllipse(headSize, headSize); - final URectangle body = new URectangle(dimBody).rounded(headSize); + final UEllipse head = UEllipse.build(headSize, headSize); + final URectangle body = URectangle.build(dimBody).rounded(headSize); body.setDeltaShadow(shadowing); head.setDeltaShadow(shadowing); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolQueue.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolQueue.java index 5eaf0769d..39d034d97 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolQueue.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolQueue.java @@ -61,7 +61,7 @@ class USymbolQueue extends USymbol { private final double dx = 5; private void drawQueue(UGraphic ug, double width, double height, double shadowing) { - final UPath shape = new UPath(); + final UPath shape = UPath.none(); shape.setDeltaShadow(shadowing); shape.moveTo(dx, 0); @@ -81,7 +81,7 @@ class USymbolQueue extends USymbol { } private UPath getClosingPath(double width, double height) { - final UPath closing = new UPath(); + final UPath closing = UPath.none(); closing.moveTo(width - dx, 0); closing.cubicTo(width - dx * 2, 0, width - dx * 2, height / 2, width - dx * 2, height / 2); closing.cubicTo(width - dx * 2, height, width - dx, height, width - dx, height); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolRectangle.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolRectangle.java index b6ee1fd49..be4f11dfe 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolRectangle.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolRectangle.java @@ -64,7 +64,7 @@ class USymbolRectangle extends USymbol { private void drawRect(UGraphic ug, double width, double height, double shadowing, double roundCorner, double diagonalCorner) { - final URectangle rect = new URectangle(width, height); + final URectangle rect = URectangle.build(width, height); final Shadowable shape = diagonalCorner > 0 ? rect.diagonalCorner(diagonalCorner) : rect.rounded(roundCorner); shape.setDeltaShadow(shadowing); ug.draw(shape); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolStack.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolStack.java index 753d1508b..35b6ab1cb 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolStack.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolStack.java @@ -61,10 +61,10 @@ class USymbolStack extends USymbol { private void drawQueue(UGraphic ug, double width, double height, double shadowing, double roundCorner) { final double border = 15; - final URectangle rect = new URectangle(width - 2 * border, height).rounded(roundCorner); + final URectangle rect = URectangle.build(width - 2 * border, height).rounded(roundCorner); ug.apply(HColors.none()).apply(UTranslate.dx(border)).draw(rect); - final UPath path = new UPath(); + final UPath path = UPath.none(); if (roundCorner == 0) { path.moveTo(0, 0); path.lineTo(border, 0); diff --git a/src/net/sourceforge/plantuml/decoration/symbol/USymbolStorage.java b/src/net/sourceforge/plantuml/decoration/symbol/USymbolStorage.java index c40aa0846..2fae2888b 100644 --- a/src/net/sourceforge/plantuml/decoration/symbol/USymbolStorage.java +++ b/src/net/sourceforge/plantuml/decoration/symbol/USymbolStorage.java @@ -56,7 +56,7 @@ class USymbolStorage extends USymbol { } private void drawStorage(UGraphic ug, double width, double height, double shadowing) { - final URectangle shape = new URectangle(width, height).rounded(70); + final URectangle shape = URectangle.build(width, height).rounded(70); shape.setDeltaShadow(shadowing); ug.draw(shape); diff --git a/src/net/sourceforge/plantuml/descdiagram/BoxedCharacter.java b/src/net/sourceforge/plantuml/descdiagram/BoxedCharacter.java index 4088af089..a1ebb93e8 100644 --- a/src/net/sourceforge/plantuml/descdiagram/BoxedCharacter.java +++ b/src/net/sourceforge/plantuml/descdiagram/BoxedCharacter.java @@ -75,7 +75,7 @@ public class BoxedCharacter extends AbstractTextBlock implements TextBlock { } else { ug = ug.apply(innerCircle.bg()); } - ug.draw(new URectangle(2 * radius, 2 * radius)); + ug.draw(URectangle.build(2 * radius, 2 * radius)); ug = ug.apply(fontColor); ug = ug.apply(new UTranslate(radius, radius)); ug.draw(new UCenteredCharacter(c.charAt(0), font)); diff --git a/src/net/sourceforge/plantuml/descdiagram/EntityImageDesignedDomain.java b/src/net/sourceforge/plantuml/descdiagram/EntityImageDesignedDomain.java index f494ec666..183da3d9b 100644 --- a/src/net/sourceforge/plantuml/descdiagram/EntityImageDesignedDomain.java +++ b/src/net/sourceforge/plantuml/descdiagram/EntityImageDesignedDomain.java @@ -121,8 +121,8 @@ public class EntityImageDesignedDomain extends AbstractEntityImage { final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final URectangle rect = new URectangle(widthTotal, heightTotal); - URectangle rect2 = new URectangle(4, heightTotal); + final URectangle rect = URectangle.build(widthTotal, heightTotal); + URectangle rect2 = URectangle.build(4, heightTotal); ug = ug.apply(SkinParamUtils.getColor(getSkinParam(), getStereo(), ColorParam.designedBorder)); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); diff --git a/src/net/sourceforge/plantuml/descdiagram/EntityImageDomain.java b/src/net/sourceforge/plantuml/descdiagram/EntityImageDomain.java index 2ba79a127..78326b927 100644 --- a/src/net/sourceforge/plantuml/descdiagram/EntityImageDomain.java +++ b/src/net/sourceforge/plantuml/descdiagram/EntityImageDomain.java @@ -125,7 +125,7 @@ public class EntityImageDomain extends AbstractEntityImage { final XDimension2D dimTag = getTagDimension(stringBounder); final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final URectangle rect = new URectangle(widthTotal, heightTotal); + final URectangle rect = URectangle.build(widthTotal, heightTotal); ug = ug.apply(SkinParamUtils.getColor(getSkinParam(), getStereo(), ColorParam.domainBorder)); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); diff --git a/src/net/sourceforge/plantuml/descdiagram/EntityImageMachine.java b/src/net/sourceforge/plantuml/descdiagram/EntityImageMachine.java index cb0cdd9dc..ba5384f56 100644 --- a/src/net/sourceforge/plantuml/descdiagram/EntityImageMachine.java +++ b/src/net/sourceforge/plantuml/descdiagram/EntityImageMachine.java @@ -121,8 +121,8 @@ public class EntityImageMachine extends AbstractEntityImage { final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final URectangle rect = new URectangle(widthTotal, heightTotal); - URectangle rect2 = new URectangle(4, heightTotal); + final URectangle rect = URectangle.build(widthTotal, heightTotal); + URectangle rect2 = URectangle.build(4, heightTotal); ug = ug.apply(SkinParamUtils.getColor(getSkinParam(), getStereo(), ColorParam.machineBorder)); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); diff --git a/src/net/sourceforge/plantuml/ebnf/CornerCurved.java b/src/net/sourceforge/plantuml/ebnf/CornerCurved.java index 807ef3112..c604ceab4 100644 --- a/src/net/sourceforge/plantuml/ebnf/CornerCurved.java +++ b/src/net/sourceforge/plantuml/ebnf/CornerCurved.java @@ -85,7 +85,7 @@ public class CornerCurved implements UDrawable { @Override public void drawU(UGraphic ug) { - final UPath path = new UPath(); + final UPath path = UPath.none(); final double a = delta / 4; switch (type) { diff --git a/src/net/sourceforge/plantuml/ebnf/ETile.java b/src/net/sourceforge/plantuml/ebnf/ETile.java index 50300c9bf..c89f6d2b3 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETile.java +++ b/src/net/sourceforge/plantuml/ebnf/ETile.java @@ -108,7 +108,7 @@ public abstract class ETile extends AbstractTextBlock { } static UPath getArrowToLeft() { - final UPath arrow = new UPath(); + final UPath arrow = UPath.none(); arrow.moveTo(0, 0); arrow.lineTo(0, -3); arrow.lineTo(-6, 0); @@ -119,7 +119,7 @@ public abstract class ETile extends AbstractTextBlock { } static UPath getArrowToRight() { - final UPath arrow = new UPath(); + final UPath arrow = UPath.none(); arrow.moveTo(0, 0); arrow.lineTo(0, -3); arrow.lineTo(6, 0); @@ -130,7 +130,7 @@ public abstract class ETile extends AbstractTextBlock { } static UPath getArrowToBottom() { - final UPath arrow = new UPath(); + final UPath arrow = UPath.none(); arrow.moveTo(0, 0); arrow.lineTo(3, 0); arrow.lineTo(0, 6); @@ -141,7 +141,7 @@ public abstract class ETile extends AbstractTextBlock { } static UPath getArrowToTop() { - final UPath arrow = new UPath(); + final UPath arrow = UPath.none(); arrow.moveTo(0, 0); arrow.lineTo(3, 0); arrow.lineTo(0, -6); diff --git a/src/net/sourceforge/plantuml/ebnf/ETileBox.java b/src/net/sourceforge/plantuml/ebnf/ETileBox.java index 19d43a73c..e5c4b59f5 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETileBox.java +++ b/src/net/sourceforge/plantuml/ebnf/ETileBox.java @@ -78,7 +78,7 @@ public class ETileBox extends ETile { this.skinParam = skinParam; this.value = value; this.fc = fc; - this.utext = new UText(value, fc); + this.utext = UText.build(value, fc); this.style = style; this.colorSet = colorSet; } @@ -155,17 +155,17 @@ public class ETileBox extends ETile { final double posxBox = (dim.getWidth() - dimBox.getWidth()) / 2; if (symbol == Symbol.TERMINAL_STRING1 || symbol == Symbol.TERMINAL_STRING2) { - final URectangle rect = new URectangle(dimBox); + final URectangle rect = URectangle.build(dimBox); ug.apply(new UTranslate(posxBox, posy)).apply(lineColor).apply(UStroke.withThickness(0.5)).draw(rect); } else if (symbol == Symbol.SPECIAL_SEQUENCE) { - final URectangle rect = new URectangle(dimBox); + final URectangle rect = URectangle.build(dimBox); ug.apply(new UTranslate(posxBox, posy)).apply(lineColor).apply(new UStroke(5, 5, 1)).draw(rect); -// final URectangle rect1 = new URectangle(dimBox.delta(2)).rounded(12); -// final URectangle rect2 = new URectangle(dimBox.delta(-2)).rounded(8); +// final URectangle rect1 = URectangle.build(dimBox.delta(2)).rounded(12); +// final URectangle rect2 = URectangle.build(dimBox.delta(-2)).rounded(8); // ug.apply(new UTranslate(posxBox - 1, posy - 1)).apply(lineColor).apply(new UStroke(5.0, 5.0, 1.0)).draw(rect1); // ug.apply(new UTranslate(posxBox + 1, posy + 1)).apply(lineColor).apply(UStroke.withThickness(0.5)).draw(rect2); } else { - final URectangle rect = new URectangle(dimBox).rounded(10); + final URectangle rect = URectangle.build(dimBox).rounded(10); ug.apply(new UTranslate(posxBox, posy)).apply(lineColor).apply(backgroundColor.bg()).apply(UStroke.withThickness(1.5)) .draw(rect); } diff --git a/src/net/sourceforge/plantuml/ebnf/ETileOneOrMore.java b/src/net/sourceforge/plantuml/ebnf/ETileOneOrMore.java index 7d9159ffb..c033937b9 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETileOneOrMore.java +++ b/src/net/sourceforge/plantuml/ebnf/ETileOneOrMore.java @@ -56,7 +56,7 @@ public class ETileOneOrMore extends ETile { public ETileOneOrMore(ETile orig, String loop, FontConfiguration fc, ISkinParam skinParam) { this.orig = orig; this.fc = fc; - this.loop = loop == null ? null : new UText(loop, fc); + this.loop = loop == null ? null : UText.build(loop, fc); } public ETileOneOrMore(ETile orig) { @@ -92,7 +92,7 @@ public class ETileOneOrMore extends ETile { final StringBounder stringBounder = ug.getStringBounder(); final XDimension2D fullDim = calculateDimension(stringBounder); if (TRACE) - ug.apply(HColors.RED).draw(new URectangle(fullDim)); + ug.apply(HColors.RED).draw(URectangle.build(fullDim)); final double h1 = getH1(stringBounder); diff --git a/src/net/sourceforge/plantuml/ebnf/ETileOptional.java b/src/net/sourceforge/plantuml/ebnf/ETileOptional.java index 899eee9aa..6b0158b18 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETileOptional.java +++ b/src/net/sourceforge/plantuml/ebnf/ETileOptional.java @@ -93,7 +93,7 @@ public class ETileOptional extends ETile { final StringBounder stringBounder = ug.getStringBounder(); final XDimension2D dim = calculateDimension(stringBounder); if (TRACE) - ug.apply(HColors.BLUE).draw(new URectangle(dim)); + ug.apply(HColors.BLUE).draw(URectangle.build(dim)); final double linePos = getH1(stringBounder); diff --git a/src/net/sourceforge/plantuml/ebnf/ETileWithCircles.java b/src/net/sourceforge/plantuml/ebnf/ETileWithCircles.java index 6e75931ad..f19a3739f 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETileWithCircles.java +++ b/src/net/sourceforge/plantuml/ebnf/ETileWithCircles.java @@ -79,7 +79,7 @@ public class ETileWithCircles extends ETile { ug = ug.apply(lineColor).apply(UStroke.withThickness(1.5)); orig.drawU(ug.apply(UTranslate.dx(deltax))); - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); ug.apply(UStroke.withThickness(2)).apply(new UTranslate(0, linePos - SIZE / 2)).draw(circle); ug.apply(UStroke.withThickness(1)).apply(new CopyForegroundColorToBackgroundColor()) diff --git a/src/net/sourceforge/plantuml/ebnf/ETileZeroOrMore.java b/src/net/sourceforge/plantuml/ebnf/ETileZeroOrMore.java index 479beb1f3..cd4343a89 100644 --- a/src/net/sourceforge/plantuml/ebnf/ETileZeroOrMore.java +++ b/src/net/sourceforge/plantuml/ebnf/ETileZeroOrMore.java @@ -78,9 +78,9 @@ public class ETileZeroOrMore extends ETile { final XDimension2D fullDim = calculateDimension(stringBounder); if (TRACE) { if (specialForAlternate) - ug.apply(HColors.COL_B38D22).draw(new URectangle(fullDim)); + ug.apply(HColors.COL_B38D22).draw(URectangle.build(fullDim)); else - ug.apply(HColors.GREEN).draw(new URectangle(fullDim)); + ug.apply(HColors.GREEN).draw(URectangle.build(fullDim)); } final double linePos = getH1(stringBounder); diff --git a/src/net/sourceforge/plantuml/ebnf/TitleBox.java b/src/net/sourceforge/plantuml/ebnf/TitleBox.java index cd7f6047c..a10f0313e 100644 --- a/src/net/sourceforge/plantuml/ebnf/TitleBox.java +++ b/src/net/sourceforge/plantuml/ebnf/TitleBox.java @@ -53,7 +53,7 @@ public class TitleBox extends AbstractTextBlock { public TitleBox(String value, FontConfiguration fc) { this.value = value; this.fc = fc.add(FontStyle.BOLD); - this.utext = new UText(value, this.fc); + this.utext = UText.build(value, this.fc); } @Override diff --git a/src/net/sourceforge/plantuml/eggs/PSystemColors.java b/src/net/sourceforge/plantuml/eggs/PSystemColors.java index 9aa499e57..042b7fcf1 100644 --- a/src/net/sourceforge/plantuml/eggs/PSystemColors.java +++ b/src/net/sourceforge/plantuml/eggs/PSystemColors.java @@ -244,7 +244,7 @@ public class PSystemColors extends PlainDiagram implements UDrawable { for (String name : colors.names()) { UGraphic tmp = getPositioned(ug, i, j); final HColor color = colors.getColorOrWhite(name); - applyColor(tmp, color).draw(new URectangle(rectangleWidth, rectangleHeight)); + applyColor(tmp, color).draw(URectangle.build(rectangleWidth, rectangleHeight)); final TextBlock tt = getTextName(font, name, color); final XDimension2D dimText = tt.calculateDimension(ug.getStringBounder()); final double dy = (rectangleHeight - dimText.getHeight()) / 2; diff --git a/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java b/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java index bca606caa..4f467fc1e 100644 --- a/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java +++ b/src/net/sourceforge/plantuml/elk/CucaDiagramFileMakerElk.java @@ -247,7 +247,7 @@ public class CucaDiagramFileMakerElk implements CucaDiagramFileMaker { private void drawSingleCluster(UGraphic ug, Entity group, ElkNode elkNode) { final XPoint2D corner = getPosition(elkNode); - final URectangle rect = new URectangle(elkNode.getWidth(), elkNode.getHeight()); + final URectangle rect = URectangle.build(elkNode.getWidth(), elkNode.getHeight()); PackageStyle packageStyle = group.getPackageStyle(); final ISkinParam skinParam = diagram.getSkinParam(); diff --git a/src/net/sourceforge/plantuml/emoji/SvgNanoParser.java b/src/net/sourceforge/plantuml/emoji/SvgNanoParser.java index 142b7fc59..4b8981886 100644 --- a/src/net/sourceforge/plantuml/emoji/SvgNanoParser.java +++ b/src/net/sourceforge/plantuml/emoji/SvgNanoParser.java @@ -232,7 +232,7 @@ public class SvgNanoParser implements Sprite { final double ry = Double.parseDouble(extractData("r", s)) * scaley; final UTranslate translate = new UTranslate(deltax + cx - rx, deltay + cy - ry); - ugs.apply(translate).draw(new UEllipse(rx * 2, ry * 2)); + ugs.apply(translate).draw(UEllipse.build(rx * 2, ry * 2)); } private void drawEllipse(UGraphicWithScale ugs, String s, HColor colorForMonochrome) { @@ -245,7 +245,7 @@ public class SvgNanoParser implements Sprite { final double rx = Double.parseDouble(extractData("rx", s)); final double ry = Double.parseDouble(extractData("ry", s)); - UPath path = new UPath(); + UPath path = UPath.none(); path.moveTo(0, ry); if (debug) @@ -289,7 +289,7 @@ public class SvgNanoParser implements Sprite { final String text = m.group(1); HColor color = HColorSet.instance().getColorOrWhite(fill); final FontConfiguration fc = FontConfiguration.create(UFont.sansSerif(fontSize), color, color, null); - final UText utext = new UText(text, fc); + final UText utext = UText.build(text, fc); UGraphic ug = ugs.getUg(); ug = ug.apply(new UTranslate(x, y)); ug.draw(utext); diff --git a/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java b/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java index ae1e7f24e..aa37bfb0c 100644 --- a/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java +++ b/src/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java @@ -50,6 +50,7 @@ import ext.plantuml.com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import net.sourceforge.plantuml.utils.Log; public class FlashCodeUtilsZxing implements FlashCodeUtils { + // ::remove file when __MIT__ private static final Lock lock = new ReentrantLock(); diff --git a/src/net/sourceforge/plantuml/flowdiagram/ActivityBox.java b/src/net/sourceforge/plantuml/flowdiagram/ActivityBox.java index 7eae29959..431682fa2 100644 --- a/src/net/sourceforge/plantuml/flowdiagram/ActivityBox.java +++ b/src/net/sourceforge/plantuml/flowdiagram/ActivityBox.java @@ -89,7 +89,7 @@ public class ActivityBox extends AbstractTextBlock { final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(CORNER); + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(CORNER); ug = ug.apply(HColors.MY_RED); ug = ug.apply(HColors.MY_YELLOW.bg()); ug.apply(UStroke.withThickness(1.5)).draw(rect); diff --git a/src/net/sourceforge/plantuml/flowdiagram/FlowDiagram.java b/src/net/sourceforge/plantuml/flowdiagram/FlowDiagram.java index 0f17c15b1..7d4b21638 100644 --- a/src/net/sourceforge/plantuml/flowdiagram/FlowDiagram.java +++ b/src/net/sourceforge/plantuml/flowdiagram/FlowDiagram.java @@ -161,7 +161,7 @@ public class FlowDiagram extends UmlDiagram implements TextBlock { } ug = ug.apply(HColors.MY_RED); ug = ug.apply(HColors.MY_RED.bg()); - final UShape arrow = new UEllipse(7, 7); + final UShape arrow = UEllipse.build(7, 7); for (Path p : field.getPaths()) { final TileArea start = p.getStart(); final TileArea dest = p.getDest(); diff --git a/src/net/sourceforge/plantuml/gitlog/GitCurve.java b/src/net/sourceforge/plantuml/gitlog/GitCurve.java index 419164102..7f3b7fd31 100644 --- a/src/net/sourceforge/plantuml/gitlog/GitCurve.java +++ b/src/net/sourceforge/plantuml/gitlog/GitCurve.java @@ -87,7 +87,7 @@ public class GitCurve { public void drawCurve(HColor color, UGraphic ug) { ug = ug.apply(new UStroke(2, 2, 1)); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(xMirror.invGit(points.get(0))); diff --git a/src/net/sourceforge/plantuml/gitlog/MagicBox.java b/src/net/sourceforge/plantuml/gitlog/MagicBox.java index 8266305e4..90b8b7060 100644 --- a/src/net/sourceforge/plantuml/gitlog/MagicBox.java +++ b/src/net/sourceforge/plantuml/gitlog/MagicBox.java @@ -95,7 +95,7 @@ public class MagicBox { final double moveY = comment.calculateDimension(ug.getStringBounder()).getHeight(); - final URectangle rect = new URectangle(sizeInDot.getWidth(), sizeInDot.getHeight() - moveY).rounded(8); + final URectangle rect = URectangle.build(sizeInDot.getWidth(), sizeInDot.getHeight() - moveY).rounded(8); ug.apply(UStroke.withThickness(1.5)).apply(UTranslate.dy(moveY)).draw(rect); comment.drawU(ug); diff --git a/src/net/sourceforge/plantuml/golem/Tile.java b/src/net/sourceforge/plantuml/golem/Tile.java index 030f241a9..4c2a4cce2 100644 --- a/src/net/sourceforge/plantuml/golem/Tile.java +++ b/src/net/sourceforge/plantuml/golem/Tile.java @@ -87,8 +87,8 @@ public class Tile extends AbstractTextBlock implements TextBlock { final double diffx2 = dimTotal.getWidth() - radius; final double diffy2 = dimTotal.getHeight() - radius; n.drawU(ug.apply(new UTranslate((diffx / 2), (diffy / 2)))); - ug.draw(new URectangle(SIZE, SIZE)); - ug.apply(new UTranslate(diffx2 / 2, diffy2 / 2)).draw(new UEllipse(radius, radius)); + ug.draw(URectangle.build(SIZE, SIZE)); + ug.apply(new UTranslate(diffx2 / 2, diffy2 / 2)).draw(UEllipse.build(radius, radius)); } public XDimension2D calculateDimension(StringBounder stringBounder) { diff --git a/src/net/sourceforge/plantuml/jasic/Jasic.java b/src/net/sourceforge/plantuml/jasic/Jasic.java index 4d8f3ba2e..4300ecb61 100644 --- a/src/net/sourceforge/plantuml/jasic/Jasic.java +++ b/src/net/sourceforge/plantuml/jasic/Jasic.java @@ -103,6 +103,7 @@ import java.util.Map; public class Jasic { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ + // ::remove folder when __MIT__ // Tokenizing (lexing) ----------------------------------------------------- diff --git a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java index c6d6a3e54..1e2a5c076 100644 --- a/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java +++ b/src/net/sourceforge/plantuml/jcckit/PSystemJcckit.java @@ -54,6 +54,7 @@ import net.sourceforge.plantuml.security.SImageIO; public class PSystemJcckit extends AbstractPSystem { // ::remove folder when __CORE__ + // ::remove folder when __MIT__ private final PropertiesBasedConfigData prop; private final int width; diff --git a/src/net/sourceforge/plantuml/jsondiagram/Arrow.java b/src/net/sourceforge/plantuml/jsondiagram/Arrow.java index 6263cecab..2b80e4708 100644 --- a/src/net/sourceforge/plantuml/jsondiagram/Arrow.java +++ b/src/net/sourceforge/plantuml/jsondiagram/Arrow.java @@ -61,7 +61,7 @@ public class Arrow { final XPoint2D p4 = getPoint(p1, alpha - Math.PI / 2, dist * factor); final XPoint2D p11 = getPoint(p1, alpha, dist * factor2); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(p4); path.lineTo(p11); path.lineTo(p3); diff --git a/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java b/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java index 9050bc28f..089480f91 100644 --- a/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java +++ b/src/net/sourceforge/plantuml/jsondiagram/JsonCurve.java @@ -90,7 +90,7 @@ public class JsonCurve { } public void drawCurve(HColor color, UGraphic ug) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(getVeryFirst()); path.lineTo(xMirror.invAndXYSwitch(points.get(0))); @@ -113,7 +113,7 @@ public class JsonCurve { public void drawSpot(UGraphic ug) { final double size = 3; ug = ug.apply(UTranslate.point(getVeryFirst()).compose(new UTranslate(-size, -size))); - ug.apply(UStroke.simple()).draw(new UEllipse(2 * size, 2 * size)); + ug.apply(UStroke.simple()).draw(UEllipse.build(2 * size, 2 * size)); } private XPoint2D getVeryFirst() { diff --git a/src/net/sourceforge/plantuml/jsondiagram/TextBlockJson.java b/src/net/sourceforge/plantuml/jsondiagram/TextBlockJson.java index 53a50145c..1d2654698 100644 --- a/src/net/sourceforge/plantuml/jsondiagram/TextBlockJson.java +++ b/src/net/sourceforge/plantuml/jsondiagram/TextBlockJson.java @@ -275,7 +275,7 @@ public class TextBlockJson extends AbstractTextBlock { trueWidth = 30; final double round = styleNode.value(PName.RoundCorner).asDouble(); - final URectangle fullNodeRectangle = new URectangle(trueWidth, y).rounded(round); + final URectangle fullNodeRectangle = URectangle.build(trueWidth, y).rounded(round); final HColor backColor = styleNode.value(PName.BackGroundColor).asColor(skinParam.getIHtmlColorSet()); ugNode.apply(backColor.bg()).apply(backColor).draw(fullNodeRectangle); @@ -288,7 +288,7 @@ public class TextBlockJson extends AbstractTextBlock { final UGraphic ugline = ugSeparator.apply(UTranslate.dy(y)); final double heightOfRow = line.getHeightOfRow(stringBounder); if (line.highlighted != null) { - final URectangle back = new URectangle(trueWidth - 2, heightOfRow).rounded(4); + final URectangle back = URectangle.build(trueWidth - 2, heightOfRow).rounded(4); final Style styleNodeHighlight = StyleSignatureBasic .of(SName.root, SName.element, diagramType, SName.node, SName.highlight) .withTOBECHANGED(line.highlighted.getStereotype()).getMergedStyle(styleBuilder); diff --git a/src/net/sourceforge/plantuml/klimt/ClipContainer.java b/src/net/sourceforge/plantuml/klimt/ClipContainer.java index 9bb9397ec..60bdfb32f 100644 --- a/src/net/sourceforge/plantuml/klimt/ClipContainer.java +++ b/src/net/sourceforge/plantuml/klimt/ClipContainer.java @@ -35,7 +35,5 @@ package net.sourceforge.plantuml.klimt; public interface ClipContainer { - // ::remove file when __HAXE__ - public UClip getClip(); } diff --git a/src/net/sourceforge/plantuml/klimt/SvgAttributes.java b/src/net/sourceforge/plantuml/klimt/SvgAttributes.java index 81ad73024..d1faac62b 100644 --- a/src/net/sourceforge/plantuml/klimt/SvgAttributes.java +++ b/src/net/sourceforge/plantuml/klimt/SvgAttributes.java @@ -45,23 +45,32 @@ import net.sourceforge.plantuml.regex.MyPattern; import net.sourceforge.plantuml.regex.Pattern2; public class SvgAttributes { - // ::remove file when __HAXE__ private final Map attributes = new TreeMap(); - public SvgAttributes() { + private SvgAttributes cloneMe() { + final SvgAttributes result = new SvgAttributes(); + result.attributes.putAll(this.attributes); + return result; } - private SvgAttributes(SvgAttributes other) { - this.attributes.putAll(other.attributes); + private SvgAttributes() { } - public SvgAttributes(String args) { + public static SvgAttributes empty() { + return new SvgAttributes(); + } + + public static SvgAttributes build(String args) { + final SvgAttributes result = new SvgAttributes(); + // ::comment when __HAXE__ final Pattern2 p = MyPattern.cmpile("(\\w+)\\s*=\\s*([%g][^%g]*[%g]|(?:\\w+))"); final Matcher2 m = p.matcher(args); - while (m.find()) { - attributes.put(m.group(1), StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(m.group(2))); - } + while (m.find()) + result.attributes.put(m.group(1), StringUtils.eventuallyRemoveStartingAndEndingDoubleQuote(m.group(2))); + // ::done + + return result; } public Map attributes() { @@ -69,13 +78,13 @@ public class SvgAttributes { } public SvgAttributes add(String key, String value) { - final SvgAttributes result = new SvgAttributes(this); + final SvgAttributes result = cloneMe(); result.attributes.put(key, value); return result; } public SvgAttributes add(SvgAttributes toBeAdded) { - final SvgAttributes result = new SvgAttributes(this); + final SvgAttributes result = cloneMe(); result.attributes.putAll(toBeAdded.attributes); return result; } diff --git a/src/net/sourceforge/plantuml/klimt/UClip.java b/src/net/sourceforge/plantuml/klimt/UClip.java index 05850cffc..0de622a9d 100644 --- a/src/net/sourceforge/plantuml/klimt/UClip.java +++ b/src/net/sourceforge/plantuml/klimt/UClip.java @@ -40,8 +40,6 @@ import java.awt.geom.Rectangle2D; import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class UClip implements UChange { - // ::remove file when __HAXE__ - private final double x; private final double y; private final double width; @@ -113,27 +111,28 @@ public class UClip implements UChange { return true; } + // ::comment when __HAXE__ public Rectangle2D.Double getClippedRectangle(Rectangle2D.Double r) { return (Rectangle2D.Double) r.createIntersection(new Rectangle2D.Double(x, y, width, height)); } public Line2D.Double getClippedLine(Line2D.Double line) { - if (isInside(line.x1, line.y1) && isInside(line.x2, line.y2)) { + if (isInside(line.x1, line.y1) && isInside(line.x2, line.y2)) return line; - } + if (isInside(line.x1, line.y1) == false && isInside(line.x2, line.y2) == false) { if (line.x1 == line.x2) { final double newy1 = getClippedY(line.y1); final double newy2 = getClippedY(line.y2); - if (newy1 != newy2) { + if (newy1 != newy2) return new Line2D.Double(line.x1, newy1, line.x2, newy2); - } + } return null; } - if (line.x1 != line.x2 && line.y1 != line.y2) { + if (line.x1 != line.x2 && line.y1 != line.y2) return null; - } + assert line.x1 == line.x2 || line.y1 == line.y2; if (line.y1 == line.y2) { final double newx1 = getClippedX(line.x1); @@ -148,28 +147,29 @@ public class UClip implements UChange { throw new IllegalStateException(); } + public boolean isInside(double x, double y, UPath shape) { + return isInside(x + shape.getMinX(), y + shape.getMinY()) && isInside(x + shape.getMaxX(), y + shape.getMaxY()); + } + // ::done + private double getClippedX(double xp) { - if (xp < x) { + if (xp < x) return x; - } - if (xp > x + width) { + + if (xp > x + width) return x + width; - } + return xp; } private double getClippedY(double yp) { - if (yp < y) { + if (yp < y) return y; - } - if (yp > y + height) { + + if (yp > y + height) return y + height; - } + return yp; } - public boolean isInside(double x, double y, UPath shape) { - return isInside(x + shape.getMinX(), y + shape.getMinY()) && isInside(x + shape.getMaxX(), y + shape.getMaxY()); - } - } diff --git a/src/net/sourceforge/plantuml/klimt/UPath.java b/src/net/sourceforge/plantuml/klimt/UPath.java index 599950636..883023269 100644 --- a/src/net/sourceforge/plantuml/klimt/UPath.java +++ b/src/net/sourceforge/plantuml/klimt/UPath.java @@ -50,7 +50,6 @@ import net.sourceforge.plantuml.klimt.geom.USegmentType; import net.sourceforge.plantuml.klimt.geom.XPoint2D; public class UPath extends AbstractShadowable implements Iterable, UShapeIgnorableForCompression { - // ::remove file when __HAXE__ private final String comment; private final String codeLine; @@ -66,8 +65,8 @@ public class UPath extends AbstractShadowable implements Iterable, USh this.codeLine = codeLine; } - public UPath() { - this(null, null); + public static UPath none() { + return new UPath(null, null); } public void add(double[] coord, USegmentType pathType) { @@ -100,6 +99,7 @@ public class UPath extends AbstractShadowable implements Iterable, USh return result; } + // ::comment when __HAXE__ public UPath rotate(double theta) { final UPath result = new UPath(comment, codeLine); for (USegment seg : segments) @@ -115,6 +115,7 @@ public class UPath extends AbstractShadowable implements Iterable, USh return result; } + // ::done public void moveTo(XPoint2D pt) { moveTo(pt.getX(), pt.getY()); @@ -180,10 +181,12 @@ public class UPath extends AbstractShadowable implements Iterable, USh return minmax.getMinY(); } + // ::comment when __HAXE__ @Override public String toString() { return segments.toString(); } + // ::done public Iterator iterator() { return segments.iterator(); diff --git a/src/net/sourceforge/plantuml/klimt/compress/CompressionTransform.java b/src/net/sourceforge/plantuml/klimt/compress/CompressionTransform.java index a749874fb..02dd35e6d 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/CompressionTransform.java +++ b/src/net/sourceforge/plantuml/klimt/compress/CompressionTransform.java @@ -38,6 +38,7 @@ package net.sourceforge.plantuml.klimt.compress; import java.util.List; public class CompressionTransform implements PiecewiseAffineTransform { + // ::remove file when __HAXE__ private final List all; diff --git a/src/net/sourceforge/plantuml/klimt/compress/CompressionXorYBuilder.java b/src/net/sourceforge/plantuml/klimt/compress/CompressionXorYBuilder.java index b9b769a55..620d1f3ce 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/CompressionXorYBuilder.java +++ b/src/net/sourceforge/plantuml/klimt/compress/CompressionXorYBuilder.java @@ -39,6 +39,7 @@ import net.sourceforge.plantuml.klimt.font.StringBounder; import net.sourceforge.plantuml.klimt.shape.TextBlock; public class CompressionXorYBuilder { + // ::remove file when __HAXE__ public static TextBlock build(CompressionMode mode, TextBlock textBlock, StringBounder stringBounder) { final PiecewiseAffineTransform affine = getPiecewiseAffineTransform(mode, textBlock, stringBounder); diff --git a/src/net/sourceforge/plantuml/klimt/compress/Expand.java b/src/net/sourceforge/plantuml/klimt/compress/Expand.java index 44b893816..c6c87f8be 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/Expand.java +++ b/src/net/sourceforge/plantuml/klimt/compress/Expand.java @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.klimt.compress; public class Expand implements Comparable { + // ::remove file when __HAXE__ private final double position; private final double extend; diff --git a/src/net/sourceforge/plantuml/klimt/compress/ExpandTransform.java b/src/net/sourceforge/plantuml/klimt/compress/ExpandTransform.java index fa5ebadbc..baca9e0cc 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/ExpandTransform.java +++ b/src/net/sourceforge/plantuml/klimt/compress/ExpandTransform.java @@ -39,7 +39,7 @@ import java.util.Set; import java.util.TreeSet; public class ExpandTransform implements PiecewiseAffineTransform { - // ::remove folder when __HAXE__ + // ::remove file when __HAXE__ private final Set all = new TreeSet<>(); diff --git a/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineComposition.java b/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineComposition.java index 7bf4d43c8..aec0249b7 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineComposition.java +++ b/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineComposition.java @@ -36,6 +36,7 @@ package net.sourceforge.plantuml.klimt.compress; public class PiecewiseAffineComposition implements PiecewiseAffineTransform { + // ::remove file when __HAXE__ private final PiecewiseAffineComposition first; private final PiecewiseAffineComposition second; diff --git a/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineOnXorYBuilder.java b/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineOnXorYBuilder.java index acb62dd87..00389bd9d 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineOnXorYBuilder.java +++ b/src/net/sourceforge/plantuml/klimt/compress/PiecewiseAffineOnXorYBuilder.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.shape.TextBlock; import net.sourceforge.plantuml.klimt.shape.TextBlockUtils; public class PiecewiseAffineOnXorYBuilder extends AbstractTextBlock { + // ::remove file when __HAXE__ private final TextBlock textBlock; private final CompressionMode mode; diff --git a/src/net/sourceforge/plantuml/klimt/compress/Slot.java b/src/net/sourceforge/plantuml/klimt/compress/Slot.java index c29a23351..904604088 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/Slot.java +++ b/src/net/sourceforge/plantuml/klimt/compress/Slot.java @@ -36,14 +36,15 @@ package net.sourceforge.plantuml.klimt.compress; public class Slot implements Comparable { + // ::remove file when __HAXE__ private final double start; private final double end; public Slot(double start, double end) { - if (start >= end) { + if (start >= end) throw new IllegalArgumentException(); - } + this.start = start; this.end = end; } @@ -78,22 +79,22 @@ public class Slot implements Comparable { } public Slot intersect(double otherStart, double otherEnd) { - if (otherStart >= end) { + if (otherStart >= end) return null; - } - if (otherEnd <= start) { + + if (otherEnd <= start) return null; - } + return new Slot(Math.max(start, otherStart), Math.min(end, otherEnd)); } public int compareTo(Slot other) { - if (this.start < other.start) { + if (this.start < other.start) return -1; - } - if (this.start > other.start) { + + if (this.start > other.start) return 1; - } + return 0; } diff --git a/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java b/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java index d71374bf1..865cd2fbf 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java +++ b/src/net/sourceforge/plantuml/klimt/compress/SlotFinder.java @@ -56,6 +56,7 @@ import net.sourceforge.plantuml.klimt.shape.URectangle; import net.sourceforge.plantuml.klimt.shape.UText; public class SlotFinder extends UGraphicNo { + // ::remove file when __HAXE__ @Override public UGraphic apply(UChange change) { diff --git a/src/net/sourceforge/plantuml/klimt/compress/SlotSet.java b/src/net/sourceforge/plantuml/klimt/compress/SlotSet.java index 7c05e9d7f..ddbec7074 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/SlotSet.java +++ b/src/net/sourceforge/plantuml/klimt/compress/SlotSet.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.drawing.UGraphic; import net.sourceforge.plantuml.klimt.shape.URectangle; public class SlotSet implements Iterable { + // ::remove file when __HAXE__ private final List all = new ArrayList<>(); @@ -52,9 +53,9 @@ public class SlotSet implements Iterable { final SlotSet result = new SlotSet(); for (Slot slot : all) { final Slot intersec = slot.intersect(start, end); - if (intersec != null) { + if (intersec != null) result.all.add(intersec); - } + } return result; } @@ -73,18 +74,18 @@ public class SlotSet implements Iterable { collisions.add(s); } } - for (Slot s : collisions) { + for (Slot s : collisions) newSlot = newSlot.merge(s); - } + all.add(newSlot); } public SlotSet smaller(double margin) { final SlotSet result = new SlotSet(); for (Slot sl : all) { - if (sl.size() <= 2 * margin) { + if (sl.size() <= 2 * margin) continue; - } + result.addSlot(sl.getStart() + margin, sl.getEnd() - margin); } return result; @@ -108,9 +109,9 @@ public class SlotSet implements Iterable { Collections.sort(all); Slot last = null; for (Slot slot : all) { - if (last != null) { + if (last != null) result.addSlot(last.getEnd(), slot.getStart()); - } + last = slot; } return result; @@ -118,7 +119,7 @@ public class SlotSet implements Iterable { public void drawDebugX(UGraphic ug, double size) { for (Slot slot : all) { - final URectangle rect = new URectangle(slot.getEnd() - slot.getStart(), size); + final URectangle rect = URectangle.build(slot.getEnd() - slot.getStart(), size); ug.apply(UTranslate.dx(slot.getStart())).draw(rect); } } diff --git a/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java b/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java index 7af64d411..d50ac79fa 100644 --- a/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java +++ b/src/net/sourceforge/plantuml/klimt/compress/UGraphicCompressOnXorY.java @@ -49,6 +49,7 @@ import net.sourceforge.plantuml.klimt.shape.ULine; import net.sourceforge.plantuml.klimt.shape.URectangle; public class UGraphicCompressOnXorY extends UGraphicDelegator { + // ::remove file when __HAXE__ public UGraphic apply(UChange change) { if (change instanceof UTranslate) diff --git a/src/net/sourceforge/plantuml/klimt/creole/Position.java b/src/net/sourceforge/plantuml/klimt/creole/Position.java index 6f190fb5a..c9915d903 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/Position.java +++ b/src/net/sourceforge/plantuml/klimt/creole/Position.java @@ -97,7 +97,7 @@ public class Position { public void drawDebug(UGraphic ug) { ug = ug.apply(HColors.BLACK).apply(HColors.none().bg()); ug = ug.apply(new UTranslate(x, y)); - ug.draw(new URectangle(dim)); + ug.draw(URectangle.build(dim)); } public double getHeight() { diff --git a/src/net/sourceforge/plantuml/klimt/creole/atom/AtomTable.java b/src/net/sourceforge/plantuml/klimt/creole/atom/AtomTable.java index 1cf7077d9..9e32d2a7a 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/atom/AtomTable.java +++ b/src/net/sourceforge/plantuml/klimt/creole/atom/AtomTable.java @@ -107,7 +107,7 @@ public class AtomTable extends AbstractAtom implements Atom { final double x1 = getStartingX(0); final double x2 = getStartingX(getNbCols()); ug.apply(HColors.none()).apply(line.lineBackColor.bg()).apply(new UTranslate(x1, y1)) - .draw(new URectangle(x2 - x1, y2 - y1)); + .draw(URectangle.build(x2 - x1, y2 - y1)); } for (int j = 0; j < getNbCols(); j++) { if (j >= line.cells.size()) { @@ -126,7 +126,7 @@ public class AtomTable extends AbstractAtom implements Atom { final double y1 = getStartingY(i); final double y2 = getStartingY(i + 1); ug.apply(HColors.none()).apply(cellBackColor.bg()).apply(new UTranslate(x1, y1)) - .draw(new URectangle(x2 - x1, y2 - y1)); + .draw(URectangle.build(x2 - x1, y2 - y1)); } final Position pos = positions.get(cell); final XDimension2D dimCell = cell.calculateDimension(ug.getStringBounder()); diff --git a/src/net/sourceforge/plantuml/klimt/creole/atom/Bullet.java b/src/net/sourceforge/plantuml/klimt/creole/atom/Bullet.java index 0383285fa..4cfdbca54 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/atom/Bullet.java +++ b/src/net/sourceforge/plantuml/klimt/creole/atom/Bullet.java @@ -60,10 +60,10 @@ public class Bullet extends AbstractAtom implements Atom { ug = ug.apply(color).apply(color.bg()).apply(UStroke.withThickness(0)); if (order == 0) { ug = ug.apply(UTranslate.dx(3)); - ug.draw(new UEllipse(5, 5)); + ug.draw(UEllipse.build(5, 5)); } else { ug = ug.apply(UTranslate.dx(1 + 8 * order)); - ug.draw(new URectangle(3.5, 3.5)); + ug.draw(URectangle.build(3.5, 3.5)); } } diff --git a/src/net/sourceforge/plantuml/klimt/creole/command/CommandCreoleSvgAttributeChange.java b/src/net/sourceforge/plantuml/klimt/creole/command/CommandCreoleSvgAttributeChange.java index 86eaf1093..1d0e542f5 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/command/CommandCreoleSvgAttributeChange.java +++ b/src/net/sourceforge/plantuml/klimt/creole/command/CommandCreoleSvgAttributeChange.java @@ -85,7 +85,7 @@ public class CommandCreoleSvgAttributeChange implements Command { final FontConfiguration fc1 = stripe.getActualFontConfiguration(); FontConfiguration fc2 = fc1; if (m.group(2) != null) { - fc2 = fc2.changeAttributes(new SvgAttributes(m.group(2))); + fc2 = fc2.changeAttributes(SvgAttributes.build(m.group(2))); } stripe.setActualFontConfiguration(fc2); diff --git a/src/net/sourceforge/plantuml/klimt/creole/command/SvgAttributesChange.java b/src/net/sourceforge/plantuml/klimt/creole/command/SvgAttributesChange.java index aa42cdc18..58e501c05 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/command/SvgAttributesChange.java +++ b/src/net/sourceforge/plantuml/klimt/creole/command/SvgAttributesChange.java @@ -51,7 +51,7 @@ class SvgAttributesChange implements FontChange { if (m.find() == false) { throw new IllegalStateException(); } - attributes = new SvgAttributes(m.group(1)); + attributes = SvgAttributes.build(m.group(1)); } public FontConfiguration apply(FontConfiguration initial) { diff --git a/src/net/sourceforge/plantuml/klimt/creole/legacy/AtomText.java b/src/net/sourceforge/plantuml/klimt/creole/legacy/AtomText.java index b3e0a5e4a..ec242eff3 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/legacy/AtomText.java +++ b/src/net/sourceforge/plantuml/klimt/creole/legacy/AtomText.java @@ -146,7 +146,7 @@ public final class AtomText extends AbstractAtom implements Atom { } else { final XDimension2D dim = ug.getStringBounder().calculateDimension(fontConfiguration.getFont(), s); - final UText utext = new UText(s, useFontConfiguration); + final UText utext = UText.build(s, useFontConfiguration); ug.apply(new UTranslate(x, ypos)).draw(utext); x += dim.getWidth(); } diff --git a/src/net/sourceforge/plantuml/klimt/creole/legacy/StripeCode.java b/src/net/sourceforge/plantuml/klimt/creole/legacy/StripeCode.java index 2ec1f9a7a..54913cf12 100644 --- a/src/net/sourceforge/plantuml/klimt/creole/legacy/StripeCode.java +++ b/src/net/sourceforge/plantuml/klimt/creole/legacy/StripeCode.java @@ -102,7 +102,7 @@ public class StripeCode implements StripeRaw { public void drawU(UGraphic ug) { double y = 0; for (String s : raw) { - final UText shape = new UText(s, fontConfiguration); + final UText shape = UText.build(s, fontConfiguration); final StringBounder stringBounder = ug.getStringBounder(); final XDimension2D dim = stringBounder.calculateDimension(fontConfiguration.getFont(), s); y += dim.getHeight(); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java b/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java index 4367e9a4b..cdcfdbe2e 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/AbstractCommonUGraphic.java @@ -55,7 +55,6 @@ import net.sourceforge.plantuml.klimt.shape.UHidden; import net.sourceforge.plantuml.url.Url; public abstract class AbstractCommonUGraphic implements UGraphic { - // ::remove file when __HAXE__ private UStroke stroke = UStroke.simple(); private UPattern pattern = UPattern.FULL; @@ -64,13 +63,37 @@ public abstract class AbstractCommonUGraphic implements UGraphic { private HColor color = HColors.none(); private boolean enlargeClip = false; - private final StringBounder stringBounder; + private /*final*/ StringBounder stringBounder; private UTranslate translate = UTranslate.none(); - private final ColorMapper colorMapper; + private /*final*/ ColorMapper colorMapper; private UClip clip; - private final HColor defaultBackground; + private /*final*/ HColor defaultBackground; + + public void basicCopy(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder) { + this.colorMapper = colorMapper; + this.defaultBackground = Objects.requireNonNull(defaultBackground); + this.stringBounder = stringBounder; + } + + protected void basicCopy(AbstractCommonUGraphic other) { + this.defaultBackground = Objects.requireNonNull(other.defaultBackground); + this.enlargeClip = other.enlargeClip; + this.colorMapper = other.colorMapper; + this.stringBounder = other.stringBounder; + this.translate = other.translate; + this.clip = other.clip; + + this.stroke = other.stroke; + this.pattern = other.pattern; + this.hidden = other.hidden; + this.color = other.color; + this.backColor = other.backColor; + } + + protected abstract AbstractCommonUGraphic copyUGraphic(); + @Override public HColor getDefaultBackground() { @@ -116,34 +139,6 @@ public abstract class AbstractCommonUGraphic implements UGraphic { this.enlargeClip = true; } - public AbstractCommonUGraphic(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder) { - if (defaultBackground == null) - throw new IllegalArgumentException(); - - this.colorMapper = colorMapper; - this.defaultBackground = defaultBackground; - this.stringBounder = stringBounder; - } - - protected AbstractCommonUGraphic(AbstractCommonUGraphic other) { - this.defaultBackground = other.defaultBackground; - if (defaultBackground == null) - throw new IllegalArgumentException(); - this.enlargeClip = other.enlargeClip; - this.colorMapper = other.colorMapper; - this.stringBounder = other.stringBounder; - this.translate = other.translate; - this.clip = other.clip; - - this.stroke = other.stroke; - this.pattern = other.pattern; - this.hidden = other.hidden; - this.color = other.color; - this.backColor = other.backColor; - } - - protected abstract AbstractCommonUGraphic copyUGraphic(); - final public UParam getParam() { return new UParam() { diff --git a/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphic.java b/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphic.java index a476ef17c..a45d773dd 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphic.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/AbstractUGraphic.java @@ -69,8 +69,8 @@ import net.sourceforge.plantuml.klimt.shape.UText; public abstract class AbstractUGraphic extends AbstractCommonUGraphic { // ::remove file when __HAXE__ - private final O graphic; - private final MinMaxMutable minmax; + private /*final*/ O graphic; + private /*final*/ MinMaxMutable minmax; // It would be nice to do something like this but not sure how: // Map, UDriver> @@ -78,19 +78,20 @@ public abstract class AbstractUGraphic extends AbstractCommonUGraphic { // https://stackoverflow.com/questions/416540/java-map-with-values-limited-by-keys-type-parameter private final Map, UDriver> drivers = new HashMap<>(); - public AbstractUGraphic(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, O graphic) { - super(Objects.requireNonNull(defaultBackground), colorMapper, stringBounder); + public void copy(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, O graphic) { + basicCopy(defaultBackground, colorMapper, stringBounder); + // super(Objects.requireNonNull(defaultBackground), colorMapper, stringBounder); this.graphic = graphic; this.minmax = MinMaxMutable.getEmpty(true); } - protected AbstractUGraphic(AbstractUGraphic other) { - super(other); + protected void copy(AbstractUGraphic other) { + basicCopy(other); this.graphic = other.graphic; this.minmax = other.minmax; - // this.drivers.putAll(other.drivers); } + protected final O getGraphicObject() { return graphic; } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/UGraphic.java b/src/net/sourceforge/plantuml/klimt/drawing/UGraphic.java index 977f667a5..66c06aca5 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/UGraphic.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/UGraphic.java @@ -74,5 +74,7 @@ public interface UGraphic { public HColor getDefaultBackground(); + // ::comment when __HAXE__ public void writeToStream(OutputStream os, String metadata, int dpi) throws IOException; + // ::done } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/UGraphicNull.java b/src/net/sourceforge/plantuml/klimt/drawing/UGraphicNull.java index 36f0c2d05..83450f236 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/UGraphicNull.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/UGraphicNull.java @@ -48,15 +48,16 @@ public class UGraphicNull extends AbstractUGraphic implements EnsureVisi @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicNull(this); + final UGraphicNull result = new UGraphicNull(this); + return result; } private UGraphicNull(UGraphicNull other) { - super(other); + copy(other); } public UGraphicNull() { - super(HColors.BLACK, ColorMapper.IDENTITY, FileFormat.PNG.getDefaultStringBounder(), "foo"); + copy(HColors.BLACK, ColorMapper.IDENTITY, FileFormat.PNG.getDefaultStringBounder(), "foo"); } @Override diff --git a/src/net/sourceforge/plantuml/klimt/drawing/debug/UGraphicDebug.java b/src/net/sourceforge/plantuml/klimt/drawing/debug/UGraphicDebug.java index f66107e65..b1d4bcc24 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/debug/UGraphicDebug.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/debug/UGraphicDebug.java @@ -80,13 +80,14 @@ public class UGraphicDebug extends AbstractCommonUGraphic implements ClipContain @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicDebug(this, output, scaleFactor, dim, svgLinkTarget, hoverPathColorRGB, seed, + final UGraphicDebug result = new UGraphicDebug(this, output, scaleFactor, dim, svgLinkTarget, hoverPathColorRGB, seed, preserveAspectRatio); + return result; } private UGraphicDebug(UGraphicDebug other, List output, double scaleFactor, XDimension2D dim, String svgLinkTarget, String hoverPathColorRGB, long seed, String preserveAspectRatio) { - super(other); + basicCopy(other); this.output = output; this.scaleFactor = scaleFactor; this.dim = dim; @@ -98,7 +99,7 @@ public class UGraphicDebug extends AbstractCommonUGraphic implements ClipContain public UGraphicDebug(double scaleFactor, XDimension2D dim, String svgLinkTarget, String hoverPathColorRGB, long seed, String preserveAspectRatio) { - super(HColors.WHITE, ColorMapper.IDENTITY, new StringBounderDebug()); + basicCopy(HColors.WHITE, ColorMapper.IDENTITY, new StringBounderDebug()); this.output = new ArrayList<>(); this.scaleFactor = scaleFactor; this.dim = dim; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/eps/UGraphicEps.java b/src/net/sourceforge/plantuml/klimt/drawing/eps/UGraphicEps.java index 36267caa4..9f94e321c 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/eps/UGraphicEps.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/eps/UGraphicEps.java @@ -62,18 +62,19 @@ public class UGraphicEps extends AbstractUGraphic implements ClipCo @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicEps(this); + final UGraphicEps result = new UGraphicEps(this); + return result; } protected UGraphicEps(UGraphicEps other) { - super(other); + copy(other); this.strategyTOBEREMOVED = other.strategyTOBEREMOVED; register(); } public UGraphicEps(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, EpsStrategy strategy) { - super(defaultBackground, colorMapper, stringBounder, strategy.creatEpsGraphics()); + copy(defaultBackground, colorMapper, stringBounder, strategy.creatEpsGraphics()); this.strategyTOBEREMOVED = strategy; register(); } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/g2d/UGraphicG2d.java b/src/net/sourceforge/plantuml/klimt/drawing/g2d/UGraphicG2d.java index 755e29f78..706cb0efe 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/g2d/UGraphicG2d.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/g2d/UGraphicG2d.java @@ -107,11 +107,12 @@ public class UGraphicG2d extends AbstractUGraphic implements EnsureV @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicG2d(this); + final UGraphicG2d result = new UGraphicG2d(this); + return result; } private UGraphicG2d(UGraphicG2d other) { - super(other); + copy(other); // ::comment when __CORE__ this.hasAffineTransform = other.hasAffineTransform; // ::done @@ -126,25 +127,21 @@ public class UGraphicG2d extends AbstractUGraphic implements EnsureV public UGraphicG2d(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, Graphics2D g2d, double dpiFactor, FileFormat format) { - // ::comment when __CORE__ - this(defaultBackground, colorMapper, stringBounder, g2d, dpiFactor, null, 0, 0, format); - // ::done - // ::uncomment when __CORE__ + // ::revert when __CORE__ + this(defaultBackground, colorMapper, stringBounder, g2d, dpiFactor, 0, 0, format, null); // this(defaultBackground, colorMapper, stringBounder, g2d, dpiFactor, 0, 0, // format); // ::done } - // ::comment when __CORE__ + // ::revert when __CORE__ public UGraphicG2d(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, Graphics2D g2d, - double dpiFactor, AffineTransformation affineTransform, double dx, double dy, FileFormat format) { - // ::done - // ::uncomment when __CORE__ + double dpiFactor, double dx, double dy, FileFormat format, AffineTransformation affineTransform) { // public UGraphicG2d(HColor defaultBackground, ColorMapper colorMapper, // StringBounder stringBounder, Graphics2D g2d, // double dpiFactor, double dx, double dy, FileFormat format) { // ::done - super(defaultBackground, colorMapper, stringBounder, g2d); + copy(defaultBackground, colorMapper, stringBounder, g2d); this.format = format; this.dpiFactor = dpiFactor; if (dpiFactor != 1.0) diff --git a/src/net/sourceforge/plantuml/klimt/drawing/hand/HandJiggle.java b/src/net/sourceforge/plantuml/klimt/drawing/hand/HandJiggle.java index 543214b1c..8154528f6 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/hand/HandJiggle.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/hand/HandJiggle.java @@ -121,8 +121,8 @@ public class HandJiggle { final double flatness = curve.getFlatness(); final double dist = curve.getP1().distance(curve.getP2()); if (flatness > 0.1 && dist > 20) { - final XCubicCurve2D left = new XCubicCurve2D(); - final XCubicCurve2D right = new XCubicCurve2D(); + final XCubicCurve2D left = XCubicCurve2D.none(); + final XCubicCurve2D right = XCubicCurve2D.none(); curve.subdivide(left, right); curveTo(left); curveTo(right); @@ -143,7 +143,7 @@ public class HandJiggle { UPath path = null; for (XPoint2D p : points) { if (path == null) { - path = new UPath(); + path = UPath.none(); path.moveTo(p); } else { path.lineTo(p); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java b/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java index aec8a53bf..e197fbbda 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/hand/UPathHand.java @@ -49,7 +49,7 @@ public class UPathHand { public UPathHand(UPath source, Random rnd) { - final UPath result = new UPath(); + final UPath result = UPath.none(); XPoint2D last = new XPoint2D(0, 0); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/html5/UGraphicHtml5.java b/src/net/sourceforge/plantuml/klimt/drawing/html5/UGraphicHtml5.java index e5679d37f..c6dfcb867 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/html5/UGraphicHtml5.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/html5/UGraphicHtml5.java @@ -56,7 +56,7 @@ public class UGraphicHtml5 extends AbstractUGraphic implements Clip } public UGraphicHtml5(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder) { - super(defaultBackground, colorMapper, stringBounder, new Html5Drawer()); + copy(defaultBackground, colorMapper, stringBounder, new Html5Drawer()); registerDriver(URectangle.class, new DriverRectangleHtml5(this)); // registerDriver(UText.class, new DriverTextEps(imDummy, this, strategy)); ignoreShape(UText.class); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverCenteredCharacterSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverCenteredCharacterSvg.java index 25fba0f7b..a543c26ae 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverCenteredCharacterSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverCenteredCharacterSvg.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.klimt.font.UnusedSpace; import net.sourceforge.plantuml.klimt.shape.UCenteredCharacter; public class DriverCenteredCharacterSvg implements UDriver { + // ::remove file when __HAXE__ public void draw(UCenteredCharacter characterCircled, double x, double y, ColorMapper mapper, UParam param, SvgGraphics svg) { diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverDotPathSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverDotPathSvg.java index 5db3b3715..de08f35e5 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverDotPathSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverDotPathSvg.java @@ -41,9 +41,9 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.DotPath; public class DriverDotPathSvg implements UDriver { + // ::remove file when __HAXE__ public void draw(DotPath shape, double x, double y, ColorMapper mapper, UParam param, SvgGraphics svg) { - // DriverLineG2d.manageStroke(param, g2d); if (param.getColor().isTransparent() == false) { DriverRectangleSvg.applyStrokeColor(svg, mapper, param); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverEllipseSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverEllipseSvg.java index 76d8a0b66..20c10d441 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverEllipseSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverEllipseSvg.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.UEllipse; public class DriverEllipseSvg implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImagePng.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImagePng.java index c0fd3b594..568b701a1 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImagePng.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImagePng.java @@ -45,6 +45,7 @@ import net.sourceforge.plantuml.klimt.shape.UImage; import net.sourceforge.plantuml.utils.Log; public class DriverImagePng implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImageSvgSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImageSvgSvg.java index 4b62ef576..c912b1114 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImageSvgSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverImageSvgSvg.java @@ -40,6 +40,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.UImageSvg; public class DriverImageSvgSvg implements UDriver { + // ::remove file when __HAXE__ public void draw(UImageSvg image, double x, double y, ColorMapper mapper, UParam param, SvgGraphics svg) { svg.svgImage(image, x, y); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverLineSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverLineSvg.java index 2c3f7fc9d..92fa9f9dd 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverLineSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverLineSvg.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.ULine; public class DriverLineSvg implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPathSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPathSvg.java index c6659969d..a748d55b9 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPathSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPathSvg.java @@ -44,6 +44,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.drawing.g2d.DriverShadowedG2d; public class DriverPathSvg extends DriverShadowedG2d implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPixelSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPixelSvg.java index 273f99399..92ac473c7 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPixelSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPixelSvg.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.UPixel; public class DriverPixelSvg implements UDriver { + // ::remove file when __HAXE__ public void draw(UPixel pixel, double x, double y, ColorMapper mapper, UParam param, SvgGraphics svg) { final HColor color = param.getColor(); diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPolygonSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPolygonSvg.java index 3d9f0b2ec..0ab94355c 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPolygonSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverPolygonSvg.java @@ -42,6 +42,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.UPolygon; public class DriverPolygonSvg implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverRectangleSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverRectangleSvg.java index d0b1414ca..777078711 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverRectangleSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverRectangleSvg.java @@ -46,6 +46,7 @@ import net.sourceforge.plantuml.klimt.drawing.UDriver; import net.sourceforge.plantuml.klimt.shape.URectangle; public class DriverRectangleSvg implements UDriver { + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextAsPathSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextAsPathSvg.java index 12aad26b5..da02ae60b 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextAsPathSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextAsPathSvg.java @@ -45,7 +45,7 @@ import net.sourceforge.plantuml.klimt.font.UFontContext; import net.sourceforge.plantuml.klimt.shape.UText; public class DriverTextAsPathSvg implements UDriver { - // ::remove folder when __HAXE__ + // ::remove file when __HAXE__ private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextSvg.java index 48874a0de..43475c041 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/DriverTextSvg.java @@ -51,6 +51,7 @@ import net.sourceforge.plantuml.klimt.geom.XDimension2D; import net.sourceforge.plantuml.klimt.shape.UText; public class DriverTextSvg implements UDriver { + // ::remove file when __HAXE__ private final StringBounder stringBounder; private final ClipContainer clipContainer; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgData.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgData.java index 2d7a733c2..5a934d161 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgData.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgData.java @@ -42,6 +42,7 @@ import java.util.regex.Pattern; import net.sourceforge.plantuml.StringUtils; public final class SvgData { + // ::remove file when __HAXE__ private String svg; private double startX; diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgGraphics.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgGraphics.java index 8732fb558..c13d9b5a7 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgGraphics.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/SvgGraphics.java @@ -84,6 +84,7 @@ import net.sourceforge.plantuml.utils.Log; import net.sourceforge.plantuml.xml.XmlFactories; public class SvgGraphics { + // ::remove file when __HAXE__ // http://tutorials.jenkov.com/svg/index.html // http://www.svgbasics.com/ diff --git a/src/net/sourceforge/plantuml/klimt/drawing/svg/UGraphicSvg.java b/src/net/sourceforge/plantuml/klimt/drawing/svg/UGraphicSvg.java index 1b4f7cea5..98b99277a 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/svg/UGraphicSvg.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/svg/UGraphicSvg.java @@ -60,9 +60,10 @@ import net.sourceforge.plantuml.klimt.shape.UText; import net.sourceforge.plantuml.url.Url; public class UGraphicSvg extends AbstractUGraphic implements ClipContainer { + // ::remove file when __HAXE__ - private final boolean textAsPath; - private final SvgOption option; + private /* final */ boolean textAsPath; + private /* final */ SvgOption option; public double dpiFactor() { return 1; @@ -70,18 +71,23 @@ public class UGraphicSvg extends AbstractUGraphic implements ClipCo @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicSvg(this); + final UGraphicSvg result = new UGraphicSvg(); + result.copy(this); + result.textAsPath = this.textAsPath; + result.option = this.option; + return result; } - private UGraphicSvg(UGraphicSvg other) { - super(other); - this.textAsPath = other.textAsPath; - this.option = other.option; + private UGraphicSvg() { register(); } - public UGraphicSvg(SvgOption option, boolean textAsPath, long seed, StringBounder stringBounder) { - this(option, new SvgGraphics(seed, option), textAsPath, stringBounder); + public static UGraphicSvg build(SvgOption option, boolean textAsPath, long seed, StringBounder stringBounder) { + final UGraphicSvg result = new UGraphicSvg(); + result.copy(option.getBackcolor(), option.getColorMapper(), stringBounder, new SvgGraphics(seed, option)); + result.textAsPath = textAsPath; + result.option = option; + return result; } @Override @@ -99,13 +105,6 @@ public class UGraphicSvg extends AbstractUGraphic implements ClipCo getGraphicObject().setHidden(false); } - private UGraphicSvg(SvgOption option, SvgGraphics svg, boolean textAsPath, StringBounder stringBounder) { - super(option.getBackcolor(), option.getColorMapper(), stringBounder, svg); - this.textAsPath = textAsPath; - this.option = option; - register(); - } - private void register() { registerDriver(URectangle.class, new DriverRectangleSvg(this)); if (textAsPath) diff --git a/src/net/sourceforge/plantuml/klimt/drawing/tikz/UGraphicTikz.java b/src/net/sourceforge/plantuml/klimt/drawing/tikz/UGraphicTikz.java index bd8832290..9a2be5593 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/tikz/UGraphicTikz.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/tikz/UGraphicTikz.java @@ -61,17 +61,18 @@ public class UGraphicTikz extends AbstractUGraphic implements Clip public UGraphicTikz(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder, double scale, boolean withPreamble) { - super(defaultBackground, colorMapper, stringBounder, new TikzGraphics(scale, withPreamble, colorMapper)); + copy(defaultBackground, colorMapper, stringBounder, new TikzGraphics(scale, withPreamble, colorMapper)); register(); } @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicTikz(this); + final UGraphicTikz result = new UGraphicTikz(this); + return result; } private UGraphicTikz(UGraphicTikz other) { - super(other); + copy(other); register(); } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/txt/UGraphicTxt.java b/src/net/sourceforge/plantuml/klimt/drawing/txt/UGraphicTxt.java index 25e4c4315..8dacf15d3 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/txt/UGraphicTxt.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/txt/UGraphicTxt.java @@ -63,16 +63,17 @@ public class UGraphicTxt extends AbstractCommonUGraphic implements ClipContainer @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicTxt(this); + final UGraphicTxt result = new UGraphicTxt(this); + return result; } private UGraphicTxt(UGraphicTxt other) { - super(other); + basicCopy(other); this.charArea = other.charArea; } public UGraphicTxt() { - super(HColors.BLACK, ColorMapper.IDENTITY, new TextStringBounder()); + basicCopy(HColors.BLACK, ColorMapper.IDENTITY, new TextStringBounder()); this.charArea = new UmlCharAreaImpl(); } diff --git a/src/net/sourceforge/plantuml/klimt/drawing/visio/UGraphicVdx.java b/src/net/sourceforge/plantuml/klimt/drawing/visio/UGraphicVdx.java index 1ac51f5ff..e973627df 100644 --- a/src/net/sourceforge/plantuml/klimt/drawing/visio/UGraphicVdx.java +++ b/src/net/sourceforge/plantuml/klimt/drawing/visio/UGraphicVdx.java @@ -62,17 +62,18 @@ public class UGraphicVdx extends AbstractUGraphic implements Clip } public UGraphicVdx(HColor defaultBackground, ColorMapper colorMapper, StringBounder stringBounder) { - super(defaultBackground, colorMapper, stringBounder, new VisioGraphics()); + copy(defaultBackground, colorMapper, stringBounder, new VisioGraphics()); register(); } @Override protected AbstractCommonUGraphic copyUGraphic() { - return new UGraphicVdx(this); + final UGraphicVdx result = new UGraphicVdx(this); + return result; } private UGraphicVdx(UGraphicVdx other) { - super(other); + copy(other); register(); } diff --git a/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java b/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java index f0a0a1d02..b672aed0d 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontConfiguration.java @@ -52,8 +52,57 @@ import net.sourceforge.plantuml.style.PName; import net.sourceforge.plantuml.style.Style; public class FontConfiguration { - // ::remove file when __HAXE__ + // ::uncomment when __HAXE__ +// public UFont getFont() { +// return null; +// } + // ::done__ + + public static FontConfiguration create(UFont font, HColor color, HColor hyperlinkColor, + UStroke hyperlinkUnderlineStroke, int tabSize) { + return new FontConfiguration(getStyles(font), font, color, font, color, null, FontPosition.NORMAL, + SvgAttributes.empty(), hyperlinkColor, hyperlinkUnderlineStroke, tabSize); + } + + public static FontConfiguration blackBlueTrue(UFont font) { + return create(font, HColors.BLACK.withDark(HColors.WHITE), HColors.BLUE, UStroke.simple(), 8); + } + + private static EnumSet getStyles(UFont font) { + final boolean bold = font.isBold(); + final boolean italic = font.isItalic(); + if (bold && italic) + return EnumSet.of(FontStyle.ITALIC, FontStyle.BOLD); + + if (bold) + return EnumSet.of(FontStyle.BOLD); + + if (italic) + return EnumSet.of(FontStyle.ITALIC); + + return EnumSet.noneOf(FontStyle.class); + } + + private FontConfiguration(EnumSet styles, UFont motherFont, HColor motherColor, UFont currentFont, + HColor currentColor, HColor extendedColor, FontPosition fontPosition, SvgAttributes svgAttributes, + HColor hyperlinkColor, UStroke hyperlinkUnderlineStroke, int tabSize) { + // ::comment when __HAXE__ + this.styles = styles; + this.currentFont = currentFont; + this.motherFont = motherFont; + this.currentColor = currentColor; + this.motherColor = motherColor; + this.extendedColor = extendedColor; + this.fontPosition = fontPosition; + this.svgAttributes = svgAttributes; + this.hyperlinkColor = hyperlinkColor; + this.hyperlinkUnderlineStroke = hyperlinkUnderlineStroke; + this.tabSize = tabSize; + // ::done + } + + // ::comment when __HAXE__ private final EnumSet styles; private final UFont currentFont; private final UFont motherFont; @@ -115,16 +164,6 @@ public class FontConfiguration { return create(font, color, hyperlinkColor, hyperlinkUnderlineStroke, 8); } - public static FontConfiguration create(UFont font, HColor color, HColor hyperlinkColor, - UStroke hyperlinkUnderlineStroke, int tabSize) { - return new FontConfiguration(getStyles(font), font, color, font, color, null, FontPosition.NORMAL, - new SvgAttributes(), hyperlinkColor, hyperlinkUnderlineStroke, tabSize); - } - - public static FontConfiguration blackBlueTrue(UFont font) { - return create(font, HColors.BLACK.withDark(HColors.WHITE), HColors.BLUE, UStroke.simple(), 8); - } - public static FontConfiguration create(ISkinParam skinParam, FontParam fontParam, Stereotype stereo) { return create(SkinParamUtils.getFont(skinParam, fontParam, stereo), SkinParamUtils.getFontColor(skinParam, fontParam, stereo), skinParam.getHyperlinkColor(), @@ -146,42 +185,11 @@ public class FontConfiguration { // --- - private static EnumSet getStyles(UFont font) { - final boolean bold = font.isBold(); - final boolean italic = font.isItalic(); - if (bold && italic) - return EnumSet.of(FontStyle.ITALIC, FontStyle.BOLD); - - if (bold) - return EnumSet.of(FontStyle.BOLD); - - if (italic) - return EnumSet.of(FontStyle.ITALIC); - - return EnumSet.noneOf(FontStyle.class); - } - @Override public String toString() { return styles.toString() + " " + currentColor; } - private FontConfiguration(EnumSet styles, UFont motherFont, HColor motherColor, UFont currentFont, - HColor currentColor, HColor extendedColor, FontPosition fontPosition, SvgAttributes svgAttributes, - HColor hyperlinkColor, UStroke hyperlinkUnderlineStroke, int tabSize) { - this.styles = styles; - this.currentFont = currentFont; - this.motherFont = motherFont; - this.currentColor = currentColor; - this.motherColor = motherColor; - this.extendedColor = extendedColor; - this.fontPosition = fontPosition; - this.svgAttributes = svgAttributes; - this.hyperlinkColor = hyperlinkColor; - this.hyperlinkUnderlineStroke = hyperlinkUnderlineStroke; - this.tabSize = tabSize; - } - public FontConfiguration forceFont(UFont newFont, HColor htmlColorForStereotype) { if (newFont == null) return add(FontStyle.ITALIC); @@ -244,7 +252,7 @@ public class FontConfiguration { public FontConfiguration resetFont() { return new FontConfiguration(styles, motherFont, motherColor, motherFont, motherColor, null, - FontPosition.NORMAL, new SvgAttributes(), hyperlinkColor, hyperlinkUnderlineStroke, tabSize); + FontPosition.NORMAL, SvgAttributes.empty(), hyperlinkColor, hyperlinkUnderlineStroke, tabSize); } public FontConfiguration add(FontStyle style) { @@ -337,4 +345,6 @@ public class FontConfiguration { // return new UStroke(3, 5, 2); } + // ::done + } diff --git a/src/net/sourceforge/plantuml/klimt/font/FontStyle.java b/src/net/sourceforge/plantuml/klimt/font/FontStyle.java index a614bb704..af2f37bc9 100644 --- a/src/net/sourceforge/plantuml/klimt/font/FontStyle.java +++ b/src/net/sourceforge/plantuml/klimt/font/FontStyle.java @@ -44,7 +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) { @@ -121,6 +121,7 @@ public enum FontStyle { throw new UnsupportedOperationException(); } + // ::comment when __HAXE__ public HColor getExtendedColor(String s) { final Matcher2 m = MyPattern.cmpile(getActivationPattern()).matcher(s); if (m.find() == false || m.groupCount() != 1) @@ -132,6 +133,7 @@ public enum FontStyle { return HColorSet.instance().getColorOrWhite(color); } + // ::done public String getDeactivationPattern() { if (this == PLAIN) diff --git a/src/net/sourceforge/plantuml/klimt/geom/BezierUtils.java b/src/net/sourceforge/plantuml/klimt/geom/BezierUtils.java index 5da2cb90f..400816893 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/BezierUtils.java +++ b/src/net/sourceforge/plantuml/klimt/geom/BezierUtils.java @@ -36,12 +36,10 @@ package net.sourceforge.plantuml.klimt.geom; public class BezierUtils { - // ::remove file when __HAXE__ - static public double getEndingAngle(final XCubicCurve2D left) { - if (left.getCtrlP2().equals(left.getP2())) { + if (left.getCtrlP2().equals(left.getP2())) return getAngle(left.getP1(), left.getP2()); - } + return getAngle(left.getCtrlP2(), left.getP2()); } @@ -75,8 +73,8 @@ public class BezierUtils { bez.setCurve(bez.x2, bez.y2, bez.ctrlx2, bez.ctrly2, bez.ctrlx1, bez.ctrly1, bez.x1, bez.y1); assert shape.contains(bez.x1, bez.y1) && shape.contains(bez.x2, bez.y2) == false; - final XCubicCurve2D left = new XCubicCurve2D(); - final XCubicCurve2D right = new XCubicCurve2D(); + final XCubicCurve2D left = XCubicCurve2D.none(); + final XCubicCurve2D right = XCubicCurve2D.none(); subdivide(bez, left, right, 0.5); if (isCutting(left, shape) ^ isCutting(right, shape) == false) diff --git a/src/net/sourceforge/plantuml/klimt/geom/MinMax.java b/src/net/sourceforge/plantuml/klimt/geom/MinMax.java index 82e0de87d..7a29a52be 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/MinMax.java +++ b/src/net/sourceforge/plantuml/klimt/geom/MinMax.java @@ -160,7 +160,7 @@ public class MinMax { public void draw(UGraphic ug, HColor color) { ug = ug.apply(color).apply(color.bg()); ug = ug.apply(new UTranslate(minX, minY)); - ug.draw(new URectangle(getWidth(), getHeight())); + ug.draw(URectangle.build(getWidth(), getHeight())); } // ::done diff --git a/src/net/sourceforge/plantuml/klimt/geom/RectangleArea.java b/src/net/sourceforge/plantuml/klimt/geom/RectangleArea.java index 284a8c1b4..280300a6b 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/RectangleArea.java +++ b/src/net/sourceforge/plantuml/klimt/geom/RectangleArea.java @@ -38,7 +38,6 @@ package net.sourceforge.plantuml.klimt.geom; import net.sourceforge.plantuml.klimt.UTranslate; public class RectangleArea { - // ::remove file when __HAXE__ private final double minX; private final double minY; @@ -52,8 +51,8 @@ public class RectangleArea { this.maxY = maxY; } - public RectangleArea(XPoint2D min, XPoint2D max) { - this(min.x, min.y, max.x, max.y); + public static RectangleArea build(XPoint2D min, XPoint2D max) { + return new RectangleArea(min.x, min.y, max.x, max.y); } public RectangleArea move(double deltaX, double deltaY) { @@ -118,8 +117,8 @@ public class RectangleArea { final double angle = BezierUtils.getStartingAngle(bez); return new PointDirected(bez.getP1(), angle); } - final XCubicCurve2D left = new XCubicCurve2D(); - final XCubicCurve2D right = new XCubicCurve2D(); + final XCubicCurve2D left = XCubicCurve2D.none(); + final XCubicCurve2D right = XCubicCurve2D.none(); bez.subdivide(left, right); final PointDirected int1 = getIntersection(left); if (int1 != null) diff --git a/src/net/sourceforge/plantuml/klimt/geom/USegment.java b/src/net/sourceforge/plantuml/klimt/geom/USegment.java index af4e71376..f95a012c2 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/USegment.java +++ b/src/net/sourceforge/plantuml/klimt/geom/USegment.java @@ -41,7 +41,6 @@ import java.awt.geom.AffineTransform; import java.util.Arrays; public class USegment { - // ::remove file when __HAXE__ private final double coord[]; private final USegmentType pathType; @@ -51,10 +50,12 @@ public class USegment { this.pathType = pathType; } + // ::comment when __HAXE__ @Override public String toString() { return pathType.toString() + " " + Arrays.toString(coord); } + // ::done public final double[] getCoord() { return coord; diff --git a/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java b/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java index 94b64a79f..a8ea696f9 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java +++ b/src/net/sourceforge/plantuml/klimt/geom/USegmentType.java @@ -35,27 +35,17 @@ */ package net.sourceforge.plantuml.klimt.geom; -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), // - SEG_QUADTO(PathIterator.SEG_QUADTO), // - SEG_CUBICTO(PathIterator.SEG_CUBICTO), // - SEG_CLOSE(PathIterator.SEG_CLOSE), // - SEG_ARCTO(4321);// + SEG_MOVETO, // + SEG_LINETO, // + SEG_QUADTO, // + SEG_CUBICTO, // + SEG_CLOSE, // + SEG_ARCTO;// final public static int SEG_ARCTO_VALUE = 4321; - private final int code; - - private USegmentType(int code) { - this.code = code; - } - public int getNbPoints() { switch (this) { case SEG_MOVETO: @@ -70,11 +60,4 @@ public enum USegmentType { throw new UnsupportedOperationException(); } - public static USegmentType getByCode(int code) { - for (USegmentType p : EnumSet.allOf(USegmentType.class)) - if (p.code == code) - return p; - - throw new IllegalArgumentException(); - } } diff --git a/src/net/sourceforge/plantuml/klimt/geom/XCubicCurve2D.java b/src/net/sourceforge/plantuml/klimt/geom/XCubicCurve2D.java index d67626bfc..6fa4b6e2d 100644 --- a/src/net/sourceforge/plantuml/klimt/geom/XCubicCurve2D.java +++ b/src/net/sourceforge/plantuml/klimt/geom/XCubicCurve2D.java @@ -1,7 +1,6 @@ package net.sourceforge.plantuml.klimt.geom; public class XCubicCurve2D { - // ::remove file when __HAXE__ public double x1; public double y1; @@ -12,8 +11,8 @@ public class XCubicCurve2D { public double x2; public double y2; - public XCubicCurve2D() { - this(0, 0, 0, 0, 0, 0, 0, 0); + public static XCubicCurve2D none() { + return new XCubicCurve2D(0, 0, 0, 0, 0, 0, 0, 0); } public XCubicCurve2D(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, diff --git a/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java b/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java index 244685c9a..78a0d2c18 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java +++ b/src/net/sourceforge/plantuml/klimt/shape/BigFrame.java @@ -73,7 +73,7 @@ public class BigFrame extends AbstractTextBlock { ug = symbolContext.apply(ug); final XDimension2D dimTitle = title.calculateDimension(stringBounder); final double widthFull = dim.getWidth(); - final Shadowable rectangle = new URectangle(widthFull, dim.getHeight()).rounded(symbolContext.getRoundCorner()) + final Shadowable rectangle = URectangle.build(widthFull, dim.getHeight()).rounded(symbolContext.getRoundCorner()) .ignoreForCompressionOnX().ignoreForCompressionOnY(); rectangle.setDeltaShadow(symbolContext.getDeltaShadow()); @@ -90,7 +90,7 @@ public class BigFrame extends AbstractTextBlock { } final double textHeight = getYpos(dimTitle); - final UPath line = new UPath(); + final UPath line = UPath.none(); line.setIgnoreForCompressionOnX(); line.moveTo(textWidth, 0); diff --git a/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java b/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java index 8c737177c..564bb1e2f 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java +++ b/src/net/sourceforge/plantuml/klimt/shape/CircledCharacter.java @@ -67,7 +67,7 @@ public class CircledCharacter extends AbstractTextBlock implements TextBlock { ug = ug.apply(spotBorder); ug = ug.apply(spotBackColor.bg()); - ug.draw(new UEllipse(radius * 2, radius * 2)); + ug.draw(UEllipse.build(radius * 2, radius * 2)); ug = ug.apply(fontColor); ug = ug.apply(new UTranslate(radius, radius)); ug.draw(new UCenteredCharacter(c.charAt(0), font)); diff --git a/src/net/sourceforge/plantuml/klimt/shape/DotPath.java b/src/net/sourceforge/plantuml/klimt/shape/DotPath.java index 6ca502c71..37e60a578 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/DotPath.java +++ b/src/net/sourceforge/plantuml/klimt/shape/DotPath.java @@ -62,7 +62,6 @@ 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) { @@ -140,8 +139,8 @@ public class DotPath implements UShape, Moveable { final XPoint2D p1 = bez.getCtrlP1(); final XPoint2D p2 = bez.getCtrlP2(); if (bez.getFlatnessSq() > 0.5 || p1.distance(p2) > 4) { - final XCubicCurve2D left = new XCubicCurve2D(); - final XCubicCurve2D right = new XCubicCurve2D(); + final XCubicCurve2D left = XCubicCurve2D.none(); + final XCubicCurve2D right = XCubicCurve2D.none(); bez.subdivide(left, right); sample(left, result); sample(right, result); @@ -155,8 +154,8 @@ public class DotPath implements UShape, Moveable { XPoint2D result = null; double angle = 0; for (XCubicCurve2D bez : beziers) { - final XCubicCurve2D left = new XCubicCurve2D(); - final XCubicCurve2D right = new XCubicCurve2D(); + final XCubicCurve2D left = XCubicCurve2D.none(); + final XCubicCurve2D right = XCubicCurve2D.none(); bez.subdivide(left, right); final XPoint2D p1 = left.getP1(); final XPoint2D p2 = left.getP2(); @@ -434,8 +433,8 @@ public class DotPath implements UShape, Moveable { assert tail.contains(this.beziers.get(idx).getP2()) == false; XCubicCurve2D current = this.beziers.get(idx); for (int k = 0; k < 8; k++) { - final XCubicCurve2D part1 = new XCubicCurve2D(); - final XCubicCurve2D part2 = new XCubicCurve2D(); + final XCubicCurve2D part1 = XCubicCurve2D.none(); + final XCubicCurve2D part2 = XCubicCurve2D.none(); current.subdivide(part1, part2); assert part1.getP2().equals(part2.getP1()); if (tail.contains(part1.getP2())) { @@ -465,8 +464,8 @@ public class DotPath implements UShape, Moveable { assert head.contains(current.getP1()) == false; assert head.contains(current.getP2()); for (int k = 0; k < 8; k++) { - final XCubicCurve2D part1 = new XCubicCurve2D(); - final XCubicCurve2D part2 = new XCubicCurve2D(); + final XCubicCurve2D part1 = XCubicCurve2D.none(); + final XCubicCurve2D part2 = XCubicCurve2D.none(); current.subdivide(part1, part2); assert part1.getP2().equals(part2.getP1()); if (head.contains(part1.getP2())) { diff --git a/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java b/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java index f3ce51475..dc2c859db 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java +++ b/src/net/sourceforge/plantuml/klimt/shape/SimpleTextBlockBordered.java @@ -60,6 +60,6 @@ class SimpleTextBlockBordered extends AbstractTextBlock implements TextBlock { public void drawU(UGraphic ug) { final XDimension2D dim = textBlock.calculateDimension(ug.getStringBounder()); textBlock.drawU(ug.apply(new UTranslate(1, 1))); - ug.apply(color).draw(new URectangle(dim.getWidth(), dim.getHeight())); + ug.apply(color).draw(URectangle.build(dim.getWidth(), dim.getHeight())); } } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java index b32092ae3..ee5f34c51 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockBordered.java @@ -144,7 +144,7 @@ public class TextBlockBordered extends AbstractTextBlock implements TextBlock { private Shadowable getPolygonNormal(final StringBounder stringBounder) { final double height = getTextHeight(stringBounder); final double width = getTextWidth(stringBounder); - return new URectangle(width, height).rounded(cornersize).withCommentAndCodeLine(id, null); + return URectangle.build(width, height).rounded(cornersize).withCommentAndCodeLine(id, null); } } diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java index 63647421a..82002744b 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockGeneric.java @@ -63,7 +63,7 @@ public class TextBlockGeneric extends AbstractTextBlock implements TextBlock { ug = ug.apply(background.bg()); ug = ug.apply(border); final XDimension2D dim = calculateDimension(ug.getStringBounder()); - ug.apply(new UStroke(2, 2, 1)).draw(new URectangle(dim.getWidth(), dim.getHeight())); + ug.apply(new UStroke(2, 2, 1)).draw(URectangle.build(dim.getWidth(), dim.getHeight())); textBlock.drawU(ug); } diff --git a/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java b/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java index 68bb1ea3b..761a8feee 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TextBlockVertical2.java @@ -104,7 +104,7 @@ public class TextBlockVertical2 extends AbstractTextBlock implements TextBlock, final HColor back = block.getBackcolor(); if (back != null && back.isTransparent() == false) ug.apply(UTranslate.dy(y)).apply(back).apply(back.bg()) - .draw(new URectangle(dimtotal.getWidth(), dimb.getHeight())); + .draw(URectangle.build(dimtotal.getWidth(), dimb.getHeight())); if (horizontalAlignment == HorizontalAlignment.LEFT) { block.drawU(ug.apply(UTranslate.dy(y))); diff --git a/src/net/sourceforge/plantuml/klimt/shape/TileText.java b/src/net/sourceforge/plantuml/klimt/shape/TileText.java index 1391f1ee2..2d4b90f25 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/TileText.java +++ b/src/net/sourceforge/plantuml/klimt/shape/TileText.java @@ -96,7 +96,7 @@ public class TileText extends AbstractTextBlock implements TextBlock { final double remainder = x % tabSize; x += tabSize - remainder; } else { - final UText utext = new UText(s, fontConfiguration); + final UText utext = UText.build(s, fontConfiguration); final XDimension2D dim = ug.getStringBounder().calculateDimension(fontConfiguration.getFont(), s); final int space = fontConfiguration.getSpace(); final double ypos; diff --git a/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java b/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java index 73ffea0e9..a67e6abc3 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UEllipse.java @@ -41,15 +41,14 @@ 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; private final double start; private final double extend; - public UEllipse(double width, double height) { - this(width, height, 0, 0); + public static UEllipse build(double width, double height) { + return new UEllipse(width, height, 0, 0); } public UEllipse(double width, double height, double start, double extend) { @@ -80,13 +79,13 @@ public class UEllipse extends AbstractShadowable implements UShapeSized { } public UEllipse bigger(double more) { - final UEllipse result = new UEllipse(width + more, height + more); + final UEllipse result = UEllipse.build(width + more, height + more); result.setDeltaShadow(getDeltaShadow()); return result; } public UEllipse scale(double factor) { - final UEllipse result = new UEllipse(width * factor, height * factor); + final UEllipse result = UEllipse.build(width * factor, height * factor); result.setDeltaShadow(getDeltaShadow()); return result; } diff --git a/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java b/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java index 9edacb0c1..44e78b35f 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UHorizontalLine.java @@ -162,7 +162,7 @@ public class UHorizontalLine implements UShape { final double y1 = y - dimTitle.getHeight() / 2 - 0.5; ug = ug.apply(new UTranslate(x1, y1)); if (clearArea) { - ug.apply(getStroke()).draw(new URectangle(dimTitle)); + ug.apply(getStroke()).draw(URectangle.build(dimTitle)); } title.drawU(ug); } diff --git a/src/net/sourceforge/plantuml/klimt/shape/URectangle.java b/src/net/sourceforge/plantuml/klimt/shape/URectangle.java index 2fb14293b..eee2363ca 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/URectangle.java +++ b/src/net/sourceforge/plantuml/klimt/shape/URectangle.java @@ -48,7 +48,6 @@ 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; @@ -90,7 +89,7 @@ public class URectangle extends AbstractShadowable implements UShapeSized, UShap if (diagonalCorner == 0) return this; - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(diagonalCorner, 0); result.lineTo(width - diagonalCorner, 0); result.lineTo(width, diagonalCorner); @@ -111,12 +110,12 @@ public class URectangle extends AbstractShadowable implements UShapeSized, UShap return new URectangle(width, height, rx, ry, comment, ignoreForCompressionOnX, true, codeLine); } - public URectangle(double width, double height) { - this(width, height, 0, 0, null, false, false, null); + public static URectangle build(double width, double height) { + return new URectangle(width, height, 0, 0, null, false, false, null); } - public URectangle(XDimension2D dim) { - this(dim.getWidth(), dim.getHeight()); + public static URectangle build(XDimension2D dim) { + return build(dim.getWidth(), dim.getHeight()); } private URectangle(double width, double height, double rx, double ry, String comment, diff --git a/src/net/sourceforge/plantuml/klimt/shape/UText.java b/src/net/sourceforge/plantuml/klimt/shape/UText.java index c5abd5e93..938007efb 100644 --- a/src/net/sourceforge/plantuml/klimt/shape/UText.java +++ b/src/net/sourceforge/plantuml/klimt/shape/UText.java @@ -40,7 +40,6 @@ 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; @@ -58,8 +57,8 @@ public class UText implements UShape { this.orientation = orientation; } - public UText(String text, FontConfiguration font) { - this(text, font, 0); + public static UText build(String text, FontConfiguration font) { + return new UText(text, font, 0); } public UText withOrientation(int orientation) { @@ -74,9 +73,11 @@ public class UText implements UShape { return font; } + // ::comment when __HAXE__ public double getDescent(StringBounder stringBounder) { return stringBounder.getDescent(font.getFont(), text); } + // ::done public final int getOrientation() { return orientation; diff --git a/src/net/sourceforge/plantuml/logo/LogoScanner.java b/src/net/sourceforge/plantuml/logo/LogoScanner.java index 9e3231ffe..212001a6f 100644 --- a/src/net/sourceforge/plantuml/logo/LogoScanner.java +++ b/src/net/sourceforge/plantuml/logo/LogoScanner.java @@ -41,6 +41,7 @@ import java.util.Map; class LogoScanner { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ + // ::remove folder when __MIT__ final private Map keywordTable = new HashMap(); private char sourceString[]; private int sourceLength; diff --git a/src/net/sourceforge/plantuml/mindmap/FingerImpl.java b/src/net/sourceforge/plantuml/mindmap/FingerImpl.java index c3d8266ed..2dd7040b4 100644 --- a/src/net/sourceforge/plantuml/mindmap/FingerImpl.java +++ b/src/net/sourceforge/plantuml/mindmap/FingerImpl.java @@ -146,7 +146,7 @@ public class FingerImpl implements Finger, UDrawable { } private void drawLine(UGraphic ug, XPoint2D p1, XPoint2D p2) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(p1); if (isTopToBottom()) { final double delta1 = direction * 3; diff --git a/src/net/sourceforge/plantuml/nwdiag/VerticalLine.java b/src/net/sourceforge/plantuml/nwdiag/VerticalLine.java index a4d425c85..e42bee2fc 100644 --- a/src/net/sourceforge/plantuml/nwdiag/VerticalLine.java +++ b/src/net/sourceforge/plantuml/nwdiag/VerticalLine.java @@ -57,7 +57,7 @@ public class VerticalLine implements UDrawable { ug = ug.apply(HColors.none().bg()); boolean drawn = false; double current = y1; - UPath path = new UPath(); + UPath path = UPath.none(); path.moveTo(0, current); for (Double step : skip) { if (step < y1) { @@ -75,7 +75,7 @@ public class VerticalLine implements UDrawable { } } ug.draw(path); - path = new UPath(); + path = UPath.none(); current = step + 9; path.moveTo(0, current); if (current >= y2) { diff --git a/src/net/sourceforge/plantuml/nwdiag/next/GridTextBlockDecorated.java b/src/net/sourceforge/plantuml/nwdiag/next/GridTextBlockDecorated.java index e22d10c00..b16b34a89 100644 --- a/src/net/sourceforge/plantuml/nwdiag/next/GridTextBlockDecorated.java +++ b/src/net/sourceforge/plantuml/nwdiag/next/GridTextBlockDecorated.java @@ -144,7 +144,7 @@ public class GridTextBlockDecorated extends GridTextBlockSimple { computeMixMax(data.getLine(i), stringBounder, network); final double width = Math.max(GridTextBlockSimple.MINIMUM_WIDTH, network.getXmax() - network.getXmin()); - final URectangle rect = new URectangle(width, NETWORK_THIN); + final URectangle rect = URectangle.build(width, NETWORK_THIN); UGraphic ug2 = ug.apply(new UTranslate(network.getXmin(), y)); final StyleBuilder styleBuilder = getSkinParam().getCurrentStyleBuilder(); diff --git a/src/net/sourceforge/plantuml/openiconic/PSystemOpenIconic.java b/src/net/sourceforge/plantuml/openiconic/PSystemOpenIconic.java index adb32aa59..eb6e58a69 100644 --- a/src/net/sourceforge/plantuml/openiconic/PSystemOpenIconic.java +++ b/src/net/sourceforge/plantuml/openiconic/PSystemOpenIconic.java @@ -65,7 +65,7 @@ public class PSystemOpenIconic extends PlainDiagram { // UGraphic2 ug = fileFormat.createUGraphic(dim); // ug = (UGraphic2) ug.apply(new UTranslate(10, 10)); // // ug = ug.apply(UChangeColor.nnn(HtmlColorUtils.BLACK)); - // // ug.draw(new URectangle(7, 6)); + // // ug.draw(URectangle.build(7, 6)); // icon.asTextBlock(HtmlColorUtils.BLACK, factor).drawU(ug); // ug.writeImageTOBEMOVED(os, null, 96); // return new ImageDataSimple(dim); diff --git a/src/net/sourceforge/plantuml/openiconic/SvgPath.java b/src/net/sourceforge/plantuml/openiconic/SvgPath.java index d54f5f581..f139afc18 100644 --- a/src/net/sourceforge/plantuml/openiconic/SvgPath.java +++ b/src/net/sourceforge/plantuml/openiconic/SvgPath.java @@ -145,7 +145,7 @@ public class SvgPath { } private UPath toUPath(double factorx, double factory) { - final UPath result = new UPath(); + final UPath result = UPath.none(); Movement previous = null; for (Movement move : movements) { final char letter = move.getLetter(); @@ -191,7 +191,7 @@ public class SvgPath { } private UPath toUPath(AffineTransform at) { - final UPath result = new UPath(); + final UPath result = UPath.none(); Movement previous = null; for (Movement move : movements) { final char letter = move.getLetter(); diff --git a/src/net/sourceforge/plantuml/project/GanttDiagram.java b/src/net/sourceforge/plantuml/project/GanttDiagram.java index 00a71b848..9cf1c2ab0 100644 --- a/src/net/sourceforge/plantuml/project/GanttDiagram.java +++ b/src/net/sourceforge/plantuml/project/GanttDiagram.java @@ -231,11 +231,11 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit final HColor back = timelineStyle.value(PName.BackGroundColor).asColor(getIHtmlColorSet()); if (back.isTransparent() == false) { - final URectangle rect1 = new URectangle(calculateDimension(ug.getStringBounder()).getWidth(), + final URectangle rect1 = URectangle.build(calculateDimension(ug.getStringBounder()).getWidth(), timeHeader.getTimeHeaderHeight()); ug.apply(back.bg()).draw(rect1); if (showFootbox) { - final URectangle rect2 = new URectangle( + final URectangle rect2 = URectangle.build( calculateDimension(ug.getStringBounder()).getWidth(), timeHeader.getTimeFooterHeight()); ug.apply(back.bg()).apply(UTranslate.dy(totalHeightWithoutFooter)).draw(rect2); diff --git a/src/net/sourceforge/plantuml/project/draw/PathUtils.java b/src/net/sourceforge/plantuml/project/draw/PathUtils.java index e7089ccab..97b4bf791 100644 --- a/src/net/sourceforge/plantuml/project/draw/PathUtils.java +++ b/src/net/sourceforge/plantuml/project/draw/PathUtils.java @@ -42,7 +42,7 @@ public class PathUtils { public static UPath UtoRight(double width, double height, double round) { final double halfRound = round / 2; - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(0, 0); result.lineTo(width - halfRound, 0); result.arcTo(new XPoint2D(width, halfRound), halfRound, 0, 1); @@ -54,7 +54,7 @@ public class PathUtils { public static UPath UtoLeft(double width, double height, double round) { final double halfRound = round / 2; - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(width, height); result.lineTo(halfRound, height); result.arcTo(new XPoint2D(0, height - halfRound), halfRound, 0, 1); diff --git a/src/net/sourceforge/plantuml/project/draw/RectangleTask.java b/src/net/sourceforge/plantuml/project/draw/RectangleTask.java index e1ad405dd..5b9822d63 100644 --- a/src/net/sourceforge/plantuml/project/draw/RectangleTask.java +++ b/src/net/sourceforge/plantuml/project/draw/RectangleTask.java @@ -74,12 +74,12 @@ public class RectangleTask { if (widthCompletion == -1 || widthCompletion == 0) { if (widthCompletion == 0) ug = ug.apply(documentBackground.bg()); - final URectangle rect = new URectangle(width, height); + final URectangle rect = URectangle.build(width, height); ug.draw(rect); } else { - final URectangle rect1 = new URectangle(widthCompletion, height); + final URectangle rect1 = URectangle.build(widthCompletion, height); ug.draw(rect1); - final URectangle rect2 = new URectangle(width - widthCompletion, height); + final URectangle rect2 = URectangle.build(width - widthCompletion, height); ug.apply(documentBackground.bg()).apply(UTranslate.dx(widthCompletion)).draw(rect2); } } @@ -101,7 +101,7 @@ public class RectangleTask { final Segment segment = segments.get(0); final double width = segment.getLength(); - final URectangle partial = new URectangle(width, height).rounded(round); + final URectangle partial = URectangle.build(width, height).rounded(round); if (completion == 100 || completion == 0) { if (completion == 0) ug = ug.apply(documentBackground.bg()); diff --git a/src/net/sourceforge/plantuml/project/draw/TaskDrawGroup.java b/src/net/sourceforge/plantuml/project/draw/TaskDrawGroup.java index 93cbf60f3..88ff50d60 100644 --- a/src/net/sourceforge/plantuml/project/draw/TaskDrawGroup.java +++ b/src/net/sourceforge/plantuml/project/draw/TaskDrawGroup.java @@ -196,7 +196,7 @@ public class TaskDrawGroup extends AbstractTaskDraw { final private double height = 10; private UPath getShape(final double startPos, final double endPos) { - final UPath rect = new UPath(); + final UPath rect = UPath.none(); final double thick = 2; final double y1 = (height - thick) / 2; @@ -218,7 +218,7 @@ public class TaskDrawGroup extends AbstractTaskDraw { } private UPath getShapeOld2(final double startPos, final double endPos) { - final UPath rect = new UPath(); + final UPath rect = UPath.none(); final double height1 = 9; final double height2 = 7; @@ -237,7 +237,7 @@ public class TaskDrawGroup extends AbstractTaskDraw { } private UPath getShapeOld(final double startPos, final double endPos) { - final UPath rect = new UPath(); + final UPath rect = UPath.none(); final double height1 = 9; final double height2 = 2; diff --git a/src/net/sourceforge/plantuml/project/draw/TaskDrawSeparator.java b/src/net/sourceforge/plantuml/project/draw/TaskDrawSeparator.java index f13608ffb..2c7566ccb 100644 --- a/src/net/sourceforge/plantuml/project/draw/TaskDrawSeparator.java +++ b/src/net/sourceforge/plantuml/project/draw/TaskDrawSeparator.java @@ -143,7 +143,7 @@ public class TaskDrawSeparator implements TaskDraw { if (backColor.isTransparent() == false) { final double height = padding.getTop() + getTextHeight(stringBounder) + padding.getBottom(); if (height > 0) { - final URectangle rect = new URectangle(end - start, height); + final URectangle rect = URectangle.build(end - start, height); ug.apply(backColor.bg()).draw(rect); } } diff --git a/src/net/sourceforge/plantuml/project/draw/TimeHeader.java b/src/net/sourceforge/plantuml/project/draw/TimeHeader.java index 34150f137..ab995c7e4 100644 --- a/src/net/sourceforge/plantuml/project/draw/TimeHeader.java +++ b/src/net/sourceforge/plantuml/project/draw/TimeHeader.java @@ -172,7 +172,7 @@ public abstract class TimeHeader { ug = ug.apply(HColors.none()); ug = ug.apply(new UTranslate(x1, getFullHeaderHeight())); - ug.draw(new URectangle(x2 - x1, height)); + ug.draw(URectangle.build(x2 - x1, height)); } protected final UGraphic goBold(UGraphic ug) { diff --git a/src/net/sourceforge/plantuml/salt/element/ElementButton.java b/src/net/sourceforge/plantuml/salt/element/ElementButton.java index 3b4aaa77d..8833a13c5 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementButton.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementButton.java @@ -68,7 +68,7 @@ public class ElementButton extends AbstractElementText implements Element { ug = ug.apply(UStroke.withThickness(stroke)); ug = ug.apply(getColorEE().bg()).apply(getBlack()); ug.apply(new UTranslate(stroke, stroke)) - .draw(new URectangle(dim.getWidth() - 2 * stroke, dim.getHeight() - 2 * stroke).rounded(10)); + .draw(URectangle.build(dim.getWidth() - 2 * stroke, dim.getHeight() - 2 * stroke).rounded(10)); final XDimension2D dimPureText = getPureTextDimension(ug.getStringBounder()); drawText(ug, (dim.getWidth() - dimPureText.getWidth()) / 2, stroke + marginY); } diff --git a/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java b/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java index a894dcc11..fa72c4864 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementDroplist.java @@ -93,7 +93,7 @@ public class ElementDroplist extends AbstractElementText implements Element { ug = ug.apply(getBlack()); if (zIndex == 0) { - ug.apply(getColorEE().bg()).draw(new URectangle(dim.getWidth() - 1, dim.getHeight() - 1)); + ug.apply(getColorEE().bg()).draw(URectangle.build(dim.getWidth() - 1, dim.getHeight() - 1)); drawText(ug, 2, 2); final double xline = dim.getWidth() - box; ug.apply(UTranslate.dx(xline)).draw(ULine.vline(dim.getHeight() - 1)); @@ -111,7 +111,7 @@ public class ElementDroplist extends AbstractElementText implements Element { final XDimension2D dimOpen = openDrop.calculateDimension(ug.getStringBounder()).atLeast(dim.getWidth() - 1, 0); ug = ug.apply(UTranslate.dy(dim.getHeight() - 1)); - ug.apply(getColorEE().bg()).draw(new URectangle(dimOpen.getWidth() - 1, dimOpen.getHeight() - 1)); + ug.apply(getColorEE().bg()).draw(URectangle.build(dimOpen.getWidth() - 1, dimOpen.getHeight() - 1)); openDrop.drawU(ug); } } diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java index dad41eaf3..50dd44598 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuBar.java @@ -105,7 +105,7 @@ public class ElementMenuBar extends AbstractElement { double x1 = 0; if (zIndex == 0) { - ug.apply(getColorDD().bg()).draw(new URectangle(dimToUse.getWidth(), dimToUse.getHeight())); + ug.apply(getColorDD().bg()).draw(URectangle.build(dimToUse.getWidth(), dimToUse.getHeight())); for (ElementMenuEntry entry : entries) { entry.drawU(ug.apply(UTranslate.dx(x1)), zIndex, dimToUse); final double w = entry.getPreferredDimension(ug.getStringBounder(), x1, 0).getWidth(); diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java index f02de64cb..08274f379 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuEntry.java @@ -71,7 +71,7 @@ public class ElementMenuEntry extends AbstractElement { ug = ug.apply(getBlack()); if (background != null) { final XDimension2D dim = getPreferredDimension(ug.getStringBounder(), 0, 0); - ug.apply(background.bg()).draw(new URectangle(dim.getWidth(), dim.getHeight())); + ug.apply(background.bg()).draw(URectangle.build(dim.getWidth(), dim.getHeight())); } block.drawU(ug); } diff --git a/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java b/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java index 765a1cefe..a8c9973d6 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementMenuPopup.java @@ -79,7 +79,7 @@ public class ElementMenuPopup extends AbstractElement { ug = ug.apply(getBlack()); - ug.apply(getColorDD().bg()).draw(new URectangle(dimToUse.getWidth(), dimToUse.getHeight())); + ug.apply(getColorDD().bg()).draw(URectangle.build(dimToUse.getWidth(), dimToUse.getHeight())); double y1 = 0; for (ElementMenuEntry entry : entries) { diff --git a/src/net/sourceforge/plantuml/salt/element/ElementPyramidScrolled.java b/src/net/sourceforge/plantuml/salt/element/ElementPyramidScrolled.java index 11299867b..99d70ff30 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementPyramidScrolled.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementPyramidScrolled.java @@ -84,7 +84,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private UPath getTr0() { - final UPath poly = new UPath(); + final UPath poly = UPath.none(); poly.moveTo(3, 0); poly.lineTo(6, 5); poly.lineTo(0, 5); @@ -94,7 +94,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private UPath getTr180() { - final UPath poly = new UPath(); + final UPath poly = UPath.none(); poly.moveTo(3, 5); poly.lineTo(6, 0); poly.lineTo(0, 0); @@ -104,7 +104,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private UPath getTr90() { - final UPath poly = new UPath(); + final UPath poly = UPath.none(); poly.moveTo(0, 3); poly.lineTo(5, 6); poly.lineTo(5, 0); @@ -114,7 +114,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private UPath getTr270() { - final UPath poly = new UPath(); + final UPath poly = UPath.none(); poly.moveTo(5, 3); poly.lineTo(0, 6); poly.lineTo(0, 0); @@ -124,7 +124,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private void drawV(UGraphic ug, double width, double height) { - ug.draw(new URectangle(width, height)); + ug.draw(URectangle.build(width, height)); ug.apply(UTranslate.dy(v2)).draw(ULine.hline(width)); ug.apply(UTranslate.dy(height - v2)).draw(ULine.hline(width)); ug.apply(new UTranslate(4, 4)).apply(getBlack().bg()).draw(getTr0()); @@ -132,7 +132,7 @@ public class ElementPyramidScrolled extends ElementPyramid { } private void drawH(UGraphic ug, double width, double height) { - ug.draw(new URectangle(width, height)); + ug.draw(URectangle.build(width, height)); ug.apply(UTranslate.dx(v2)).draw(ULine.vline(height)); ug.apply(UTranslate.dx(width - v2)).draw(ULine.vline(height)); ug.apply(new UTranslate(4, 4)).apply(getBlack().bg()).draw(getTr90()); diff --git a/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java b/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java index 2c5092889..4707dd098 100644 --- a/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java +++ b/src/net/sourceforge/plantuml/salt/element/ElementRadioCheckbox.java @@ -96,7 +96,7 @@ public class ElementRadioCheckbox extends AbstractElement { } private void drawOther(UGraphic ug, final double height) { - ug.apply(new UTranslate(2, (height - RECTANGLE) / 2)).draw(new URectangle(RECTANGLE, RECTANGLE)); + ug.apply(new UTranslate(2, (height - RECTANGLE) / 2)).draw(URectangle.build(RECTANGLE, RECTANGLE)); if (checked) { final UPolygon poly = new UPolygon(); poly.addPoint(0, 0); @@ -110,11 +110,11 @@ public class ElementRadioCheckbox extends AbstractElement { } private void drawRadio(UGraphic ug, final double height) { - ug.apply(new UTranslate(2, (height - ELLIPSE) / 2)).draw(new UEllipse(ELLIPSE, ELLIPSE)); + ug.apply(new UTranslate(2, (height - ELLIPSE) / 2)).draw(UEllipse.build(ELLIPSE, ELLIPSE)); if (checked) { ug = ug.apply(HColors.changeBack(ug)); ug = ug.apply(new UTranslate(2 + (ELLIPSE - ELLIPSE2) / 2, (height - ELLIPSE2) / 2)); - ug.draw(new UEllipse(ELLIPSE2, ELLIPSE2)); + ug.draw(UEllipse.build(ELLIPSE2, ELLIPSE2)); } } } diff --git a/src/net/sourceforge/plantuml/salt/element/Grid.java b/src/net/sourceforge/plantuml/salt/element/Grid.java index 391002329..d810235a1 100644 --- a/src/net/sourceforge/plantuml/salt/element/Grid.java +++ b/src/net/sourceforge/plantuml/salt/element/Grid.java @@ -102,7 +102,7 @@ public class Grid { if (dim.getWidth() > 0 && dim.getHeight() > 0) { final UGraphic ug2 = ug.apply(new UTranslate(x + 6, y - dim.getHeight() * 0)); - ug2.apply(white.bg()).apply(white).draw(new URectangle(dim)); + ug2.apply(white.bg()).apply(white).draw(URectangle.build(dim)); title.drawU(ug2); } diff --git a/src/net/sourceforge/plantuml/salt/element/Skeleton.java b/src/net/sourceforge/plantuml/salt/element/Skeleton.java index 4d829bf94..e7c56de9f 100644 --- a/src/net/sourceforge/plantuml/salt/element/Skeleton.java +++ b/src/net/sourceforge/plantuml/salt/element/Skeleton.java @@ -57,7 +57,7 @@ public class Skeleton { } public void drawRectangle(UGraphic ug) { - ug.apply(new UTranslate(xpos, ypos)).draw(new URectangle(2, 2)); + ug.apply(new UTranslate(xpos, ypos)).draw(URectangle.build(2, 2)); } } diff --git a/src/net/sourceforge/plantuml/salt/element/Skeleton2.java b/src/net/sourceforge/plantuml/salt/element/Skeleton2.java index cf642c324..3145763be 100644 --- a/src/net/sourceforge/plantuml/salt/element/Skeleton2.java +++ b/src/net/sourceforge/plantuml/salt/element/Skeleton2.java @@ -60,7 +60,7 @@ public class Skeleton2 { void drawHline(UGraphic ug) { final double xpos = getXStartForLevel(level); - ug.apply(new UTranslate(xpos + sizeX - 1, ypos - 1)).draw(new URectangle(2, 2)); + ug.apply(new UTranslate(xpos + sizeX - 1, ypos - 1)).draw(URectangle.build(2, 2)); ug.apply(new UTranslate(xpos, ypos)).draw(ULine.hline(sizeX)); } diff --git a/src/net/sourceforge/plantuml/sdot/SmetanaPath.java b/src/net/sourceforge/plantuml/sdot/SmetanaPath.java index 6f1416e27..69ea32e8d 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(UTranslate.point(pt).compose(new UTranslate(-1, -1))).draw(new UEllipse(3, 3)); + ug.apply(UTranslate.point(pt).compose(new UTranslate(-1, -1))).draw(UEllipse.build(3, 3)); } if (getLabelRectangleTranslate("label") != null && getLabelURectangle() != null) { ug = ug.apply(HColors.BLUE).apply(HColors.none().bg()); @@ -221,7 +221,7 @@ public class SmetanaPath implements UDrawable { final double y = pos.y; final double width = dimen.x; final double height = dimen.y; - return new URectangle(width, height); + return URectangle.build(width, height); } private UTranslate getLabelRectangleTranslate(String fieldName) { diff --git a/src/net/sourceforge/plantuml/sequencediagram/teoz/Blotter.java b/src/net/sourceforge/plantuml/sequencediagram/teoz/Blotter.java index 097291b60..16d49154b 100644 --- a/src/net/sourceforge/plantuml/sequencediagram/teoz/Blotter.java +++ b/src/net/sourceforge/plantuml/sequencediagram/teoz/Blotter.java @@ -90,13 +90,13 @@ public class Blotter implements UDrawable { private UShape getRectangleBackground(int i, double height) { final double width = dim.getWidth(); if (round == 0) - return new URectangle(width, height); + return URectangle.build(width, height); if (changes.size() == 1) - return new URectangle(width, height).rounded(round); + return URectangle.build(width, height).rounded(round); if (i == 0) { - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(round / 2, 0); result.lineTo(width - round / 2, 0); result.arcTo(round / 2, round / 2, 0, 0, 1, width, round / 2); @@ -108,7 +108,7 @@ public class Blotter implements UDrawable { return result; } if (i == changes.size() - 1) { - final UPath result = new UPath(); + final UPath result = UPath.none(); result.moveTo(0, 0); result.lineTo(width, 0); result.lineTo(width, height - round / 2); @@ -120,7 +120,7 @@ public class Blotter implements UDrawable { return result; } - return new URectangle(width, height); + return URectangle.build(width, height); } public void closeChanges() { diff --git a/src/net/sourceforge/plantuml/skin/ActorAwesome.java b/src/net/sourceforge/plantuml/skin/ActorAwesome.java index 81a5c547b..50869e283 100644 --- a/src/net/sourceforge/plantuml/skin/ActorAwesome.java +++ b/src/net/sourceforge/plantuml/skin/ActorAwesome.java @@ -63,10 +63,10 @@ public class ActorAwesome extends AbstractTextBlock implements TextBlock { public void drawU(UGraphic ug) { - final UEllipse head = new UEllipse(headDiam, headDiam); + final UEllipse head = UEllipse.build(headDiam, headDiam); final double centerX = getPreferredWidth() / 2; - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, collar); path.cubicTo(collar, collar, bodyWidth / 2 - shoulder - collar, collar, bodyWidth / 2 - shoulder, 0); path.cubicTo(bodyWidth / 2 - shoulder / 2, 0, bodyWidth / 2, shoulder / 2, bodyWidth / 2, shoulder); diff --git a/src/net/sourceforge/plantuml/skin/ActorHollow.java b/src/net/sourceforge/plantuml/skin/ActorHollow.java index 901549ad5..91fc51ffc 100644 --- a/src/net/sourceforge/plantuml/skin/ActorHollow.java +++ b/src/net/sourceforge/plantuml/skin/ActorHollow.java @@ -65,10 +65,10 @@ public class ActorHollow extends AbstractTextBlock implements TextBlock { public void drawU(UGraphic ug) { - final UEllipse head = new UEllipse(headDiam, headDiam); + final UEllipse head = UEllipse.build(headDiam, headDiam); final double centerX = getPreferredWidth() / 2; - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(-bodyWidth / 2, 0); path.lineTo(-bodyWidth / 2, armThickness); path.lineTo(-bodyThickness / 2, armThickness); diff --git a/src/net/sourceforge/plantuml/skin/ActorStickMan.java b/src/net/sourceforge/plantuml/skin/ActorStickMan.java index 0e2146996..b92cb27eb 100644 --- a/src/net/sourceforge/plantuml/skin/ActorStickMan.java +++ b/src/net/sourceforge/plantuml/skin/ActorStickMan.java @@ -69,10 +69,10 @@ public class ActorStickMan extends AbstractTextBlock implements TextBlock { final double startX = Math.max(armsLenght, legsX) - headDiam / 2.0 + thickness(); - final UEllipse head = new UEllipse(headDiam, headDiam); + final UEllipse head = UEllipse.build(headDiam, headDiam); final double centerX = startX + headDiam / 2; - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(0, bodyLenght); path.moveTo(-armsLenght, armsY); diff --git a/src/net/sourceforge/plantuml/skin/CircleInterface.java b/src/net/sourceforge/plantuml/skin/CircleInterface.java index 85431f39b..b8abdcdfb 100644 --- a/src/net/sourceforge/plantuml/skin/CircleInterface.java +++ b/src/net/sourceforge/plantuml/skin/CircleInterface.java @@ -58,7 +58,7 @@ public class CircleInterface implements UDrawable { } public void drawU(UGraphic ug) { - final UEllipse head = new UEllipse(headDiam, headDiam); + final UEllipse head = UEllipse.build(headDiam, headDiam); ug.apply(UStroke.withThickness(thickness)).apply(backgroundColor.bg()).apply(foregroundColor) .apply(new UTranslate(thickness, thickness)).draw(head); diff --git a/src/net/sourceforge/plantuml/skin/Padder.java b/src/net/sourceforge/plantuml/skin/Padder.java index 6a1dd5506..9ea2de5ab 100644 --- a/src/net/sourceforge/plantuml/skin/Padder.java +++ b/src/net/sourceforge/plantuml/skin/Padder.java @@ -127,7 +127,7 @@ public class Padder { ug2 = ug2.apply(backgroundColor.bg()); } final XDimension2D originalDim = orig.calculateDimension(ug.getStringBounder()); - final URectangle rect = new URectangle(originalDim.delta(2 * padding)).rounded(roundCorner); + final URectangle rect = URectangle.build(originalDim.delta(2 * padding)).rounded(roundCorner); ug2.draw(rect); orig.drawU(ug.apply(new UTranslate(padding, padding))); } diff --git a/src/net/sourceforge/plantuml/skin/VisibilityModifier.java b/src/net/sourceforge/plantuml/skin/VisibilityModifier.java index 64d5311a1..7e4db0734 100644 --- a/src/net/sourceforge/plantuml/skin/VisibilityModifier.java +++ b/src/net/sourceforge/plantuml/skin/VisibilityModifier.java @@ -105,7 +105,7 @@ public enum VisibilityModifier { public void drawU(UGraphic ug) { if (withInvisibleRectanble) - ug.apply(HColors.none()).draw(new URectangle(size * 2, size)); + ug.apply(HColors.none()).draw(URectangle.build(size * 2, size)); drawInternal(ug, size, foregroundColor, backgoundColor, 0, 0); } @@ -164,11 +164,11 @@ public enum VisibilityModifier { } private void drawSquare(UGraphic ug, boolean filled, int size, double x, double y) { - ug.apply(new UTranslate(x + 2, y + 2)).draw(new URectangle(size - 4, size - 4)); + ug.apply(new UTranslate(x + 2, y + 2)).draw(URectangle.build(size - 4, size - 4)); } private void drawCircle(UGraphic ug, boolean filled, int size, double x, double y) { - ug.apply(new UTranslate(x + 2, y + 2)).draw(new UEllipse(size - 4, size - 4)); + ug.apply(new UTranslate(x + 2, y + 2)).draw(UEllipse.build(size - 4, size - 4)); } static private int ensureEven(int n) { diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseActiveLine.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseActiveLine.java index 2c253f325..c20e3f433 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseActiveLine.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseActiveLine.java @@ -69,7 +69,7 @@ public class ComponentRoseActiveLine extends AbstractComponent { return; } - final URectangle rect = new URectangle(getPreferredWidth(stringBounder), dimensionToUse.getHeight()); + final URectangle rect = URectangle.build(getPreferredWidth(stringBounder), dimensionToUse.getHeight()); if (symbolContext.isShadowing()) { rect.setDeltaShadow(1); } diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseArrow.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseArrow.java index 3e6cf591a..809f1943a 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseArrow.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseArrow.java @@ -191,7 +191,7 @@ public class ComponentRoseArrow extends AbstractComponentRoseArrow { private void drawDressing1(UGraphic ug, ArrowDressing dressing, ArrowDecoration decoration, double lenFull) { if (decoration == ArrowDecoration.CIRCLE) { - final UEllipse circle = new UEllipse(diamCircle, diamCircle); + final UEllipse circle = UEllipse.build(diamCircle, diamCircle); ug.apply(UStroke.withThickness(thinCircle)).apply(getForegroundColor()) .apply(new UTranslate(-diamCircle / 2 - thinCircle, -diamCircle / 2 - thinCircle / 2)).draw(circle); if (dressing.getHead() != ArrowHead.CROSSX) @@ -228,7 +228,7 @@ public class ComponentRoseArrow extends AbstractComponentRoseArrow { if (decoration == ArrowDecoration.CIRCLE) { ug = ug.apply(UStroke.withThickness(thinCircle)).apply(getForegroundColor()); - final UEllipse circle = new UEllipse(diamCircle, diamCircle); + final UEllipse circle = UEllipse.build(diamCircle, diamCircle); ug.apply(new UTranslate(-diamCircle / 2 + thinCircle, -diamCircle / 2 - thinCircle / 2)).draw(circle); ug = ug.apply(UStroke.simple()); ug = ug.apply(UTranslate.dx(-diamCircle / 2 - thinCircle)); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseDivider.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseDivider.java index d579c9499..0c3227865 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseDivider.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseDivider.java @@ -95,7 +95,7 @@ public class ComponentRoseDivider extends AbstractTextualComponent { ug = ug.apply(borderColor); ug = ug.apply(stroke); - final URectangle rect = new URectangle(textWidth + deltaX, textHeight).rounded(roundCorner); + final URectangle rect = URectangle.build(textWidth + deltaX, textHeight).rounded(roundCorner); rect.setDeltaShadow(shadow); ug.apply(new UTranslate(xpos, ypos)).draw(rect); @@ -110,7 +110,7 @@ public class ComponentRoseDivider extends AbstractTextualComponent { } private void drawRectLong(UGraphic ug, double width) { - final URectangle rectLong = new URectangle(width, 3).rounded(roundCorner); + final URectangle rectLong = URectangle.build(width, 3).rounded(roundCorner); rectLong.setDeltaShadow(shadow); ug = ug.apply(UStroke.simple()); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseEnglober.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseEnglober.java index 68448a325..63e71b85b 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseEnglober.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseEnglober.java @@ -64,7 +64,7 @@ public class ComponentRoseEnglober extends AbstractTextualComponent { protected void drawBackgroundInternalU(UGraphic ug, Area area) { final XDimension2D dimensionToUse = area.getDimensionToUse(); ug = symbolContext.apply(ug); - ug.draw(new URectangle(dimensionToUse.getWidth(), dimensionToUse.getHeight()).rounded(roundCorner)); + ug.draw(URectangle.build(dimensionToUse.getWidth(), dimensionToUse.getHeight()).rounded(roundCorner)); final double xpos = (dimensionToUse.getWidth() - getPureTextWidth(ug.getStringBounder())) / 2; getTextBlock().drawU(ug.apply(UTranslate.dx(xpos))); } diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingElse.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingElse.java index 370007e5c..9b9122a5a 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingElse.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingElse.java @@ -82,9 +82,9 @@ public class ComponentRoseGroupingElse extends AbstractTextualComponent { final double height = dimensionToUse.getHeight(); final UShape rect; if (roundCorner == 0) { - rect = new URectangle(width, height); + rect = URectangle.build(width, height); } else { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(width, 0); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingHeader.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingHeader.java index a0d770455..1bc3f956e 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingHeader.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseGroupingHeader.java @@ -124,7 +124,7 @@ public class ComponentRoseGroupingHeader extends AbstractTextualComponent { protected void drawBackgroundInternalU(UGraphic ug, Area area) { final XDimension2D dimensionToUse = area.getDimensionToUse(); ug = symbolContext.applyStroke(ug).apply(symbolContext.getForeColor()); - final URectangle rect = new URectangle(dimensionToUse.getWidth(), dimensionToUse.getHeight()) + final URectangle rect = URectangle.build(dimensionToUse.getWidth(), dimensionToUse.getHeight()) .rounded(roundCorner); rect.setDeltaShadow(symbolContext.getDeltaShadow()); ug.apply(background.bg()).draw(rect); @@ -140,7 +140,7 @@ public class ComponentRoseGroupingHeader extends AbstractTextualComponent { symbolContextCorner.apply(ug).draw(getCorner(textWidth, textHeight)); ug = symbolContext.applyStroke(ug).apply(symbolContext.getForeColor()); - final URectangle rect = new URectangle(dimensionToUse.getWidth(), dimensionToUse.getHeight()) + final URectangle rect = URectangle.build(dimensionToUse.getWidth(), dimensionToUse.getHeight()) .rounded(roundCorner); ug.draw(rect); @@ -157,7 +157,7 @@ public class ComponentRoseGroupingHeader extends AbstractTextualComponent { } private UPath getCorner(final double width, final double height) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); if (roundCorner == 0) { polygon.moveTo(0, 0); polygon.lineTo(width, 0); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseNoteBox.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseNoteBox.java index cc2787391..d7b98ab2f 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseNoteBox.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseNoteBox.java @@ -96,7 +96,7 @@ final public class ComponentRoseNoteBox extends AbstractTextualComponent { x2 = (int) (area.getDimensionToUse().getWidth() - 2 * getPaddingX()); ug = symbolContext.apply(ug); - final URectangle rect = new URectangle(x2, textHeight).rounded(roundCorner); + final URectangle rect = URectangle.build(x2, textHeight).rounded(roundCorner); rect.setDeltaShadow(symbolContext.getDeltaShadow()); ug.draw(rect); ug = ug.apply(UStroke.simple()); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseParticipant.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseParticipant.java index 8577fed9f..8028a5762 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseParticipant.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseParticipant.java @@ -90,7 +90,7 @@ public class ComponentRoseParticipant extends AbstractTextualComponent { if (back != null) ug = ug.apply(back.bg()); ug = ug.apply(stroke); - final Shadowable rect = new URectangle(getTextWidth(stringBounder), getTextHeight(stringBounder)) + final Shadowable rect = URectangle.build(getTextWidth(stringBounder), getTextHeight(stringBounder)) .rounded(roundCorner).diagonalCorner(diagonalCorner); rect.setDeltaShadow(deltaShadow); if (collections) { diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseReference.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseReference.java index c519851f2..2a781f8fa 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseReference.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseReference.java @@ -88,7 +88,7 @@ public class ComponentRoseReference extends AbstractTextualComponent { final int textHeaderWidth = (int) (getHeaderWidth(stringBounder)); final int textHeaderHeight = (int) (getHeaderHeight(stringBounder)); - URectangle rect = new URectangle(dimensionToUse.getWidth() - xMargin * 2 - symbolContextBody.getDeltaShadow(), + URectangle rect = URectangle.build(dimensionToUse.getWidth() - xMargin * 2 - symbolContextBody.getDeltaShadow(), dimensionToUse.getHeight() - heightFooter); if (this.roundCorner != 0) rect = rect.rounded(this.roundCorner); @@ -97,7 +97,7 @@ public class ComponentRoseReference extends AbstractTextualComponent { ug = symbolContextBody.apply(ug); ug.apply(UTranslate.dx(xMargin)).draw(rect); - final UPath corner = new UPath(); + final UPath corner = UPath.none(); if (this.roundCorner == 0) { corner.moveTo(0, 0); corner.lineTo(textHeaderWidth, 0); diff --git a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseSelfArrow.java b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseSelfArrow.java index 140ec2d1c..5f28a2f3f 100644 --- a/src/net/sourceforge/plantuml/skin/rose/ComponentRoseSelfArrow.java +++ b/src/net/sourceforge/plantuml/skin/rose/ComponentRoseSelfArrow.java @@ -82,7 +82,7 @@ public class ComponentRoseSelfArrow extends AbstractComponentRoseArrow { double x2 = area.getDeltaX1() > 0 ? -area.getDeltaX1() : 0 + 1; final double arrowHeight = getArrowOnlyHeight(stringBounder); - final UEllipse circle = new UEllipse(ComponentRoseArrow.diamCircle, ComponentRoseArrow.diamCircle); + final UEllipse circle = UEllipse.build(ComponentRoseArrow.diamCircle, ComponentRoseArrow.diamCircle); if (getArrowConfiguration().getDecoration1() == ArrowDecoration.CIRCLE) { ug2.apply(UStroke.withThickness(ComponentRoseArrow.thinCircle)).apply(getForegroundColor()) .apply(new UTranslate(x1 + 1 - ComponentRoseArrow.diamCircle / 2 - ComponentRoseArrow.thinCircle, diff --git a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java index da41ffb9d..602e52df0 100644 --- a/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java +++ b/src/net/sourceforge/plantuml/sudoku/GraphicsSudoku.java @@ -68,6 +68,7 @@ import net.sourceforge.plantuml.klimt.sprite.SpriteContainerEmpty; import net.sourceforge.plantuml.png.PngIO; public class GraphicsSudoku { + // ::remove folder when __MIT__ private final ISudoku sudoku; private final UFont numberFont = UFont.sansSerif(20).bold(); @@ -97,7 +98,7 @@ public class GraphicsSudoku { public ImageData writeImageSvg(OutputStream os) throws IOException { final SvgOption option = SvgOption.basic().withBackcolor(HColors.WHITE); - final UGraphicSvg ug = new UGraphicSvg(option, false, 0, FileFormat.SVG.getDefaultStringBounder()); + final UGraphicSvg ug = UGraphicSvg.build(option, false, 0, FileFormat.SVG.getDefaultStringBounder()); drawInternal(ug); ug.writeToStream(os, null, -1); // dpi param is not used return ImageDataSimple.ok(); @@ -154,12 +155,12 @@ public class GraphicsSudoku { for (int i = 0; i < 10; i++) { final boolean bold = i % boldWidth == 0; final int w = bold ? boldWidth : 1; - ug.apply(UTranslate.dy(i * cellHeight)).draw(new URectangle(9 * cellWidth + boldWidth, w)); + ug.apply(UTranslate.dy(i * cellHeight)).draw(URectangle.build(9 * cellWidth + boldWidth, w)); } for (int i = 0; i < 10; i++) { final boolean bold = i % boldWidth == 0; final int w = bold ? boldWidth : 1; - ug.apply(UTranslate.dx(i * cellWidth)).draw(new URectangle(w, 9 * cellHeight + boldWidth)); + ug.apply(UTranslate.dx(i * cellWidth)).draw(URectangle.build(w, 9 * cellHeight + boldWidth)); } ug = ug.apply(UTranslate.dy(sudoHeight)); diff --git a/src/net/sourceforge/plantuml/svek/Boundary.java b/src/net/sourceforge/plantuml/svek/Boundary.java index e8ea957ac..6f93f3342 100644 --- a/src/net/sourceforge/plantuml/svek/Boundary.java +++ b/src/net/sourceforge/plantuml/svek/Boundary.java @@ -64,15 +64,15 @@ public class Boundary extends AbstractTextBlock { x += margin; y += margin; ug = symbolContext.apply(ug); - final UEllipse circle = new UEllipse(radius * 2, radius * 2); + final UEllipse circle = UEllipse.build(radius * 2, radius * 2); circle.setDeltaShadow(symbolContext.getDeltaShadow()); - final UPath path1 = new UPath(); + final UPath path1 = UPath.none(); path1.moveTo(0, 0); path1.lineTo(0, radius * 2); path1.setDeltaShadow(symbolContext.getDeltaShadow()); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(0, radius * 2); path.moveTo(0, radius); diff --git a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java index c860d2cfa..41a17207a 100644 --- a/src/net/sourceforge/plantuml/svek/CircleAndArrow.java +++ b/src/net/sourceforge/plantuml/svek/CircleAndArrow.java @@ -83,7 +83,7 @@ class CircleAndArrow implements UDrawable { } public void drawU(UGraphic ug) { - final UShape circle = new UEllipse(radius * 2, radius * 2); + final UShape circle = UEllipse.build(radius * 2, radius * 2); ug.apply(new UTranslate(center.getX() - radius, center.getY() - radius)).draw(circle); // drawLine(ug, x, y, p1, p2); // drawLine(ug, x, y, p3, p4); diff --git a/src/net/sourceforge/plantuml/svek/CircleInterface2.java b/src/net/sourceforge/plantuml/svek/CircleInterface2.java index 597ddda78..bd9b4564f 100644 --- a/src/net/sourceforge/plantuml/svek/CircleInterface2.java +++ b/src/net/sourceforge/plantuml/svek/CircleInterface2.java @@ -67,7 +67,7 @@ public class CircleInterface2 extends AbstractTextBlock implements TextBlock { x += margin; y += margin; ug = ug.apply(backgroundColor.bg()).apply(foregroundColor); - final UEllipse circle = new UEllipse(radius * 2, radius * 2); + final UEllipse circle = UEllipse.build(radius * 2, radius * 2); circle.setDeltaShadow(deltaShadow); ug.apply(new UTranslate(x, y)).draw(circle); } diff --git a/src/net/sourceforge/plantuml/svek/Cluster.java b/src/net/sourceforge/plantuml/svek/Cluster.java index c4205e22b..1f0e0be25 100644 --- a/src/net/sourceforge/plantuml/svek/Cluster.java +++ b/src/net/sourceforge/plantuml/svek/Cluster.java @@ -458,7 +458,7 @@ public class Cluster implements Moveable { } public void setPosition(XPoint2D min, XPoint2D max) { - this.rectangleArea = new RectangleArea(min, max); + this.rectangleArea = RectangleArea.build(min, max); } // ::comment when __CORE__ diff --git a/src/net/sourceforge/plantuml/svek/Control.java b/src/net/sourceforge/plantuml/svek/Control.java index 1b22672e9..be2bf1043 100644 --- a/src/net/sourceforge/plantuml/svek/Control.java +++ b/src/net/sourceforge/plantuml/svek/Control.java @@ -63,7 +63,7 @@ public class Control extends AbstractTextBlock implements TextBlock { x += margin; y += margin; ug = symbolContext.apply(ug); - final UEllipse circle = new UEllipse(radius * 2, radius * 2); + final UEllipse circle = UEllipse.build(radius * 2, radius * 2); circle.setDeltaShadow(symbolContext.getDeltaShadow()); ug.apply(new UTranslate(x, y)).draw(circle); ug = ug.apply(UStroke.simple()); diff --git a/src/net/sourceforge/plantuml/svek/EntityDomain.java b/src/net/sourceforge/plantuml/svek/EntityDomain.java index 07fd3ba99..7e6bd6459 100644 --- a/src/net/sourceforge/plantuml/svek/EntityDomain.java +++ b/src/net/sourceforge/plantuml/svek/EntityDomain.java @@ -63,7 +63,7 @@ public class EntityDomain extends AbstractTextBlock implements TextBlock { x += margin; y += margin; ug = symbolContext.apply(ug); - final UEllipse circle = new UEllipse(radius * 2, radius * 2); + final UEllipse circle = UEllipse.build(radius * 2, radius * 2); circle.setDeltaShadow(symbolContext.getDeltaShadow()); ug.apply(new UTranslate(x, y)).draw(circle); ug.apply(new UTranslate(x, y + 2 * radius + suppY)).draw(ULine.hline(2 * radius)); diff --git a/src/net/sourceforge/plantuml/svek/InnerActivity.java b/src/net/sourceforge/plantuml/svek/InnerActivity.java index a616a31f3..9f1a4ddeb 100644 --- a/src/net/sourceforge/plantuml/svek/InnerActivity.java +++ b/src/net/sourceforge/plantuml/svek/InnerActivity.java @@ -63,7 +63,7 @@ public final class InnerActivity extends AbstractTextBlock implements IEntityIma final XDimension2D total = calculateDimension(ug.getStringBounder()); ug = ug.apply(backColor.bg()).apply(borderColor).apply(UStroke.withThickness(THICKNESS_BORDER)); - final URectangle rect = new URectangle(total.getWidth(), total.getHeight()).rounded(IEntityImage.CORNER); + final URectangle rect = URectangle.build(total.getWidth(), total.getHeight()).rounded(IEntityImage.CORNER); rect.setDeltaShadow(shadowing); ug.draw(rect); ug = ug.apply(UStroke.simple()); diff --git a/src/net/sourceforge/plantuml/svek/Kal.java b/src/net/sourceforge/plantuml/svek/Kal.java index 3c240b766..94df3f10b 100644 --- a/src/net/sourceforge/plantuml/svek/Kal.java +++ b/src/net/sourceforge/plantuml/svek/Kal.java @@ -103,7 +103,7 @@ public class Kal implements UDrawable { @Override public void drawU(UGraphic ug) { - final URectangle rect = new URectangle(dim); + final URectangle rect = URectangle.build(dim); ug = ug.apply(getTranslate()); ug.apply(HColors.WHITE.bg()).apply(HColors.BLACK).apply(UStroke.withThickness(0.5)).draw(rect); textBlock.drawU(ug.apply(new UTranslate(2, 1))); diff --git a/src/net/sourceforge/plantuml/svek/PackageStyle.java b/src/net/sourceforge/plantuml/svek/PackageStyle.java index 6922f0705..d05fd0d56 100644 --- a/src/net/sourceforge/plantuml/svek/PackageStyle.java +++ b/src/net/sourceforge/plantuml/svek/PackageStyle.java @@ -142,7 +142,7 @@ public enum PackageStyle { } private void drawStorage(UGraphic ug, double width, double height, boolean shadowing) { - final URectangle shape = new URectangle(width, height).rounded(70); + final URectangle shape = URectangle.build(width, height).rounded(70); if (shadowing) { shape.setDeltaShadow(3.0); } @@ -151,12 +151,12 @@ public enum PackageStyle { private void drawComponent1(UGraphic ug, double widthTotal, double heightTotal, boolean shadowing) { - final URectangle form = new URectangle(widthTotal, heightTotal); + final URectangle form = URectangle.build(widthTotal, heightTotal); if (shadowing) { form.setDeltaShadow(4); } - final UShape small = new URectangle(10, 5); + final UShape small = URectangle.build(10, 5); ug.draw(form); @@ -167,13 +167,13 @@ public enum PackageStyle { private void drawComponent2(UGraphic ug, double widthTotal, double heightTotal, boolean shadowing) { - final URectangle form = new URectangle(widthTotal, heightTotal); + final URectangle form = URectangle.build(widthTotal, heightTotal); if (shadowing) { form.setDeltaShadow(4); } - final UShape small = new URectangle(15, 10); - final UShape tiny = new URectangle(4, 2); + final UShape small = URectangle.build(15, 10); + final UShape tiny = URectangle.build(4, 2); ug.draw(form); @@ -184,7 +184,7 @@ public enum PackageStyle { } private void drawRect(UGraphic ug, double width, double height, boolean shadowing) { - final URectangle shape = new URectangle(width, height); + final URectangle shape = URectangle.build(width, height); if (shadowing) { shape.setDeltaShadow(3.0); } @@ -200,7 +200,7 @@ public enum PackageStyle { } private UPath getSpecificFrontierForCloud(double width, double height) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 10); double x = 0; for (int i = 0; i < width - 9; i += 10) { @@ -226,7 +226,7 @@ public enum PackageStyle { } private void drawFrame(UGraphic ug, double width, double height, XDimension2D dimTitle, boolean shadowing) { - final URectangle shape = new URectangle(width, height); + final URectangle shape = URectangle.build(width, height); if (shadowing) { shape.setDeltaShadow(3.0); } @@ -246,7 +246,7 @@ public enum PackageStyle { cornersize = 10; } - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); polygon.moveTo(textWidth, 1); polygon.lineTo(textWidth, textHeight - cornersize); @@ -277,7 +277,7 @@ public enum PackageStyle { } private void drawDatabase(UGraphic ug, double width, double height, boolean shadowing) { - final UPath shape = new UPath(); + final UPath shape = UPath.none(); if (shadowing) { shape.setDeltaShadow(3.0); } @@ -291,7 +291,7 @@ public enum PackageStyle { ug.draw(shape); - final UPath closing = new UPath(); + final UPath closing = UPath.none(); closing.moveTo(0, 10); closing.cubicTo(10, 20, width / 2 - 10, 20, width / 2, 20); closing.cubicTo(width / 2 + 10, 20, width - 10, 20, width, 10); @@ -316,7 +316,7 @@ public enum PackageStyle { ug.apply(new UTranslate(xTheoricalPosition, yTheoricalPosition)).draw(shape); ug.apply(new UTranslate(xTheoricalPosition + width - 10, yTheoricalPosition + 10)).draw(new ULine(9, -9)); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(width - 10, 0); path.lineTo(width - 10, height - 10); diff --git a/src/net/sourceforge/plantuml/svek/RoundedContainer.java b/src/net/sourceforge/plantuml/svek/RoundedContainer.java index 4cf4f5e8a..a01107937 100644 --- a/src/net/sourceforge/plantuml/svek/RoundedContainer.java +++ b/src/net/sourceforge/plantuml/svek/RoundedContainer.java @@ -74,7 +74,7 @@ public final class RoundedContainer { public void drawU(UGraphic ug) { ug = ug.apply(backColor.bg()).apply(borderColor).apply(stroke); - final URectangle rect = new URectangle(dim.getWidth(), dim.getHeight()).rounded(rounded); + final URectangle rect = URectangle.build(dim.getWidth(), dim.getHeight()).rounded(rounded); if (shadowing > 0) { rect.setDeltaShadow(shadowing); diff --git a/src/net/sourceforge/plantuml/svek/RoundedNorth.java b/src/net/sourceforge/plantuml/svek/RoundedNorth.java index 5097a8b4e..baac9984b 100644 --- a/src/net/sourceforge/plantuml/svek/RoundedNorth.java +++ b/src/net/sourceforge/plantuml/svek/RoundedNorth.java @@ -68,9 +68,9 @@ public final class RoundedNorth implements UDrawable { final UShape header; if (rounded == 0) { - header = new URectangle(width, height); + header = URectangle.build(width, height); } else { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(rounded / 2, 0); path.lineTo(width - rounded / 2, 0); path.arcTo(rounded / 2, rounded / 2, 0, 0, 1, width, rounded / 2); diff --git a/src/net/sourceforge/plantuml/svek/RoundedSouth.java b/src/net/sourceforge/plantuml/svek/RoundedSouth.java index f1e36cf24..ff1219a1c 100644 --- a/src/net/sourceforge/plantuml/svek/RoundedSouth.java +++ b/src/net/sourceforge/plantuml/svek/RoundedSouth.java @@ -68,9 +68,9 @@ public final class RoundedSouth implements UDrawable { final UShape header; if (rounded == 0) { - header = new URectangle(width, height); + header = URectangle.build(width, height); } else { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(width, 0); path.lineTo(width, height - rounded / 2); diff --git a/src/net/sourceforge/plantuml/svek/SvekLine.java b/src/net/sourceforge/plantuml/svek/SvekLine.java index 0ea2dff27..f2e4b2765 100644 --- a/src/net/sourceforge/plantuml/svek/SvekLine.java +++ b/src/net/sourceforge/plantuml/svek/SvekLine.java @@ -802,7 +802,7 @@ public class SvekLine implements Moveable, Hideable, GuideLine { if (link.getLinkConstraint() != null) { final double xConstraint = x + this.labelXY.getPosition().getX(); final double yConstraint = y + this.labelXY.getPosition().getY(); -// ug.apply(new UTranslate(xConstraint, yConstraint)).draw(new URectangle(10, 10)); +// ug.apply(new UTranslate(xConstraint, yConstraint)).draw(URectangle.build(10, 10)); final List square = getSquare(xConstraint, yConstraint); final Set bez = todraw.sample(); XPoint2D minPt = null; diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java index d056e8b79..941368f0f 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityArrowAndCircle.java @@ -79,7 +79,7 @@ class ExtremityArrowAndCircle extends Extremity { ug.apply(HColors.changeBack(ug)).draw(polygon); ug.apply(UStroke.withThickness(1.5)).apply(backgroundColor.bg()) .apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)) - .draw(new UEllipse(radius * 2, radius * 2)); + .draw(UEllipse.build(radius * 2, radius * 2)); } } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java index 77a3cadf7..bb30b8ea8 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircle.java @@ -80,7 +80,7 @@ class ExtremityCircle extends Extremity { } ug = ug.apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)); - ug.draw(new UEllipse(radius * 2, radius * 2)); + ug.draw(UEllipse.build(radius * 2, radius * 2)); } } \ No newline at end of file diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java index b7fb9ae9b..f4b51d4bd 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleConnect.java @@ -67,7 +67,7 @@ class ExtremityCircleConnect extends Extremity { public void drawU(UGraphic ug) { ug = ug.apply(UStroke.withThickness(1.5)).apply(backgroundColor.bg()); - ug.apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)).draw(new UEllipse(radius * 2, radius * 2)); + ug.apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)).draw(UEllipse.build(radius * 2, radius * 2)); final double deg = -ortho * 180 / Math.PI + 90 - 45; final UEllipse arc1 = new UEllipse(2 * radius2, 2 * radius2, deg, 90); diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java index c7ad73adc..7e5dab1bc 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCross.java @@ -66,7 +66,7 @@ class ExtremityCircleCross extends Extremity { public void drawU(UGraphic ug) { ug = ug.apply(backgroundColor.bg()); ug.apply(UStroke.withThickness(1.5)).apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)) - .draw(new UEllipse(radius * 2, radius * 2)); + .draw(UEllipse.build(radius * 2, radius * 2)); drawLine(ug, 0, 0, getPointOnCircle(Math.PI / 4), getPointOnCircle(Math.PI + Math.PI / 4)); drawLine(ug, 0, 0, getPointOnCircle(-Math.PI / 4), getPointOnCircle(Math.PI - Math.PI / 4)); } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCrowfoot.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCrowfoot.java index 4cca693d1..17c84495b 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCrowfoot.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleCrowfoot.java @@ -78,7 +78,7 @@ class ExtremityCircleCrowfoot extends Extremity { drawLine(ug, contact.getX(), contact.getY(), base, right); drawLine(ug, contact.getX(), contact.getY(), base, middle); ug.apply(new UTranslate(contact.getX() + circleBase.getX() - radius, - contact.getY() + circleBase.getY() - radius)).draw(new UEllipse(2 * radius, 2 * radius)); + contact.getY() + circleBase.getY() - radius)).draw(UEllipse.build(2 * radius, 2 * radius)); } static private void drawLine(UGraphic ug, double x, double y, XPoint2D p1, XPoint2D p2) { diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleLine.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleLine.java index 70c0b4ff5..f0a930022 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleLine.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityCircleLine.java @@ -80,7 +80,7 @@ class ExtremityCircleLine extends Extremity { drawLine(ug, contact.getX(), contact.getY(), base, middle); final UStroke stroke = UStroke.withThickness(thickness); ug.apply(new UTranslate(contact.getX() + circleBase.getX() - radius, - contact.getY() + circleBase.getY() - radius)).apply(stroke).draw(new UEllipse(2 * radius, 2 * radius)); + contact.getY() + circleBase.getY() - radius)).apply(stroke).draw(UEllipse.build(2 * radius, 2 * radius)); drawLine(ug.apply(stroke), contact.getX(), contact.getY(), lineTop, lineBottom); } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityExtendsLike.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityExtendsLike.java index 3a6c3ac0b..9e2460c33 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityExtendsLike.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityExtendsLike.java @@ -134,7 +134,7 @@ abstract class ExtremityExtendsLike extends Extremity { this.pos2 = getDotPos(XSUFFIX, +w, angle, DOTHSIZE, porig); double s = DOTHSIZE + DOTHSIZE; - this.dot = new UEllipse(s, s); + this.dot = UEllipse.build(s, s); } public void drawU(UGraphic ug) { diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityNotNavigable.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityNotNavigable.java index 9500e5cab..4b4cec21f 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityNotNavigable.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityNotNavigable.java @@ -41,7 +41,7 @@ import net.sourceforge.plantuml.klimt.geom.XPoint2D; class ExtremityNotNavigable extends Extremity { - private UPath path = new UPath(); + private UPath path = UPath.none(); private final XPoint2D contact; @Override diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java index 7ae6582a8..ccf066880 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis.java @@ -62,7 +62,8 @@ class ExtremityParenthesis extends Extremity { public void drawU(UGraphic ug) { final double deg = -ortho * 180 / Math.PI + 90 - ang; final UEllipse arc1 = new UEllipse(2 * radius2, 2 * radius2, deg, 2 * ang); - ug.apply(UStroke.withThickness(1.5)).apply(new UTranslate(dest.getX() - radius2, dest.getY() - radius2)).draw(arc1); + ug.apply(UStroke.withThickness(1.5)).apply(new UTranslate(dest.getX() - radius2, dest.getY() - radius2)) + .draw(arc1); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java index 87e401489..30070d0a1 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityParenthesis2.java @@ -77,7 +77,7 @@ class ExtremityParenthesis2 extends Extremity { // ug.apply(UChangeColor.nnn(HtmlColorUtils.BLACK)).apply(new // UTranslate(center.getX(), // center.getY())).draw(line); - // // final UEllipse arc1 = new UEllipse(2 * radius2, 2 * radius2, deg, 2 * + // // final UEllipse arc1 = UEllipse.build(2 * radius2, 2 * radius2, deg, 2 * // ang); // // ug.apply(UStroke.withThickness(1.5)).apply(new UTranslate(dest.getX() - radius2, // dest.getY() - radius2)).draw(arc1); diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java index ba341ea68..628154a90 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityPlus.java @@ -54,7 +54,7 @@ class ExtremityPlus extends Extremity { private ExtremityPlus(double x, double y, double angle, HColor backgroundColor) { this.angle = angle; - this.circle = new UEllipse(2 * radius, 2 * radius); + this.circle = UEllipse.build(2 * radius, 2 * radius); this.px = x; this.py = y; this.backgroundColor = backgroundColor; diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquare.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquare.java index 217a148f3..7534ee629 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquare.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremitySquare.java @@ -62,7 +62,7 @@ class ExtremitySquare extends Extremity { public void drawU(UGraphic ug) { ug.apply(UStroke.withThickness(1.5)).apply(backgroundColor.bg()) .apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)) - .draw(new URectangle(radius * 2, radius * 2)); + .draw(URectangle.build(radius * 2, radius * 2)); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java index a8f67a76b..ad3a6daa9 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine1.java @@ -76,7 +76,7 @@ class ExtremityStateLine1 extends Extremity { .apply(new UTranslate(-radius * Math.cos(angle), -radius * Math.sin(angle))).draw(polygon); ug = ug.apply(HColors.WHITE.bg()); ug.apply(UStroke.withThickness(1.5)).apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)) - .draw(new UEllipse(radius * 2, radius * 2)); + .draw(UEllipse.build(radius * 2, radius * 2)); drawLine(ug, getPointOnCircle(dest.getX(), dest.getY(), Math.PI / 4), getPointOnCircle(dest.getX(), dest.getY(), Math.PI + Math.PI / 4)); drawLine(ug, getPointOnCircle(dest.getX(), dest.getY(), -Math.PI / 4), diff --git a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java index c3562218d..34088f016 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java +++ b/src/net/sourceforge/plantuml/svek/extremity/ExtremityStateLine2.java @@ -75,7 +75,7 @@ class ExtremityStateLine2 extends Extremity { .apply(new UTranslate(-radius * Math.cos(angle), -radius * Math.sin(angle))).draw(polygon); ug.apply(UStroke.withThickness(1.5)).apply(HColors.WHITE.bg()) .apply(new UTranslate(dest.getX() - radius, dest.getY() - radius)) - .draw(new UEllipse(radius * 2, radius * 2)); + .draw(UEllipse.build(radius * 2, radius * 2)); } } diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java index 848768614..c8e387b5b 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircle.java @@ -45,7 +45,7 @@ import net.sourceforge.plantuml.klimt.shape.UEllipse; class MiddleCircle extends Extremity { private final double radius = 6; - private final UEllipse circle = new UEllipse(2 * radius, 2 * radius); + private final UEllipse circle = UEllipse.build(2 * radius, 2 * radius); private final HColor backColor; public MiddleCircle(HColor backColor) { diff --git a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java index b7d82d378..cc70faf60 100644 --- a/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java +++ b/src/net/sourceforge/plantuml/svek/extremity/MiddleCircleCircled.java @@ -49,10 +49,10 @@ class MiddleCircleCircled extends Extremity { private final double angle; private final MiddleCircleCircledMode mode; private final double radius1 = 6; - private final UEllipse circle = new UEllipse(2 * radius1, 2 * radius1); + private final UEllipse circle = UEllipse.build(2 * radius1, 2 * radius1); private final double radius2 = 10; - private final UEllipse bigcircle = new UEllipse(2 * radius2, 2 * radius2); + private final UEllipse bigcircle = UEllipse.build(2 * radius2, 2 * radius2); private final HColor backColor; public MiddleCircleCircled(double angle, MiddleCircleCircledMode mode, HColor backColor, HColor diagramBackColor) { diff --git a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java index 0b1fc05bc..b2af65a90 100644 --- a/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java +++ b/src/net/sourceforge/plantuml/svek/image/ConnectedCircle.java @@ -56,7 +56,7 @@ public class ConnectedCircle implements UDrawable { } public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(2 * radius, 2 * radius); + final UEllipse circle = UEllipse.build(2 * radius, 2 * radius); // ug.draw(circle); for (Double angle : angles) { final double delta = 30; @@ -66,7 +66,7 @@ public class ConnectedCircle implements UDrawable { ug = ug.apply(HColors.GREEN).apply(HColors.GREEN.bg()); for (XPoint2D pt : points) { final UTranslate tr = UTranslate.point(pt); - // ug.apply(tr).draw(new UEllipse(2, 2)); + // ug.apply(tr).draw(UEllipse.build(2, 2)); } } diff --git a/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java b/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java index 11ef61f22..ff0c1d8fc 100644 --- a/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java +++ b/src/net/sourceforge/plantuml/svek/image/ContainingEllipse.java @@ -74,7 +74,7 @@ public class ContainingEllipse { } public UEllipse asUEllipse() { - final UEllipse ellipse = new UEllipse(getWidth(), getHeight()); + final UEllipse ellipse = UEllipse.build(getWidth(), getHeight()); ellipse.setDeltaShadow(deltaShadow); return ellipse; } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java b/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java index 0094d36b1..4ceb11012 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageActivity.java @@ -124,7 +124,7 @@ public class EntityImageActivity extends AbstractEntityImage { final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(CORNER); + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(CORNER); rect.setDeltaShadow(shadowing); ug = applyColors(ug); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java index 06be2a187..9bb7d62f2 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageAssociationPoint.java @@ -69,7 +69,7 @@ public class EntityImageAssociationPoint extends AbstractEntityImage { } final public void drawU(UGraphic ug) { - final UShape circle = new UEllipse(SIZE, SIZE); + final UShape circle = UEllipse.build(SIZE, SIZE); final HColor color = getStyle().value(PName.LineColor).asColor(getSkinParam().getIHtmlColorSet()); ug.apply(color).apply(new CopyForegroundColorToBackgroundColor()).draw(circle); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java index d7693dab6..57ee80d9c 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleEnd.java @@ -70,7 +70,7 @@ public class EntityImageCircleEnd extends AbstractEntityImage { } final public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); final Style style = getDefaultStyleDefinitionCircle().getMergedStyle(getSkinParam().getCurrentStyleBuilder()); HColor color = getEntity().getColors().getColor(ColorType.BACK); @@ -82,7 +82,7 @@ public class EntityImageCircleEnd extends AbstractEntityImage { ug.apply(HColors.none().bg()).apply(color).draw(circle); final double delta = 4; - final UShape circleSmall = new UEllipse(SIZE - delta * 2, SIZE - delta * 2); + final UShape circleSmall = UEllipse.build(SIZE - delta * 2, SIZE - delta * 2); ug.apply(color.bg()).apply(HColors.none()).apply(new UTranslate(delta + 0.5, delta + 0.5)).draw(circleSmall); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java index 32ee44fff..f4bd44a20 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageCircleStart.java @@ -68,7 +68,7 @@ public class EntityImageCircleStart extends AbstractEntityImage { } final public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); final Style style = getDefaultStyleDefinitionCircle().getMergedStyle(getSkinParam().getCurrentStyleBuilder()); HColor color = getEntity().getColors().getColor(ColorType.BACK); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java b/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java index e55c3df49..ff110e22a 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageClass.java @@ -180,7 +180,7 @@ public class EntityImageClass extends AbstractEntityImage implements Stencil, Wi final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(roundCorner) + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(roundCorner) .withCommentAndCodeLine(getEntity().getName(), getEntity().getCodeLine()); double shadow = 0; @@ -212,14 +212,14 @@ public class EntityImageClass extends AbstractEntityImage implements Stencil, Wi UGraphic ugHeader = ug; if (roundCorner == 0 && headerBackcolor != null && backcolor.equals(headerBackcolor) == false) { ug.apply(stroke).draw(rect); - final Shadowable rect2 = new URectangle(widthTotal, dimHeader.getHeight()); + final Shadowable rect2 = URectangle.build(widthTotal, dimHeader.getHeight()); rect2.setDeltaShadow(0); ugHeader = ugHeader.apply(headerBackcolor.bg()); ugHeader.apply(stroke).draw(rect2); } else if (roundCorner != 0 && headerBackcolor != null && backcolor.equals(headerBackcolor) == false) { ug.apply(stroke).draw(rect); - final Shadowable rect2 = new URectangle(widthTotal, dimHeader.getHeight()).rounded(roundCorner); - final URectangle rect3 = new URectangle(widthTotal, roundCorner / 2); + final Shadowable rect2 = URectangle.build(widthTotal, dimHeader.getHeight()).rounded(roundCorner); + final URectangle rect3 = URectangle.build(widthTotal, roundCorner / 2); rect2.setDeltaShadow(0); rect3.setDeltaShadow(0); ugHeader = ugHeader.apply(headerBackcolor.bg()).apply(headerBackcolor); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageJson.java b/src/net/sourceforge/plantuml/svek/image/EntityImageJson.java index 80693710a..aee45e8e4 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageJson.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageJson.java @@ -151,7 +151,7 @@ public class EntityImageJson extends AbstractEntityImage implements Stencil, Wit final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java index a4153f158..b113897d1 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterface.java @@ -105,7 +105,7 @@ public class EntityImageLollipopInterface extends AbstractEntityImage { if (getEntity().getLeafType() == LeafType.LOLLIPOP_HALF) { circle = new UEllipse(SIZE, SIZE, angle - 90, 180); } else { - circle = new UEllipse(SIZE, SIZE); + circle = UEllipse.build(SIZE, SIZE); if (getSkinParam().shadowing(getEntity().getStereotype())) circle.setDeltaShadow(shadow); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java index 58940e6ea..5e48d3133 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye1.java @@ -89,7 +89,7 @@ public class EntityImageLollipopInterfaceEye1 extends AbstractEntityImage { } final double sizeSmall = 14; final double diff = (SIZE - sizeSmall) / 2; - final UEllipse circle1 = new UEllipse(sizeSmall, sizeSmall); + final UEllipse circle1 = UEllipse.build(sizeSmall, sizeSmall); if (getSkinParam().shadowing(getEntity().getStereotype())) { // circle.setDeltaShadow(4); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java index 75ac69bd7..b40c7bffc 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageLollipopInterfaceEye2.java @@ -121,7 +121,7 @@ public class EntityImageLollipopInterfaceEye2 extends AbstractEntityImage { if (url != null) { ug.startUrl(url); } - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); if (getSkinParam().shadowing(getEntity().getStereotype())) { circle.setDeltaShadow(4); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageMap.java b/src/net/sourceforge/plantuml/svek/image/EntityImageMap.java index 84960c0ea..b9ab0ad6f 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageMap.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageMap.java @@ -153,7 +153,7 @@ public class EntityImageMap extends AbstractEntityImage implements Stencil, With final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); HColor borderColor = lineConfig.getColors().getColor(ColorType.LINE); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); @@ -187,7 +187,7 @@ public class EntityImageMap extends AbstractEntityImage implements Stencil, With ug.apply(stroke).draw(rect); if (roundCorner == 0 && headerBackcolor != null && backcolor.equals(headerBackcolor) == false) { - final Shadowable rect2 = new URectangle(widthTotal, dimTitle.getHeight()); + final Shadowable rect2 = URectangle.build(widthTotal, dimTitle.getHeight()); final UGraphic ugHeader = ug.apply(headerBackcolor.bg()); ugHeader.apply(stroke).draw(rect2); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java index 8ba4d005e..21b431c5e 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageObject.java @@ -161,7 +161,7 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W final double widthTotal = dimTotal.getWidth(); final double heightTotal = dimTotal.getHeight(); - final Shadowable rect = new URectangle(widthTotal, heightTotal).rounded(roundCorner); + final Shadowable rect = URectangle.build(widthTotal, heightTotal).rounded(roundCorner); HColor backcolor = getEntity().getColors().getColor(ColorType.BACK); HColor headerBackcolor = getEntity().getColors().getColor(ColorType.HEADER); @@ -192,7 +192,7 @@ public class EntityImageObject extends AbstractEntityImage implements Stencil, W ug.apply(stroke).draw(rect); if (roundCorner == 0 && headerBackcolor != null && backcolor.equals(headerBackcolor) == false) { - final Shadowable rect2 = new URectangle(widthTotal, dimTitle.getHeight()); + final Shadowable rect2 = URectangle.build(widthTotal, dimTitle.getHeight()); final UGraphic ugHeader = ug.apply(headerBackcolor.bg()); ugHeader.apply(stroke).draw(rect2); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImagePort.java b/src/net/sourceforge/plantuml/svek/image/EntityImagePort.java index 03a359b1c..a2e1ef0d4 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImagePort.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImagePort.java @@ -92,7 +92,7 @@ public class EntityImagePort extends AbstractEntityImageBorder { } private void drawSymbol(UGraphic ug) { - final Shadowable rect = new URectangle(EntityPosition.RADIUS * 2, EntityPosition.RADIUS * 2); + final Shadowable rect = URectangle.build(EntityPosition.RADIUS * 2, EntityPosition.RADIUS * 2); ug.draw(rect); } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java b/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java index 9559149dd..c298e1a3f 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImagePseudoState.java @@ -91,7 +91,7 @@ public class EntityImagePseudoState extends AbstractEntityImage { } final public void drawU(UGraphic ug) { - final UEllipse circle = new UEllipse(SIZE, SIZE); + final UEllipse circle = UEllipse.build(SIZE, SIZE); final Style style = getStyle(); final HColor borderColor = style.value(PName.LineColor).asColor(getSkinParam().getIHtmlColorSet()); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageState.java b/src/net/sourceforge/plantuml/svek/image/EntityImageState.java index 8e253e5a3..8fe66be4f 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageState.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageState.java @@ -136,7 +136,7 @@ public class EntityImageState extends EntityImageStateCommon { public static void drawSymbol(UGraphic ug, double xSymbol, double ySymbol) { xSymbol -= 4 * smallRadius + smallLine + smallMarginX; ySymbol -= 2 * smallRadius + smallMarginY; - final UEllipse small = new UEllipse(2 * smallRadius, 2 * smallRadius); + final UEllipse small = UEllipse.build(2 * smallRadius, 2 * smallRadius); ug.apply(new UTranslate(xSymbol, ySymbol)).draw(small); ug.apply(new UTranslate(xSymbol + smallLine + 2 * smallRadius, ySymbol)).draw(small); ug.apply(new UTranslate(xSymbol + 2 * smallRadius, ySymbol + smallLine)).draw(ULine.hline(smallLine)); diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageStateCommon.java b/src/net/sourceforge/plantuml/svek/image/EntityImageStateCommon.java index 4bac2d275..5020ec0b0 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageStateCommon.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageStateCommon.java @@ -113,7 +113,7 @@ public abstract class EntityImageStateCommon extends AbstractEntityImage { final double corner = getStyleState().value(PName.RoundCorner).asDouble(); final double deltaShadow = getStyleState().value(PName.Shadowing).asDouble(); - final URectangle rect = new URectangle(dimTotal).rounded(corner); + final URectangle rect = URectangle.build(dimTotal).rounded(corner); rect.setDeltaShadow(deltaShadow); return rect; } diff --git a/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java b/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java index 2cda745df..575c830b0 100644 --- a/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java +++ b/src/net/sourceforge/plantuml/svek/image/EntityImageSynchroBar.java @@ -74,7 +74,7 @@ public class EntityImageSynchroBar extends AbstractEntityImage { final public void drawU(UGraphic ug) { final XDimension2D dim = calculateDimension(ug.getStringBounder()); - final Shadowable rect = new URectangle(dim.getWidth(), dim.getHeight()); + final Shadowable rect = URectangle.build(dim.getWidth(), dim.getHeight()); final Style style = getStyleSignature().withTOBECHANGED(getEntity().getStereotype()) .getMergedStyle(getSkinParam().getCurrentStyleBuilder()); diff --git a/src/net/sourceforge/plantuml/svek/image/Opale.java b/src/net/sourceforge/plantuml/svek/image/Opale.java index 2ef75b7d1..6da2ec7d6 100644 --- a/src/net/sourceforge/plantuml/svek/image/Opale.java +++ b/src/net/sourceforge/plantuml/svek/image/Opale.java @@ -131,7 +131,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { } public static UPath getCorner(double width, double roundCorner) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(width - cornersize, 0); if (roundCorner == 0) { path.lineTo(width - cornersize, cornersize); @@ -146,7 +146,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { } public static UPath getPolygonNormal(double width, double height, double roundCorner) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); if (roundCorner == 0) { polygon.moveTo(0, 0); polygon.lineTo(0, height); @@ -172,7 +172,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { private final double delta = 4; private UPath getPolygonLeft(final StringBounder stringBounder, final XPoint2D pp1, final XPoint2D pp2) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); polygon.moveTo(0, roundCorner / 2); double y1 = pp1.getY() - delta; @@ -195,7 +195,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { } private UPath getPolygonRight(final StringBounder stringBounder, final XPoint2D pp1, final XPoint2D pp2) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); polygon.moveTo(0, roundCorner / 2); polygon.lineTo(0, getHeight(stringBounder) - roundCorner / 2); polygon.arcTo(new XPoint2D(roundCorner / 2, getHeight(stringBounder)), roundCorner / 2, 0, 0); @@ -218,7 +218,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { } private UPath getPolygonUp(final StringBounder stringBounder, final XPoint2D pp1, final XPoint2D pp2) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); polygon.moveTo(0, roundCorner / 2); polygon.lineTo(0, getHeight(stringBounder) - roundCorner / 2); polygon.arcTo(new XPoint2D(roundCorner / 2, getHeight(stringBounder)), roundCorner / 2, 0, 0); @@ -241,7 +241,7 @@ public class Opale extends AbstractTextBlock implements TextBlock { } private UPath getPolygonDown(final StringBounder stringBounder, final XPoint2D pp1, final XPoint2D pp2) { - final UPath polygon = new UPath(); + final UPath polygon = UPath.none(); polygon.moveTo(0, roundCorner / 2); polygon.lineTo(0, getHeight(stringBounder) - roundCorner / 2); polygon.arcTo(new XPoint2D(roundCorner / 2, getHeight(stringBounder)), roundCorner / 2, 0, 0); diff --git a/src/net/sourceforge/plantuml/swing/FontChecker.java b/src/net/sourceforge/plantuml/swing/FontChecker.java index 5fdf0d4e3..ce1d6539d 100644 --- a/src/net/sourceforge/plantuml/swing/FontChecker.java +++ b/src/net/sourceforge/plantuml/swing/FontChecker.java @@ -178,10 +178,10 @@ public class FontChecker { final UDrawable drawable = new UDrawable() { public void drawU(UGraphic ug) { ug = ug.apply(HColors.BLACK); - ug.draw(new URectangle(dim - 1, dim - 1)); + ug.draw(URectangle.build(dim - 1, dim - 1)); if (!(ug instanceof LimitFinder)) { ug = ug.apply(new UTranslate(dim / 3, 2 * dim / 3)); - final UText text = new UText("" + c, FontConfiguration.blackBlueTrue(font)); + final UText text = UText.build("" + c, FontConfiguration.blackBlueTrue(font)); ug.draw(text); } } @@ -195,7 +195,7 @@ public class FontChecker { // UGraphic2 ug = new FileFormatOption(FileFormat.PNG).createUGraphic(new // Dimension2DDouble(dim, dim)); // ug = (UGraphic2) ug.apply(UChangeColor.nnn(HtmlColorUtils.BLACK)); - // ug.draw(new URectangle(dim - 1, dim - 1)); + // ug.draw(URectangle.build(dim - 1, dim - 1)); // ug = (UGraphic2) ug.apply(new UTranslate(dim / 3, 2 * dim / 3)); // final UText text = new UText("" + c, FontConfiguration.create(font, // HtmlColorUtils.BLACK)); diff --git a/src/net/sourceforge/plantuml/timingdiagram/Highlight.java b/src/net/sourceforge/plantuml/timingdiagram/Highlight.java index 9a1215e23..09651a748 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/Highlight.java +++ b/src/net/sourceforge/plantuml/timingdiagram/Highlight.java @@ -120,7 +120,7 @@ public class Highlight { ug = ug.apply(HColors.none()).apply(getBackColor().bg()); final double start = ruler.getPosInPixel(this.getTickFrom()); final double end = ruler.getPosInPixel(this.getTickTo()); - final URectangle rect = new URectangle(end - start, height); + final URectangle rect = URectangle.build(end - start, height); ug.apply(UTranslate.dx(start)).draw(rect); } diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java index 29bef232a..8283714da 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/Histogram.java @@ -318,7 +318,7 @@ public class Histogram implements PDrawing { final double maxY = Math.max(pt1.getY(), pt2.getY()); final XPoint2D pt = new XPoint2D(pt1.getX(), minY); ug = ug.apply(UTranslate.point(pt)); - ug.draw(new URectangle(len, maxY - minY)); + ug.draw(URectangle.build(len, maxY - minY)); for (double x = 0; x < len; x += 5) ug.apply(UTranslate.dx(x)).draw(ULine.vline(maxY - minY)); diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaAShape.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaAShape.java index c873a44d5..228d79eea 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaAShape.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaAShape.java @@ -68,7 +68,7 @@ public class PentaAShape implements UDrawable { context.withForeColor(context.getBackColor()).apply(ug).draw(polygon); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(width - delta, 0); path.lineTo(width, height / 2); diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaBShape.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaBShape.java index c7e2a6fc2..accea5980 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaBShape.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/PentaBShape.java @@ -68,7 +68,7 @@ public class PentaBShape implements UDrawable { context.withForeColor(context.getBackColor()).apply(ug).draw(polygon); - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(width, 0); path.lineTo(delta, 0); path.lineTo(0, height / 2); diff --git a/src/net/sourceforge/plantuml/timingdiagram/graphic/Ribbon.java b/src/net/sourceforge/plantuml/timingdiagram/graphic/Ribbon.java index 0bca57de4..e80df555f 100644 --- a/src/net/sourceforge/plantuml/timingdiagram/graphic/Ribbon.java +++ b/src/net/sourceforge/plantuml/timingdiagram/graphic/Ribbon.java @@ -281,7 +281,7 @@ public class Ribbon implements PDrawing { ug = context.apply(ug); final double height = getRibbonHeight(); - final URectangle rect = new URectangle(len, height); + final URectangle rect = URectangle.build(len, height); ug.draw(rect); final ULine border = ULine.hline(len); diff --git a/src/net/sourceforge/plantuml/utils/Log.java b/src/net/sourceforge/plantuml/utils/Log.java index a040a14a8..0f52b6bb7 100644 --- a/src/net/sourceforge/plantuml/utils/Log.java +++ b/src/net/sourceforge/plantuml/utils/Log.java @@ -39,29 +39,9 @@ import net.sourceforge.plantuml.OptionFlags; import net.sourceforge.plantuml.ProgressBar; public abstract class Log { - // ::remove file when __HAXE__ - + // ::comment when __HAXE__ private static final long start = System.currentTimeMillis(); - public synchronized static void debug(String s) { - } - - public synchronized static void info(String s) { - // ::comment when __CORE__ - if (OptionFlags.getInstance().isVerbose()) { - ProgressBar.clear(); - System.err.println(format(s)); - } - // ::done - } - - public synchronized static void error(String s) { - // ::comment when __CORE__ - ProgressBar.clear(); - // ::done - System.err.println(s); - } - private static String format(String s) { final long delta = System.currentTimeMillis() - start; // final HealthCheck healthCheck = Performance.getHealthCheck(); @@ -101,20 +81,31 @@ public abstract class Log { sb.append(" Mo - "); sb.append(s); return sb.toString(); - } - + public static void println(Object s) { - // if (header2.get() == null) { - // System.err.println("L = " + s); - // } else { - // System.err.println(header2.get() + " " + s); - // } + } + // ::done + + public synchronized static void debug(String s) { + } + + public synchronized static void info(String s) { + // ::comment when __CORE__ or __HAXE__ + if (OptionFlags.getInstance().isVerbose()) { + ProgressBar.clear(); + System.err.println(format(s)); + } + // ::done + } + + public synchronized static void error(String s) { + // ::comment when __CORE__ or __HAXE__ + ProgressBar.clear(); + // ::done + System.err.println(s); } - // private static final ThreadLocal header2 = new ThreadLocal<>(); - // public static void header(String s) { - // header2.set(s); } } diff --git a/src/net/sourceforge/plantuml/version/License.java b/src/net/sourceforge/plantuml/version/License.java index 5fa90a0a2..97bde284a 100644 --- a/src/net/sourceforge/plantuml/version/License.java +++ b/src/net/sourceforge/plantuml/version/License.java @@ -44,20 +44,24 @@ import net.sourceforge.plantuml.windowsdot.WindowsDotArchive; public enum License { - // ::uncomment when __CORE__ + // ::uncomment when __CORE__ or __MIT__ // MIT; -// -// public static License getCurrent() { -// return MIT; -// } -// // ::done - // ::comment when __CORE__ - + // ::comment when __CORE__ or __MIT__ GPL, GPLV2, LGPL, APACHE, EPL, MIT, BSD; // ::done + public static License getCurrent() { + // ::uncomment when __CORE__ or __MIT__ + // return MIT; + // ::done + + // ::comment when __CORE__ or __MIT__ + return GPL; + // ::done + } + public List getText1(LicenseInfo licenseInfo) { final List text = new ArrayList<>(); header1(text, licenseInfo); @@ -178,7 +182,7 @@ public enum License { } private void end3(final LicenseInfo licenseInfo, final List text) { - // ::comment when __CORE__ + // ::comment when __CORE__ or __MIT__ if (this == License.GPL) addGpl(licenseInfo, text); else if (this == License.GPLV2) @@ -186,7 +190,7 @@ public enum License { else if (this == License.MIT) // ::done addMit(licenseInfo, text); - // ::comment when __CORE__ + // ::comment when __CORE__ or __MIT__ else if (this == License.EPL) addEpl(licenseInfo, text); else if (this == License.BSD) @@ -197,7 +201,9 @@ public enum License { addLgpl(licenseInfo, text); else throw new IllegalStateException(); + // ::done + // ::comment when __CORE__ if (OptionFlags.getInstance().isEnableStats()) { text.add(" "); text.add("This version of PlantUML records general local statistics about usage."); @@ -228,11 +234,6 @@ public enum License { } // ::comment when __CORE__ - - public static License getCurrent() { - return GPL; - } - private void addEpl(final LicenseInfo licenseInfo, final List text) { text.add("PlantUML is free software; you can redistribute it and/or modify it"); text.add("under the terms of the Eclipse Public License."); @@ -429,6 +430,7 @@ public enum License { } } + // ::comment when __MIT__ public List getJavaHeader(List contributors) { final List h = new ArrayList<>(); h.add("/* ========================================================================"); @@ -559,6 +561,7 @@ public enum License { h.add(" */"); return Collections.unmodifiableList(h); } + // ::done public List getTextFull() { final List text = new ArrayList<>(); @@ -568,7 +571,4 @@ public enum License { end3(licenseInfo, text); return text; } - - // ::done - } diff --git a/src/net/sourceforge/plantuml/version/Version.java b/src/net/sourceforge/plantuml/version/Version.java index 470ff8483..0faf631cc 100644 --- a/src/net/sourceforge/plantuml/version/Version.java +++ b/src/net/sourceforge/plantuml/version/Version.java @@ -46,7 +46,7 @@ public class Version { private static final int MAJOR_SEPARATOR = 1000000; public static int version() { - return 1202303; + return 1202304; } public static int versionPatched() { @@ -95,7 +95,7 @@ public class Version { } public static long compileTime() { - return 1678383018950L; + return 1678388629831L; } public static String compileTimeString() { diff --git a/src/net/sourceforge/plantuml/webp/BoolDecoder.java b/src/net/sourceforge/plantuml/webp/BoolDecoder.java index 4d4a4344d..2a3b536c3 100644 --- a/src/net/sourceforge/plantuml/webp/BoolDecoder.java +++ b/src/net/sourceforge/plantuml/webp/BoolDecoder.java @@ -22,6 +22,7 @@ import javax.imageio.stream.ImageInputStream; public class BoolDecoder { // ::remove folder when __HAXE__ // ::remove folder when __CORE__ + // ::remove folder when __MIT__ int bit_count; /* # of bits shifted out of value, at most 7 */ ImageInputStream data; private long offset; /* pointer to next compressed data byte */ diff --git a/src/net/sourceforge/plantuml/wire/Block.java b/src/net/sourceforge/plantuml/wire/Block.java index 134b69a53..3e75a8021 100644 --- a/src/net/sourceforge/plantuml/wire/Block.java +++ b/src/net/sourceforge/plantuml/wire/Block.java @@ -135,7 +135,7 @@ public class Block extends AbstractTextBlock { ent.getKey().drawU(ent.getValue().move(ug)); } } - ug.draw(new URectangle(calculateDimension(ug.getStringBounder()))); + ug.draw(URectangle.build(calculateDimension(ug.getStringBounder()))); drawPins(Position.BOTTOM, ug); drawPins(Position.TOP, ug); @@ -163,7 +163,7 @@ public class Block extends AbstractTextBlock { py = calculateDimension(ug.getStringBounder()).getHeight() - 2; } for (String pin : getPins(pos)) { - ug.apply(new UTranslate(px, py)).draw(new UEllipse(4, 4)); + ug.apply(new UTranslate(px, py)).draw(UEllipse.build(4, 4)); if (pos == Position.LEFT || pos == Position.RIGHT) { py += 15; } else { diff --git a/src/net/sourceforge/plantuml/wire/Spot.java b/src/net/sourceforge/plantuml/wire/Spot.java index 5a71703e6..668f92093 100644 --- a/src/net/sourceforge/plantuml/wire/Spot.java +++ b/src/net/sourceforge/plantuml/wire/Spot.java @@ -60,7 +60,7 @@ public class Spot { final UTranslate pos = block.getAbsolutePosition(x, y); final UTranslate tr = pos.compose(new UTranslate(-2, -2)); - final UShape circle = new UEllipse(5, 5); + final UShape circle = UEllipse.build(5, 5); ug = ug.apply(color).apply(color.bg()); ug.apply(tr).draw(circle); diff --git a/src/net/sourceforge/plantuml/wire/WBlock.java b/src/net/sourceforge/plantuml/wire/WBlock.java index c20eaceb1..dbc1b57e0 100644 --- a/src/net/sourceforge/plantuml/wire/WBlock.java +++ b/src/net/sourceforge/plantuml/wire/WBlock.java @@ -249,7 +249,7 @@ public class WBlock { private void drawBox(UGraphic ug) { ug = ug.apply(getBlack()); if (name.length() > 0) { - final URectangle rect = new URectangle(getMaxDimension()); + final URectangle rect = URectangle.build(getMaxDimension()); UGraphic ugRect = ug; if (color != null) { ugRect = ugRect.apply(color.bg()); diff --git a/src/net/sourceforge/plantuml/wire/WLinkHorizontal.java b/src/net/sourceforge/plantuml/wire/WLinkHorizontal.java index 4ec07ca22..04d1b2ca5 100644 --- a/src/net/sourceforge/plantuml/wire/WLinkHorizontal.java +++ b/src/net/sourceforge/plantuml/wire/WLinkHorizontal.java @@ -118,7 +118,7 @@ public class WLinkHorizontal { break; } if (type == WLinkType.NORMAL) - ugText.apply(getWhite()).apply(getWhite().bg()).draw(new URectangle(dimText)); + ugText.apply(getWhite()).apply(getWhite().bg()).draw(URectangle.build(dimText)); textBlock.drawU(ugText); } @@ -127,7 +127,7 @@ public class WLinkHorizontal { private void drawBusArrow(UGraphic ug) { final double dx = destination - start.getDx() - 2; - final UPath path = new UPath(); + final UPath path = UPath.none(); if (direction == WArrowDirection.NONE) { path.moveTo(0, 0); path.lineTo(dx, 0); @@ -181,7 +181,7 @@ public class WLinkHorizontal { private void drawNormalArrow(UGraphic ug) { final double dx = destination - start.getDx() - 2; if (direction == WArrowDirection.BOTH || direction == WArrowDirection.NORMAL) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(-5, -5); path.lineTo(-5, 5); @@ -190,7 +190,7 @@ public class WLinkHorizontal { ug.apply(start.compose(UTranslate.dx(dx))).draw(path); } if (direction == WArrowDirection.BOTH || direction == WArrowDirection.REVERSE) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(5, -5); path.lineTo(5, 5); diff --git a/src/net/sourceforge/plantuml/wire/WLinkVertical.java b/src/net/sourceforge/plantuml/wire/WLinkVertical.java index d0d15b655..a0dfc09d3 100644 --- a/src/net/sourceforge/plantuml/wire/WLinkVertical.java +++ b/src/net/sourceforge/plantuml/wire/WLinkVertical.java @@ -96,7 +96,7 @@ public class WLinkVertical { private void drawBusArrow(UGraphic ug) { final double dy = destination - start.getDy() - 2; - final UPath path = new UPath(); + final UPath path = UPath.none(); if (direction == WArrowDirection.NONE) { path.moveTo(0, 0); path.lineTo(0, dy); @@ -150,7 +150,7 @@ public class WLinkVertical { private void drawNormalArrow(UGraphic ug) { final double dy = destination - start.getDy() - 2; if (direction == WArrowDirection.BOTH || direction == WArrowDirection.NORMAL) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(5, -5); path.lineTo(-5, -5); @@ -159,7 +159,7 @@ public class WLinkVertical { ug.apply(start.compose(UTranslate.dy(dy))).draw(path); } if (direction == WArrowDirection.BOTH || direction == WArrowDirection.REVERSE) { - final UPath path = new UPath(); + final UPath path = UPath.none(); path.moveTo(0, 0); path.lineTo(5, 5); path.lineTo(-5, 5);