X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fserializing%2Fsnippets%2Foutlinerenderers%2FDefaultOutlineRenderer.java;fp=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fserializing%2Fsnippets%2Foutlinerenderers%2FDefaultOutlineRenderer.java;h=8fe41c651bd32350f99fca729a8e51a1f09d2435;hb=6a7d43ee5a2b2964389e46fc027e47e426774ea1;hp=0000000000000000000000000000000000000000;hpb=424b7fd8ab66774d942748fbb12ecf84101aae0d;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java new file mode 100644 index 00000000..8fe41c65 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java @@ -0,0 +1,37 @@ +package net.mograsim.logic.ui.serializing.snippets.outlinerenderers; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; +import net.mograsim.logic.ui.serializing.snippets.Renderer; +import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.preferences.ColorDefinition; +import net.mograsim.preferences.ColorManager; +import net.mograsim.preferences.Preferences; + +public class DefaultOutlineRenderer implements Renderer +{ + private final GUIComponent component; + + public DefaultOutlineRenderer(SubmodelComponent component, @SuppressWarnings("unused") Void params) + { + this.component = component; + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + { + ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.foreground"); + if (fg != null) + gc.setForeground(ColorManager.current().toColor(fg)); + gc.drawRectangle(component.getBounds()); + } + + static + { + CodeSnippetSupplier.outlineRendererProviderSupplier.setSnippetProvider(DefaultOutlineRenderer.class.getCanonicalName(), + SnippetSupplier.create(Void.class, DefaultOutlineRenderer::new)); + } +} \ No newline at end of file