mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-11 05:45:27 -04:00
autofit mode if fit to screen was called
This commit is contained in:
parent
0ac7c01c2e
commit
d876e46e9f
@ -24,10 +24,7 @@ import java.awt.*;
|
|||||||
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.Clipboard;
|
||||||
import java.awt.datatransfer.DataFlavor;
|
import java.awt.datatransfer.DataFlavor;
|
||||||
import java.awt.datatransfer.UnsupportedFlavorException;
|
import java.awt.datatransfer.UnsupportedFlavorException;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.*;
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseMotionListener;
|
|
||||||
import java.awt.geom.AffineTransform;
|
import java.awt.geom.AffineTransform;
|
||||||
import java.awt.geom.NoninvertibleTransformException;
|
import java.awt.geom.NoninvertibleTransformException;
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
@ -76,6 +73,7 @@ public class CircuitComponent extends JComponent {
|
|||||||
private Observer manualChangeObserver;
|
private Observer manualChangeObserver;
|
||||||
private Vector lastMousePos;
|
private Vector lastMousePos;
|
||||||
private Sync modelSync;
|
private Sync modelSync;
|
||||||
|
private boolean isManualScale;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,9 +156,18 @@ public class CircuitComponent extends JComponent {
|
|||||||
transform.translate(pos.x, pos.y);
|
transform.translate(pos.x, pos.y);
|
||||||
transform.scale(f, f);
|
transform.scale(f, f);
|
||||||
transform.translate(-pos.x, -pos.y);
|
transform.translate(-pos.x, -pos.y);
|
||||||
|
isManualScale=true;
|
||||||
repaint();
|
repaint();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
addComponentListener(new ComponentAdapter() {
|
||||||
|
@Override
|
||||||
|
public void componentResized(ComponentEvent componentEvent) {
|
||||||
|
if (!isManualScale)
|
||||||
|
fitCircuit();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR);
|
Cursor normalCursor = new Cursor(Cursor.DEFAULT_CURSOR);
|
||||||
moveCursor = new Cursor(Cursor.MOVE_CURSOR);
|
moveCursor = new Cursor(Cursor.MOVE_CURSOR);
|
||||||
mouseNormal = new MouseControllerNormal(normalCursor);
|
mouseNormal = new MouseControllerNormal(normalCursor);
|
||||||
@ -403,6 +410,7 @@ public class CircuitComponent extends JComponent {
|
|||||||
} else
|
} else
|
||||||
transform = new AffineTransform();
|
transform = new AffineTransform();
|
||||||
repaint();
|
repaint();
|
||||||
|
isManualScale=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -415,6 +423,7 @@ public class CircuitComponent extends JComponent {
|
|||||||
transform.translate(dif.x, dif.y);
|
transform.translate(dif.x, dif.y);
|
||||||
transform.scale(f, f);
|
transform.scale(f, f);
|
||||||
transform.translate(-dif.x, -dif.y);
|
transform.translate(-dif.x, -dif.y);
|
||||||
|
isManualScale=true;
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -504,6 +513,7 @@ public class CircuitComponent extends JComponent {
|
|||||||
double s = transform.getScaleX();
|
double s = transform.getScaleX();
|
||||||
transform.translate(delta.x / s, delta.y / s);
|
transform.translate(delta.x / s, delta.y / s);
|
||||||
pos = newPos;
|
pos = newPos;
|
||||||
|
isManualScale=true;
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user