]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.g2d/src/org/simantics/g2d/elementclass/FlagClass.java
(refs #7180) Configurable font for FlagNode
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / elementclass / FlagClass.java
index 604fa15a58e04b1714c58e4f15b0d50295e56e79..7c60894bc9a9c85ec3ffd685c6ec3b32db8fb7d6 100644 (file)
@@ -13,6 +13,7 @@ package org.simantics.g2d.elementclass;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
+import java.awt.Font;
 import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Path2D;
@@ -101,6 +102,7 @@ public class FlagClass {
     public static final Key           KEY_SHAPE                    = new KeyOf(Shape.class, "SHAPE");
     public static final Key           KEY_TEXT_HORIZONTAL_ALIGN    = new KeyOf(Alignment.class, "TEXT_HORIZONTAL_ALIGN");
     public static final Key           KEY_TEXT_VERTICAL_ALIGN      = new KeyOf(Alignment.class, "TEXT_VERTICAL_ALIGN");
+    public static final Key           KEY_FLAG_FONT                = new KeyOf(Font.class, "FLAG_FONT");
 
     public static final Key          KEY_SG_NODE                  = new SceneGraphNodeKey(Node.class, "FLAG_SG_NODE");
 
@@ -631,6 +633,8 @@ public class FlagClass {
             Alignment horizAlign = ElementUtils.getHintOrDefault(e, KEY_TEXT_HORIZONTAL_ALIGN, Alignment.LEADING);
             Alignment vertAlign = ElementUtils.getHintOrDefault(e, KEY_TEXT_VERTICAL_ALIGN, Alignment.CENTER);
 
+            Font font  = ElementUtils.getHintOrDefault(e, KEY_FLAG_FONT, FlagNode.DEFAULT_FONT); 
+            
             FlagNode flag = ElementUtils.getOrCreateNode(e, parent, KEY_SG_NODE, ElementUtils.generateNodeId(e), FlagNode.class);
             flag.init(shape,
                     flagText,
@@ -644,7 +648,8 @@ public class FlagClass {
                     (float) beakAngle,
                     textArea,
                     horizAlign.ordinal(),
-                    vertAlign.ordinal());
+                    vertAlign.ordinal(),
+                    font);
             AffineTransform at = ElementUtils.getTransform(e);
             if(at != null) flag.setTransform(at);