X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fsymbolrenderers%2FCenteredTextSymbolRenderer.java;h=7705203ce687c20297c1637af5b66736a1353e8b;hb=a25f554756e1bc9a1f842293aefe60a220d8b950;hp=bf40639659113fb9138f26517f7d095ba7e7dbbf;hpb=f3e1662abcae720f6b1ea396e1ac33c1be41e429;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java index bf406396..7705203c 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java @@ -6,6 +6,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -21,12 +22,14 @@ import net.mograsim.preferences.Preferences; public class CenteredTextSymbolRenderer implements Renderer { private final GUIComponent component; - private final CenteredTextParams params; + private final String text; + private final double fontHeight; public CenteredTextSymbolRenderer(SubmodelComponent component, CenteredTextParams params) { this.component = component; - this.params = params; + this.text = params.text; + this.fontHeight = params.fontHeight; } @@ -34,16 +37,25 @@ public class CenteredTextSymbolRenderer implements Renderer public void render(GeneralGC gc, Rectangle visibleRegion) { Font oldFont = gc.getFont(); - gc.setFont(new Font(oldFont.getName(), params.fontHeight, oldFont.getStyle())); + gc.setFont(new Font(oldFont.getName(), fontHeight, oldFont.getStyle())); ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.model.color.text"); if (fg != null) gc.setForeground(ColorManager.current().toColor(fg)); - Point idSize = gc.textExtent(params.text); + Point idSize = gc.textExtent(text); Rectangle bounds = component.getBounds(); - gc.drawText(params.text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); + gc.drawText(text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); gc.setFont(oldFont); } + @Override + public CenteredTextParams getParamsForSerializing(IdentifierGetter idGetter) + { + CenteredTextParams params = new CenteredTextParams(); + params.text = text; + params.fontHeight = fontHeight; + return params; + } + public static class CenteredTextParams { public String text;