add src files decompiled via jad
[rsa2client.git] / src / mcsClient / McsMouseMotionAdapter.java
diff --git a/src/mcsClient/McsMouseMotionAdapter.java b/src/mcsClient/McsMouseMotionAdapter.java
new file mode 100644 (file)
index 0000000..a4824e1
--- /dev/null
@@ -0,0 +1,109 @@
+// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
+// Jad home page: http://www.kpdus.com/jad.html
+// Decompiler options: packimports(3) fieldsfirst nonlb space 
+
+package mcsClient;
+
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionAdapter;
+import java.io.IOException;
+import java.io.PrintStream;
+
+// Referenced classes of package mcsClient:
+//            McsKeyAdapter, McsTcpConnection
+
+public class McsMouseMotionAdapter extends MouseMotionAdapter {
+
+    private McsTcpConnection mcsTcpConnection;
+    private McsKeyAdapter keyAdapter;
+    private int xDelta;
+    private int yDelta;
+    private int xPreSyncPoint;
+    private int yPreSyncPoint;
+
+    public McsMouseMotionAdapter(McsTcpConnection mcstcpconnection, McsKeyAdapter mcskeyadapter) {
+        xDelta = 0;
+        yDelta = 0;
+        xPreSyncPoint = 0;
+        yPreSyncPoint = 0;
+        mcsTcpConnection = mcstcpconnection;
+        keyAdapter = mcskeyadapter;
+        resyncMousePointer();
+    }
+
+    public void mouseMoved(MouseEvent mouseevent) {
+        if (keyAdapter.getMouseSyncKeyState() == 2) {
+            if (xPreSyncPoint == 0 && yPreSyncPoint == 0) {
+                xPreSyncPoint = mouseevent.getX();
+                yPreSyncPoint = mouseevent.getY();
+            }
+        } else {
+            if (xPreSyncPoint != 0 || yPreSyncPoint != 0) {
+                xDelta += xPreSyncPoint - mouseevent.getX();
+                yDelta += yPreSyncPoint - mouseevent.getY();
+                xPreSyncPoint = 0;
+                yPreSyncPoint = 0;
+            }
+            int ai[] = new int[5];
+            ai[0] = ai.length * 4;
+            ai[1] = 14;
+            ai[2] = 0;
+            ai[3] = mouseevent.getX() + xDelta <= 0 ? 0 : mouseevent.getX() + xDelta;
+            ai[4] = mouseevent.getY() + yDelta <= 0 ? 0 : mouseevent.getY() + yDelta;
+            try {
+                mcsTcpConnection.sendMessage(ai);
+            }
+            catch (IOException ioexception) {
+                System.err.println("Could not send send mouse event McsMouseMotionAdapter.");
+                return;
+            }
+        }
+    }
+
+    public void mouseDragged(MouseEvent mouseevent) {
+        if (keyAdapter.getMouseSyncKeyState() == 2 || keyAdapter.getMouseSyncKeyState() == 3 && (mouseevent.getModifiersEx() & 0x1000) != 0) {
+            if (xPreSyncPoint == 0 && yPreSyncPoint == 0) {
+                xPreSyncPoint = mouseevent.getX();
+                yPreSyncPoint = mouseevent.getY();
+            }
+        } else {
+            if (xPreSyncPoint != 0 || yPreSyncPoint != 0) {
+                xDelta += xPreSyncPoint - mouseevent.getX();
+                yDelta += yPreSyncPoint - mouseevent.getY();
+                xPreSyncPoint = 0;
+                yPreSyncPoint = 0;
+            }
+            int ai[] = new int[5];
+            ai[0] = ai.length * 4;
+            ai[1] = 14;
+            ai[2] = 0;
+            ai[3] = mouseevent.getX() + xDelta <= 0 ? 0 : mouseevent.getX() + xDelta;
+            ai[4] = mouseevent.getY() + yDelta <= 0 ? 0 : mouseevent.getY() + yDelta;
+            try {
+                mcsTcpConnection.sendMessage(ai);
+            }
+            catch (IOException ioexception) {
+                System.err.println("Could not send send mouse event McsMouseMotionAdapter.");
+                return;
+            }
+        }
+    }
+
+    private void resyncMousePointer() {
+        try {
+            int ai[] = new int[5];
+            ai[0] = ai.length * 4;
+            ai[1] = 14;
+            ai[2] = 0;
+            ai[3] = 1024;
+            ai[4] = 768;
+            mcsTcpConnection.sendMessage(ai);
+            ai[3] = 0;
+            ai[4] = 0;
+            mcsTcpConnection.sendMessage(ai);
+        }
+        catch (IOException ioexception) {
+            System.err.println("Could not resync mouse.");
+        }
+    }
+}