Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.logic.model.editor / src / net / mograsim / logic / model / editor / EditorUserInput.java
index cb66e94..feae04f 100644 (file)
@@ -7,11 +7,15 @@ import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseListener;
 
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
+import net.mograsim.logic.model.editor.ui.EditorGUI;
 
 public class EditorUserInput
 {
-       public EditorUserInput(Editor editor, EditorGUI gui)
+       private final EditorGUI gui;
+
+       public EditorUserInput(Editor editor)
        {
+               this.gui = editor.gui;
                gui.logicCanvas.addMouseListener(new MouseListener()
                {
                        @Override
@@ -34,7 +38,9 @@ public class EditorUserInput
                        }
 
                        @Override
-                       public void mouseUp(MouseEvent e) {}
+                       public void mouseUp(MouseEvent e)
+                       {
+                       }
                });
 
                gui.logicCanvas.addMouseMoveListener((e) ->
@@ -45,14 +51,14 @@ public class EditorUserInput
 
                gui.logicCanvas.addKeyListener(new KeyListener()
                {
-                       
+
                        @Override
                        public void keyReleased(KeyEvent e)
                        {
                                // TODO Auto-generated method stub
-                               
+
                        }
-                       
+
                        @Override
                        public void keyPressed(KeyEvent e)
                        {
@@ -92,4 +98,14 @@ public class EditorUserInput
                        }
                });
        }
+
+       public Point getCanvasMousePosition()
+       {
+               return new Point(gui.logicCanvas.toControl(gui.display.getCursorLocation()));
+       }
+
+       public Point getWorldMousePosition()
+       {
+               return gui.logicCanvas.canvasToWorldCoords(getCanvasMousePosition());
+       }
 }
\ No newline at end of file