From 5ce55d9c7ebe3ae1d294ccf7d1cb3588324f3d1d Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Sun, 1 Sep 2019 18:25:43 +0200 Subject: [PATCH] TextComponent now only calculates its size once => speedup --- .../model/model/components/atomic/TextComponent.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 4161406a..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 @@ -20,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) { @@ -38,9 +39,12 @@ public class TextComponent extends GUIComponent @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - Point textExtent = gc.textExtent(text); - if (getWidth() != textExtent.x || getHeight() != textExtent.y) + if (!calculatedSize) + { + calculatedSize = true; + Point textExtent = gc.textExtent(text); setSize(textExtent.x, textExtent.y); + } Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); if (textColor != null) -- 2.17.1