X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2FLogicUIRenderer.java;h=29bf613608b97a4f078e41333acd4bbc506f25f3;hb=7aa6eab72deba89dbc22ae9c90ffb5df53f9d496;hp=5182a24a8afe03aedf0c9f9693a61b7f217d86d6;hpb=fb685bde0f5e5bc79ac7af6f9690bed41f04f6f6;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java index 5182a24a..29bf6136 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java @@ -22,8 +22,16 @@ public class LogicUIRenderer public void render(GeneralGC gc, Rectangle visibleRegion) { + gc.setAntialias(SWT.ON); + gc.setClipping(visibleRegion); gc.setLineWidth(.5); - model.getWires().forEach(w -> w.render(gc)); + model.getWires().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); + }); model.getComponents().forEach(c -> renderComponent(gc, c, visibleRegion)); }