X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fcomponents%2Fatomic%2FTextComponent.java;h=e00dbb924110a763c304fec50ae00dec80268133;hb=3c3b223ffd0d54242a8cda1920a562ab01efba60;hp=87c3cf47ab8a581512896663e21f2e499e64313c;hpb=a3f31d6bf39eb747172a6db329de72c803903c2e;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java index 87c3cf47..e00dbb92 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java @@ -12,6 +12,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.NoLogicAdapter; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.Preferences; @@ -19,6 +20,7 @@ import net.mograsim.preferences.Preferences; public class TextComponent extends GUIComponent { private final String text; + private boolean calculatedSize; public TextComponent(ViewModelModifiable model, String text) { @@ -37,10 +39,14 @@ public class TextComponent extends GUIComponent @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - Point textExtent = gc.textExtent(text); - setSize(textExtent.x, textExtent.y); + if (!calculatedSize) + { + calculatedSize = true; + Point textExtent = gc.textExtent(text); + setSize(textExtent.x, textExtent.y); + } - Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text"); + Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); if (textColor != null) gc.setForeground(textColor); gc.drawText(text, getPosX(), getPosY(), true); @@ -49,7 +55,7 @@ public class TextComponent extends GUIComponent // serializing @Override - public JsonElement getParamsForSerializing() + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) { return new JsonPrimitive(text); }