1 package net.mograsim.logic.ui.serializing.snippets.symbolrenderers;
3 import com.google.gson.JsonElement;
5 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
6 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
7 import net.mograsim.logic.ui.serializing.DeserializedSubmodelComponent;
8 import net.mograsim.logic.ui.serializing.snippets.Renderer;
9 import net.mograsim.logic.ui.serializing.snippets.RendererProvider;
10 import net.mograsim.preferences.ColorDefinition;
11 import net.mograsim.preferences.ColorManager;
12 import net.mograsim.preferences.Preferences;
14 public class DefaultSymbolRendererProvider implements RendererProvider
16 private static final String id = "<Symbol\nunknown>";
19 public Renderer create(DeserializedSubmodelComponent component, JsonElement params)
21 return (gc, visReg) ->
23 ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.text");
25 gc.setForeground(ColorManager.current().toColor(fg));
26 Point idSize = gc.textExtent(id);
27 Rectangle bounds = component.getBounds();
28 gc.drawText(id, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true);