private void LeftButtonPressed( XnaMouseState state )
 {
     // TODO O co chodzi
     if ( this._selectedControlBase != this._owner && this._selectedControlBase.MouseHandler != null )
     {
         this._selectedControlBase.MouseHandler.OnLeftButtonPressed( state );
     }
 }
        public void OnMove( XnaMouseState state )
        {
            if ( this._selectedControlBase == null )
            {
                return;
            }

            this.Move( state );
        }
 private void Move( XnaMouseState state )
 {
     // TODO WTF
     if ( this._selectedControlBase != this._owner && this._selectedControlBase.MouseHandler != null )
     {
         this._selectedControlBase.MouseHandler.OnMove(state);
     }
     else
     {
         var moveVector = state.Location - this._owner.Location + this._selctedControlOffset;
         this._moveControl.Translate( this._owner, moveVector );
     }
 }
 public void OnLeftButtonClick( XnaMouseState state )
 {
     // TODO CHange it
     var control = this.FindControlAtPoint( state.Location ) as IControl;
     if ( control != null && control != this._owner )
     {
         control.MouseHandler.OnLeftButtonClick( state );
     }
     else
     {
         this._selectedControls.ToggleSelection( this._owner );
     }
 }
        public void OnLeftButtonPressed( XnaMouseState state )
        {
            Debug.Assert( this._selectedControlBase == null, "this._selectedControl == null" );
            //TODO Change it
            this._selectedControlBase = this.FindControlAtPoint( state.Location ) as IControl;
            if ( this._selectedControlBase == null )
            {
                this._selectedControlBase = this._owner;
                Debug.Assert( this._owner.IsHitted( state.Location ), "this._owner.HitTest(state.Location)" );
            }

            if ( this._selectedControlBase != null )
            {
                this._selctedControlOffset = this._selectedControlBase.ToControlPosition( state.Location );
                this.LeftButtonPressed( state );
            }

        }
 public void OnLeftButtonReleased(XnaMouseState state)
 {
 }
 public void OnLeftButtonPressed(XnaMouseState state)
 {
 }
 private void OnLeftButtonChanged( XnaMouseState mouseState )
 {
     this._lefButtonChanged.OnNext( mouseState.LeftButton );
     if ( mouseState.LeftButton == ButtonState.Pressed )
     {
         this._lastMoseDownPosition = this._xnaMousePosition;
         this._leftButtonPressed.OnNext( mouseState );
     }
     else if ( mouseState.LeftButton == ButtonState.Released )
     {
         this._leftButtonReleased.OnNext( mouseState );
         if ( Vector2.DistanceSquared( this._lastMoseDownPosition, this._xnaMousePosition ) < ClickDistance )
         {
             this._leftButtonClicked.OnNext( mouseState );
         }
     }
 }
        public void Update( GameTime gameTime )
        {
            var mouseState = Microsoft.Xna.Framework.Input.Mouse.GetState();
            if ( this._camera.Game.GraphicsDevice.Viewport.Bounds.Contains( mouseState.X, mouseState.Y ) == false )
            {
                return;
            }
            this._screenMousePosition = new Vector2( mouseState.X, mouseState.Y );
            this._xnaMousePosition = this._camera.ToSpace( this._screenMousePosition );
            this.ScrollWheelValueDelta = this._previousMouseState.ScrollWheelValue - mouseState.ScrollWheelValue;

            var xnaMouseState = new XnaMouseState( this._xnaMousePosition, mouseState.LeftButton, this.ScrollWheelValueDelta );

            if ( mouseState.LeftButton != this._previousMouseState.LeftButton )
            {
                this.OnLeftButtonChanged( xnaMouseState );
            }

            var previousPositon = this._camera.ToSpace( new Vector2( this._previousMouseState.X, this._previousMouseState.Y ) );
            this.MouseMoveDelta = this.MouseXnaPosition - previousPositon;
            if ( this.MouseXnaPosition != previousPositon )
            {
                this._mousePositionChanged.OnNext( xnaMouseState );
            }

            if ( this.ScrollWheelValueDelta != 0 )
            {
                this._scrollWheelChanged.OnNext( xnaMouseState );
            }

            this._previousMouseState = mouseState;

        }
 public void OnLeftButtonClick( XnaMouseState state )
 {
     this._selectedControls.ToggleSelection( this._owner );
 }
        private void LeftButtonReleased( XnaMouseState state )
        {
            if ( this._selectedControlBase == null )
            {
                return;
            }
            if ( this._selectedControlBase != this._owner )
            {
                this._selectedControlBase.MouseHandler.OnLeftButtonReleased( state );
            }
            else
            {

            }
        }
        public void OnLeftButtonReleased( XnaMouseState state )
        {
            if ( this._selectedControlBase == null )
            {
                return;
            }

            this.LeftButtonReleased( state );

            this._selectedControlBase = null;
        }
 public void OnLeftButtonReleased( XnaMouseState state )
 {
     this._clickOffset = Vector2.Zero;
 }
 public void OnLeftButtonPressed( XnaMouseState state )
 {
     this._clickOffset = this._owner.ToControlPosition( state.Location );
 }
 public void OnMove(XnaMouseState state)
 {
 }
 public void OnLeftButtonClick(XnaMouseState state)
 {
 }
 public void OnMove( XnaMouseState state )
 {
     var translationVector = state.Location - this._owner.Location + this._clickOffset;
     this._moveControl.Translate( this._owner, translationVector );
 }