Added alternative constructor for inputting text scaling factor 48/3848/1
authorMarko Luukkainen <marko.luukkainen@semantum.fi>
Thu, 20 Feb 2020 09:17:37 +0000 (11:17 +0200)
committerMarko Luukkainen <marko.luukkainen@semantum.fi>
Thu, 20 Feb 2020 09:53:42 +0000 (09:53 +0000)
gitlab #471

Change-Id: Ie1a394e41f4807bc99e0de3cef891730fa27be8e
(cherry picked from commit 01d6a043fc7513dd93853f4fc2a7b326aee1f832)

bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextElementHandler.java
bundles/org.simantics.diagram/src/org/simantics/diagram/elements/TextElementNoBounds.java

index a39ef4f5790ccd7556d976350d6883c8818a7277..192b0ea5d09588c783561dc1133d5ad571af5823 100644 (file)
@@ -52,10 +52,14 @@ public class TextElementHandler extends TextElementNoBounds implements InternalS
         super(originX, originY, horizontalAlignment, borderWidth, paddingX, paddingY, editable);
     }
     
+    public TextElementHandler(double originX, double originY, Alignment horizontalAlignment, double borderWidth,
+                       double paddingX, double paddingY, boolean editable, double scale) {
+               super(originX, originY, horizontalAlignment, borderWidth, paddingX, paddingY, editable, scale);
+       }
 
-    @Override
+       @Override
     public Rectangle2D getBounds(IElement e, Rectangle2D size) {
-        return calculateBounds(e, size, horizontalAlignment, SCALE, paddingX, paddingY);
+        return calculateBounds(e, size, horizontalAlignment, scale, paddingX, paddingY);
     }
     
     public static Rectangle2D calculateBounds(
index 6959e8c439f2bbd4d942eae1137682e687952015..376fadc06c9a40cab935eafb421e6e4534510328 100644 (file)
@@ -49,7 +49,7 @@ public class TextElementNoBounds implements SceneGraph, HandleMouseEvent {
     
     protected static final double DEFAULT_PADDING_X = 0.5;
     protected static final double DEFAULT_PADDING_Y = 0.5;
-    protected static final double SCALE = 0.235;
+    protected static final double DEFAULT_SCALE = 0.235;
 
     protected final double originX;
     protected final double originY;
@@ -59,6 +59,7 @@ public class TextElementNoBounds implements SceneGraph, HandleMouseEvent {
     protected final boolean editable;
     protected final double paddingX;
     protected final double paddingY;
+    protected final double scale;
 
 
     public TextElementNoBounds() {
@@ -74,6 +75,10 @@ public class TextElementNoBounds implements SceneGraph, HandleMouseEvent {
     }
     
     public TextElementNoBounds(double originX, double originY, Alignment horizontalAlignment, double borderWidth, double paddingX, double paddingY, boolean editable) {
+       this(originX, originY, horizontalAlignment, borderWidth, paddingX, paddingY, editable, DEFAULT_SCALE);
+    }
+    
+    public TextElementNoBounds(double originX, double originY, Alignment horizontalAlignment, double borderWidth, double paddingX, double paddingY, boolean editable, double scale) {
         if (horizontalAlignment == null)
             throw new NullPointerException("null horizontal alignment");
 
@@ -85,9 +90,9 @@ public class TextElementNoBounds implements SceneGraph, HandleMouseEvent {
         this.editable = editable;
         this.paddingX = paddingX;
         this.paddingY = paddingY;
+        this.scale = scale;
     }
     
-
     @Override
     public void init(final IElement e, G2DParentNode parent) {
         TextNode node = getOrCreateTextNode(e, parent);
@@ -102,7 +107,7 @@ public class TextElementNoBounds implements SceneGraph, HandleMouseEvent {
         Alignment vAlign = ElementUtils.getHintOrDefault(e, ElementHints.KEY_VERTICAL_ALIGN, verticalAlignment);
         Double borderWidth = ElementUtils.getHintOrDefault(e, MonitorClass.KEY_BORDER_WIDTH, this.borderWidth);
 
-        node.init(text, font, color, originX, originY, SCALE);
+        node.init(text, font, color, originX, originY, scale);
         node.setBackgroundColor(fillColor);
         node.setBorderColor(borderColor);
         node.setHorizontalAlignment((byte) hAlign.ordinal());