X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2FLogicUICanvas.java;h=41dde7d9a3f2116a2e48128c24921e0293deaaba;hb=193667ac7c2900324c2de9996590a4cde5ac2c70;hp=2465e4699e33f4d9949ac37cf3260c5f099fe3ca;hpb=74868b10728aee0e85e4ff8af4073516b7590268;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java index 2465e469..41dde7d9 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java @@ -1,6 +1,7 @@ package net.mograsim.logic.ui; import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; @@ -9,6 +10,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.haspamelodica.swt.helper.zoomablecanvas.ZoomableCanvas; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.preferences.Preferences; /** * Simulation visualizer canvas. @@ -26,7 +28,13 @@ public class LogicUICanvas extends ZoomableCanvas this.model = model; LogicUIRenderer renderer = new LogicUIRenderer(model); - addZoomedRenderer(gc -> renderer.render(gc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom))); + addZoomedRenderer(gc -> + { + Color background = Preferences.current().getColor("net.mograsim.logic.ui.color.background"); + if (background != null) + setBackground(background);// this.setBackground, not gc.setBackground to have the background fill the canvas + renderer.render(gc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom)); + }); model.addRedrawListener(this::redrawThreadsafe); addListener(SWT.MouseDown, this::mouseDown);