/// <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;
    }
Beispiel #2
0
        /// <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;
              }
        }