From e74c5f849ebf48fd30d160c68b819534ab35b685 Mon Sep 17 00:00:00 2001 From: Arnaud Roques Date: Thu, 2 Jan 2025 18:21:26 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20improved=20diamond=20alignment?= =?UTF-8?q?=20in=20gantt=20diagrams=20https://github.com/plantuml/plantuml?= =?UTF-8?q?/issues/1627?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/net/sourceforge/plantuml/project/GanttArrow.java | 2 +- .../plantuml/project/draw/AbstractTaskDraw.java | 2 +- .../plantuml/project/draw/TaskDrawDiamond.java | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/net/sourceforge/plantuml/project/GanttArrow.java b/src/net/sourceforge/plantuml/project/GanttArrow.java index e90fed1aadb..92e296d107a 100644 --- a/src/net/sourceforge/plantuml/project/GanttArrow.java +++ b/src/net/sourceforge/plantuml/project/GanttArrow.java @@ -182,7 +182,7 @@ private double getX(TaskAttribute taskAttribute, TaskDraw task, Direction direct return task.getX1(taskAttribute); if (direction == Direction.RIGHT) - return task.getX2(taskAttribute); + return task.getX2(taskAttribute) + 2; return (task.getX1(taskAttribute) + (task.getX2(taskAttribute))) / 2; } diff --git a/src/net/sourceforge/plantuml/project/draw/AbstractTaskDraw.java b/src/net/sourceforge/plantuml/project/draw/AbstractTaskDraw.java index b39a59c2a4c..646fb11eb93 100644 --- a/src/net/sourceforge/plantuml/project/draw/AbstractTaskDraw.java +++ b/src/net/sourceforge/plantuml/project/draw/AbstractTaskDraw.java @@ -165,7 +165,7 @@ public final Task getTask() { public final double getY(StringBounder stringBounder, Direction direction) { final Style style = getStyle(); final ClockwiseTopRightBottomLeft margin = style.getMargin(); - final ClockwiseTopRightBottomLeft padding = style.getPadding(); + // final ClockwiseTopRightBottomLeft padding = style.getPadding(); final double y1 = margin.getTop() + getY(stringBounder).getCurrentValue(); final double y2 = y1 + getShapeHeight(stringBounder); diff --git a/src/net/sourceforge/plantuml/project/draw/TaskDrawDiamond.java b/src/net/sourceforge/plantuml/project/draw/TaskDrawDiamond.java index d412619371a..d4aeefaaf5a 100644 --- a/src/net/sourceforge/plantuml/project/draw/TaskDrawDiamond.java +++ b/src/net/sourceforge/plantuml/project/draw/TaskDrawDiamond.java @@ -79,6 +79,10 @@ public double getHeightMax(StringBounder stringBounder) { @Override protected double getShapeHeight(StringBounder stringBounder) { + final String displayString = getTask().getDisplayString(); + if (displayString == null) + return getDiamondHeight(); + final TextBlock title = getTitle(); final XDimension2D titleDim = title.calculateDimension(stringBounder); return Math.max(titleDim.getHeight(), getDiamondHeight()); @@ -127,8 +131,8 @@ final public void drawTitle(UGraphic ug, LabelStrategy labelStrategy, double col @Override protected TextBlock getTitle() { - return Display.getWithNewlines(getStyleBuilder().getSkinParam().getPragma(), prettyDisplay).create(getFontConfiguration(), HorizontalAlignment.LEFT, - new SpriteContainerEmpty()); + return Display.getWithNewlines(getStyleBuilder().getSkinParam().getPragma(), prettyDisplay) + .create(getFontConfiguration(), HorizontalAlignment.LEFT, new SpriteContainerEmpty()); } @Override @@ -154,8 +158,8 @@ public void drawU(UGraphic ug) { ug = ug.apply(UTranslate.dx(delta / 2)); drawShape(applyColors(ug)); } else { - final TextBlock draw = Display.getWithNewlines(getStyleBuilder().getSkinParam().getPragma(), displayString).create(getFontConfiguration(), - HorizontalAlignment.LEFT, new SpriteContainerEmpty()); + final TextBlock draw = Display.getWithNewlines(getStyleBuilder().getSkinParam().getPragma(), displayString) + .create(getFontConfiguration(), HorizontalAlignment.LEFT, new SpriteContainerEmpty()); draw.drawU(ug); } if (url != null)