Fixed visibleRegion calculation
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Thu, 6 Jun 2019 19:26:09 +0000 (21:26 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Thu, 6 Jun 2019 19:26:09 +0000 (21:26 +0200)
net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java
net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponent.java

index 08dc4eb..2465e46 100644 (file)
@@ -26,7 +26,7 @@ public class LogicUICanvas extends ZoomableCanvas
                this.model = model;
 
                LogicUIRenderer renderer = new LogicUIRenderer(model);
-               addZoomedRenderer(gc -> renderer.render(gc, new Rectangle(offX, offY, gW / zoom, gH / zoom)));
+               addZoomedRenderer(gc -> renderer.render(gc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom)));
                model.addRedrawListener(this::redrawThreadsafe);
 
                addListener(SWT.MouseDown, this::mouseDown);
index 5e5d18a..72663a2 100644 (file)
@@ -148,7 +148,7 @@ public abstract class SubmodelComponent extends GUIComponent
                if (submodelAlpha != 0)
                {
                        gc.setAlpha(submodelAlpha);
-                       renderer.render(tgc, visibleRegion.translate(-posX, -posY, 1 / submodelScale));
+                       renderer.render(tgc, visibleRegion.translate(posX / submodelScale, posY / submodelScale, 1 / submodelScale));
                }
                if (labelAlpha != 0)
                {