The "rfb_win32" library merged with VNC 4.1.1 code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/merge-with-vnc-4.1.1@523 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb_win32/CPointer.cxx b/rfb_win32/CPointer.cxx
index 1cab662..3d0d934 100644
--- a/rfb_win32/CPointer.cxx
+++ b/rfb_win32/CPointer.cxx
@@ -1,5 +1,5 @@
-/* Copyright (C) 2002-2003 RealVNC Ltd. All Rights Reserved.
- *
+/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
+ *
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -16,9 +16,7 @@
* USA.
*/
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-
#include <rfb/LogWriter.h>
#include <rfb_win32/CPointer.h>
@@ -37,21 +35,21 @@
}
-void CPointer::pointerEvent(CMsgWriter* writer, int x, int y, int buttonMask) {
+void CPointer::pointerEvent(InputHandler* writer, const Point& pos, int buttonMask) {
//
// - Duplicate Event Filtering
//
bool maskChanged = buttonMask != currButtonMask;
- bool posChanged = !Point(x, y).equals(currPos);
+ bool posChanged = !pos.equals(currPos);
if (!(posChanged || maskChanged))
return;
// Pass on the event to the event-interval handler
- threePointerEvent(writer, x, y, buttonMask);
+ threePointerEvent(writer, pos, buttonMask);
// Save the position and mask
- currPos = Point(x, y);
+ currPos = pos;
currButtonMask = buttonMask;
}
@@ -66,7 +64,7 @@
return buttonMask;
}
-void CPointer::threePointerEvent(CMsgWriter* writer, int x, int y, int buttonMask) {
+void CPointer::threePointerEvent(InputHandler* writer, const Point& pos, int buttonMask) {
//
// - 3-Button Mouse Emulation
//
@@ -84,7 +82,7 @@
// expires then we know we should actually send this event
vlog.debug("emulate3: start timer");
threeTimer.start(100);
- threePos = Point(x, y);
+ threePos = pos;
threeMask = buttonMask;
return;
@@ -94,7 +92,7 @@
vlog.debug("emulate3: stop timer (state)");
threeTimer.stop();
if (threeEmulating == ((buttonMask & 5) == 5))
- intervalPointerEvent(writer, threePos.x, threePos.y, threeMask);
+ intervalPointerEvent(writer, threePos, threeMask);
else
threeEmulating = ((buttonMask & 5) == 5);
}
@@ -104,11 +102,11 @@
if (threeTimer.isActive()) {
// - We are timing for an emulation event
- if (abs(threePos.x - x) <= 4 || abs(threePos.y - y) <= 4) {
+ if (abs(threePos.x - pos.x) <= 4 || abs(threePos.y - pos.y) <= 4) {
// If the mouse has moved too far since the button-change event then flush
vlog.debug("emulate3: stop timer (moved)");
threeTimer.stop();
- intervalPointerEvent(writer, threePos.x, threePos.y, threeMask);
+ intervalPointerEvent(writer, threePos, threeMask);
} else {
// Otherwise, we ignore the new event
@@ -129,14 +127,14 @@
}
// - Let the event pass through to the next stage of processing
- intervalPointerEvent(writer, x, y, buttonMask);
+ intervalPointerEvent(writer, pos, buttonMask);
}
-void CPointer::intervalPointerEvent(CMsgWriter* writer, int x, int y, int buttonMask) {
+void CPointer::intervalPointerEvent(InputHandler* writer, const Point& pos, int buttonMask) {
//
// - Pointer Event Interval
//
- vlog.write(101, "ptrEvent: %d,%d (%lx)", x, y, buttonMask);
+ vlog.write(101, "ptrEvent: %d,%d (%lx)", pos.x, pos.y, buttonMask);
// Send the event immediately if we haven't sent one for a while
bool sendNow = !intervalTimer.isActive();
@@ -145,14 +143,14 @@
// If the buttons have changed then flush queued events and send now
sendNow = true;
if (intervalQueued)
- writer->writePointerEvent(intervalPos.x, intervalPos.y, intervalMask);
+ writer->pointerEvent(intervalPos, intervalMask);
intervalQueued = false;
}
if (!sendNow) {
// If we're not sending now then just queue the event
intervalQueued = true;
- intervalPos = Point(x, y);
+ intervalPos = pos;
intervalMask = buttonMask;
} else {
// Start the interval timer if required, and send the event
@@ -160,15 +158,15 @@
intervalMask = buttonMask;
if (pointerEventInterval)
intervalTimer.start(pointerEventInterval);
- writer->writePointerEvent(x, y, buttonMask);
+ writer->pointerEvent(pos, buttonMask);
}
}
-void CPointer::handleTimer(CMsgWriter* writer, int timerId) {
+void CPointer::handleTimer(InputHandler* writer, int timerId) {
if (timerId == intervalTimer.getId()) {
// Pointer interval has expired - send any queued events
if (intervalQueued) {
- writer->writePointerEvent(intervalPos.x, intervalPos.y, intervalMask);
+ writer->pointerEvent(intervalPos, intervalMask);
intervalQueued = false;
} else {
intervalTimer.stop();
@@ -183,6 +181,6 @@
if (threeEmulating)
threeMask = emulate3Mask(threeMask);
- intervalPointerEvent(writer, threePos.x, threePos.y, threeMask);
+ intervalPointerEvent(writer, threePos, threeMask);
}
}