Added getBounds() to TextComponent
authorChristian Femers <femers@in.tum.de>
Sat, 29 Jun 2019 01:29:05 +0000 (03:29 +0200)
committerChristian Femers <femers@in.tum.de>
Sat, 29 Jun 2019 01:29:05 +0000 (03:29 +0200)
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java

index 0f8b542..6062aff 100644 (file)
@@ -13,6 +13,7 @@ import net.mograsim.preferences.Preferences;
 public class TextComponent extends GUIComponent\r
 {\r
        private final String text;\r
+       private Point textExtent;\r
 \r
        public TextComponent(ViewModelModifiable model, String text)\r
        {\r
@@ -23,13 +24,21 @@ public class TextComponent extends GUIComponent
        @Override\r
        public void render(GeneralGC gc, Rectangle visibleRegion)\r
        {\r
-               Point textExtent = gc.textExtent(text);\r
+               textExtent = gc.textExtent(text);\r
                Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text");\r
                if (textColor != null)\r
                        gc.setForeground(textColor);\r
                gc.drawText(text, getPosX() - textExtent.x / 2, getPosY() - textExtent.y / 2, true);\r
        }\r
 \r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               if (textExtent == null)\r
+                       return super.getBounds();\r
+               return new Rectangle(getPosX() - textExtent.x / 2, getPosY() - textExtent.y / 2, textExtent.x, textExtent.y);\r
+       }\r
+\r
        static\r
        {\r
                ViewLogicModelAdapter.addComponentAdapter(NoLogicAdapter.forClass(TextComponent.class));\r