private void Window_Loaded(object sender, RoutedEventArgs e) { _oscTransmitter = new OSCTransmitter("127.0.0.1", Port, TCP); _oscTransmitter.TCPClientConnected += _oscTransmitter_TCPClientConnected; _cursorSessionCounter = 0; _cursors = new Dictionary <string, Cursor>(); this.WindowState = WindowState.Maximized; MultipointSdk.Instance.Register(this); App.MultiPointObject.CurrentWindow = this; foreach (DeviceInfo d in App.MultiPointObject.MouseDeviceList) { MultipointMouseDevice mpMouseDevice = d.DeviceVisual; Bitmap cursorBitmap = GetCursorImage(MultipointSdk.Instance.MouseDeviceList.Count); mpMouseDevice.CursorImage = ConvertBitmapToBitmapImage(cursorBitmap); } App.MultiPointObject.DeviceArrivalEvent += MultiPointObject_DeviceArrivalEvent; KeyDown += Window1_KeyDown; MTContainer.MultipointMouseDownEvent += MTContainer_MultiPointMouseDownEvent; MTContainer.MultipointMouseMoveEvent += MTContainer_MultiPointMouseMoveEvent; MTContainer.MultipointMouseUpEvent += MTContainer_MultiPointMouseUpEvent; }
void MultiPointObject_DeviceArrivalEvent(object sender, DeviceNotifyEventArgs e) { DeviceInfo mouseObject = e.DeviceInfo; MultipointMouseDevice mpMouseDevice = mouseObject.DeviceVisual; Bitmap cursorBitmap = GetCursorImage(MultipointSdk.Instance.MouseDeviceList.Count); mpMouseDevice.CursorImage = ConvertBitmapToBitmapImage(cursorBitmap); }
void MTContainer_MultiPointMouseMoveEvent(object sender, RoutedEventArgs e) { MultipointMouseEventArgs args = (MultipointMouseEventArgs)e; MultipointMouseDevice mouse = args.DeviceInfo.DeviceVisual; System.Windows.Point position = new System.Windows.Point(); if (mouse.LeftButton == MultipointMouseButtonState.Pressed) { if (mouse != null) { position = mouse.Position; } if (_cursors.Keys.Contains(args.DeviceInfo.DeviceId)) { Cursor c = _cursors[args.DeviceInfo.DeviceId]; c.Position = position; SendStatusUpdate(); } } }
void MTContainer_MultiPointMouseDownEvent(object sender, RoutedEventArgs e) { //Add Cursor Object and send cursor add an OSC message MultipointMouseEventArgs args = (MultipointMouseEventArgs)e; MultipointMouseDevice mouse = args.DeviceInfo.DeviceVisual as MultipointMouseDevice; System.Windows.Point position = new System.Windows.Point(); if (mouse != null) { position = mouse.Position; } Cursor _newCursor = new Cursor(position, 0, _cursorSessionCounter); if (!_cursors.Keys.Contains(args.DeviceInfo.DeviceId)) { _cursors.Add(args.DeviceInfo.DeviceId, _newCursor); _cursorSessionCounter++; } SendStatusUpdate(); }