--- /dev/null
+// 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.");
+ }
+ }
+}