X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2FLogicUIRenderer.java;h=6f4e0e83cc9967fb948922c0ba187df695d30a2f;hb=7908fec28b61e5911bf6523a3c10cd3a31dc95e6;hp=1df2f7b7ef415f79848922dfd712e7d3fb8f3885;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java index 1df2f7b7..6f4e0e83 100644 --- a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java +++ b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java @@ -1,5 +1,7 @@ package net.mograsim.logic.model; +import static net.mograsim.logic.model.preferences.RenderPreferences.DEFAULT_LINE_WIDTH; + import org.eclipse.swt.SWT; import net.haspamelodica.swt.helper.gcs.GeneralGC; @@ -8,7 +10,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.LogicModel; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.preferences.Preferences; +import net.mograsim.logic.model.preferences.RenderPreferences; public class LogicUIRenderer { @@ -21,28 +23,28 @@ public class LogicUIRenderer this.model = model; } - public void render(GeneralGC gc, Rectangle visibleRegion) + public void render(GeneralGC gc, RenderPreferences renderPrefs, Rectangle visibleRegion) { gc.setAntialias(SWT.ON); gc.setClipping(visibleRegion); - gc.setLineWidth(Preferences.current().getDouble("net.mograsim.logic.model.linewidth.default")); + gc.setLineWidth(renderPrefs.getDouble(DEFAULT_LINE_WIDTH)); model.getWiresByName().values().forEach(w -> { Rectangle bounds = w.getBounds(); double lw = gc.getLineWidth(); if (visibleRegion.intersects(bounds.x - lw, bounds.y - lw, bounds.width + lw + lw, bounds.height + lw + lw)) - w.render(gc); + w.render(gc, renderPrefs); }); - model.getComponentsByName().values().forEach(c -> renderComponent(gc, c, visibleRegion)); + model.getComponentsByName().values().forEach(c -> renderComponent(gc, renderPrefs, c, visibleRegion)); } - private static void renderComponent(GeneralGC gc, ModelComponent component, Rectangle visibleRegion) + private static void renderComponent(GeneralGC gc, RenderPreferences renderPrefs, ModelComponent component, Rectangle visibleRegion) { Rectangle bounds = component.getBounds(); double lw = gc.getLineWidth(); if (visibleRegion.intersects(bounds.x - lw, bounds.y - lw, bounds.width + lw + lw, bounds.height + lw + lw)) { - component.render(gc, visibleRegion); + component.render(gc, renderPrefs, visibleRegion); if (DRAW_PINS) { gc.setBackground(gc.getDevice().getSystemColor(SWT.COLOR_DARK_CYAN));