From b4049c5c461dfcc1709bd5e5468b3001d4e29718 Mon Sep 17 00:00:00 2001 From: Axel Howind Date: Sun, 26 Jan 2025 23:25:40 +0100 Subject: [PATCH] make RenderRotatedText more flexible --- .../utility/samples/graphics/FxGraphicsSample.java | 6 +++++- .../samples/graphics/slides/RenderRotatedText.java | 12 ++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/FxGraphicsSample.java b/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/FxGraphicsSample.java index e0452f6e..39e5b5b5 100644 --- a/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/FxGraphicsSample.java +++ b/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/FxGraphicsSample.java @@ -54,9 +54,13 @@ Tab[] createSlides(float w, float h) { createSlide(DrawText::new, w, h), createSlide(RenderText::new, w, h) )); + double[] angles = { + 0, 45, 90, -45, -90 + }; + for (Graphics.HAnchor hAnchor : Graphics.HAnchor.values()) { for (Graphics.VAnchor vAnchor : Graphics.VAnchor.values()) { - tabs.add(createBigSlide(() -> new RenderRotatedText(hAnchor, vAnchor), w, h)); + tabs.add(createBigSlide(() -> new RenderRotatedText(hAnchor, vAnchor, angles), w, h)); } } return tabs.toArray(Tab[]::new); diff --git a/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/slides/RenderRotatedText.java b/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/slides/RenderRotatedText.java index 50d56e5b..69c44763 100644 --- a/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/slides/RenderRotatedText.java +++ b/utility-samples/utility-samples-graphics/src/main/java/com/dua3/utility/samples/graphics/slides/RenderRotatedText.java @@ -14,8 +14,6 @@ import com.dua3.utility.text.VerticalAlignment; import com.dua3.utility.ui.Graphics; -import java.util.stream.DoubleStream; - public class RenderRotatedText implements FxGraphicsSample.Slide { public static final RichText TEXT = new RichTextBuilder() @@ -37,10 +35,13 @@ public class RenderRotatedText implements FxGraphicsSample.Slide { .toRichText(); private final Graphics.HAnchor hAnchor; private final Graphics.VAnchor vAnchor; + private double[] angles; + - public RenderRotatedText(Graphics.HAnchor hAnchor, Graphics.VAnchor vAnchor) { + public RenderRotatedText(Graphics.HAnchor hAnchor, Graphics.VAnchor vAnchor, double[] angles) { this.hAnchor = hAnchor; this.vAnchor = vAnchor; + this.angles = angles; } @Override @@ -54,11 +55,6 @@ public void draw(Graphics g) { } public void drawText(Graphics g) { - double delta = 10.0; - double[] angles = DoubleStream.of(-delta, 90.0 - delta, 0, 45, 90, 135, 180, 225, 270, 315) - .map(v -> v + delta) - .toArray(); - record Mode(Graphics.TextRotationMode mode, Graphics.AlignmentAxis axis) { @Override public String toString() {