/// <summary>Initializes a new window message based mouse</summary> /// <param name="messageSource">Source the window messages are obtained from</param> public WindowMessageMouse(IMouseMessageSource messageSource) { this.buttonPressedDelegate = new MouseButtonEventDelegate(BufferButtonPress); this.buttonReleasedDelegate = new MouseButtonEventDelegate(BufferButtonRelease); this.wheelRotatedDelegate = new MouseWheelEventDelegate(BufferWheelRotation); this.cursorMovedDelegate = new MouseMoveEventDelegate(BufferCursorMovement); this.messageSource = messageSource; this.messageSource.MouseButtonPressed += this.buttonPressedDelegate; this.messageSource.MouseButtonReleased += this.buttonReleasedDelegate; this.messageSource.MouseWheelRotated += this.wheelRotatedDelegate; this.messageSource.MouseMoved += this.cursorMovedDelegate; }
/// <summary>Initializes a new window message based mouse</summary> /// <param name="messageSource">Source the window messages are obtained from</param> public WindowMessageMouse(IMouseMessageSource messageSource) { this.buttonPressedDelegate = new MouseButtonEventDelegate(BufferButtonPress); this.buttonReleasedDelegate = new MouseButtonEventDelegate(BufferButtonRelease); this.wheelRotatedDelegate = new MouseWheelEventDelegate(BufferWheelRotation); this.cursorMovedDelegate = new MouseMoveEventDelegate(BufferCursorMovement); this.messageSource = messageSource; this.messageSource.MouseButtonPressed += this.buttonPressedDelegate; this.messageSource.MouseButtonReleased += this.buttonReleasedDelegate; this.messageSource.MouseWheelRotated += this.wheelRotatedDelegate; this.messageSource.MouseMoved += this.cursorMovedDelegate; }
/// <summary>Immediately releases all resources owned by the instance</summary> public void Dispose() { if (this.messageSource != null) { this.messageSource.MouseMoved -= this.cursorMovedDelegate; this.messageSource.MouseWheelRotated -= this.wheelRotatedDelegate; this.messageSource.MouseButtonReleased -= this.buttonReleasedDelegate; this.messageSource.MouseButtonPressed -= this.buttonPressedDelegate; this.messageSource = null; } }