Exemplo n.º 1
0
 /// <summary>
 /// Mouses the pressed.
 /// </summary>
 /// <param name="key">The key.</param>
 private void MousePressed(MouseKey key)
 {
     this.strings.AppendLine(String.Format("Mouse Pressed: {0}", key.Key));
 }
Exemplo n.º 2
0
        /// <summary>
        /// Called when a mouse button is pressed.
        /// </summary>
        /// <param name="position">The position.</param>
        /// <param name="key">The key.</param>
        internal void OnInputMousePress(Vector2 position, MouseKey key)
        {
            if (this.isMouseOver)
            {
                var relative = position - this.position;
                foreach (var control in this.Controls)
                {
                    if (control.Visible)
                    {
                        if (control.IsPointInside(relative))
                        {
                            if (control.Enabled)
                            {
                                control.OnInputMousePress(relative, key);
                            }
                            return;
                        }
                    }
                }

                this.isMouseDown[key.Key] = true;
                this.MouseDown(this, new MouseEventArgs(AlmiranteEngine.Time.Total, key));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Called when a mouse button is released.
        /// </summary>
        /// <param name="position">The position.</param>
        /// <param name="key">The key.</param>
        internal void OnInputMouseRelease(Vector2 position, MouseKey key)
        {
            if (this.isMouseDown.ContainsKey(key.Key))
            {
                if (this.isMouseDown[key.Key])
                {
                    this.MouseClick(this, new MouseEventArgs(AlmiranteEngine.Time.Total, key));

                    if (AlmiranteEngine.Time.Total - this.lastMouseUp <= (SystemInformation.DoubleClickTime / 1000.0f) &&
                        Math.Abs(this.lastMouseUpPosition.X - position.X) <= SystemInformation.DoubleClickSize.Width &&
                        Math.Abs(this.lastMouseUpPosition.Y - position.Y) <= SystemInformation.DoubleClickSize.Height &&
                        this.lastMouseKeyUp == key.Key)
                    {
                        this.lastMouseUp = 0.0;
                        this.MouseDoubleClick(this, new MouseEventArgs(AlmiranteEngine.Time.Total, key));
                    }
                    else
                    {
                        this.lastMouseKeyUp = key.Key;
                        this.lastMouseUp = AlmiranteEngine.Time.Total;
                        this.lastMouseUpPosition = position;
                    }

                    this.isMouseDown[key.Key] = false;
                    this.MouseUp(this, new MouseEventArgs(AlmiranteEngine.Time.Total, key));

                    if (!this.IsPointInside(position))
                    {
                        this.isMouseOver = false;
                        this.MouseLeave(this, new EventArgs());
                    }
                }
            }

            var relative = position - this.position;
            foreach (var control in this.Controls)
            {
                control.OnInputMouseRelease(relative, key);
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Listens for mouse button release events.
 /// </summary>
 /// <param name="key">Released key.</param>
 private void OnInputMouseReleased(MouseKey key)
 {
     if (!this.Transitioning)
     {
         this.Interface.OnInputMouseRelease(this.input.Mouse.Position, key);
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Listens for mouse button press events.
 /// </summary>
 /// <param name="key">Pressed key.</param>
 private void OnInputMousePressed(MouseKey key)
 {
     if (!this.Transitioning)
     {
         var control = this.Interface.GetControlAt(this.input.Mouse.Position);
         if (control != null)
         {
             if (key.Key == MouseButton.Left)
             {
                 if (control.CanFocus)
                 {
                     if (this.focus != control)
                     {
                         this.Focus(control);
                     }
                 }
             }
             control.OnInputMousePress(this.input.Mouse.Position - control.RealPosition, key);
         }
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MouseEventArgs"/> class.
 /// </summary>
 /// <param name="key">The key.</param>
 public MouseEventArgs(MouseKey key)
     : base()
 {
     this.Scroll = 0;
     this.Key = key;
 }
Exemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MouseEventArgs"/> class.
 /// </summary>
 /// <param name="time">The time.</param>
 /// <param name="key">The key.</param>
 public MouseEventArgs(double time, MouseKey key)
     : base(time)
 {
     this.Scroll = 0;
     this.Key = key;
 }
Exemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MouseEventArgs"/> class.
 /// </summary>
 /// <param name="time">The time.</param>
 /// <param name="key">The key.</param>
 /// <param name="amount">The amount.</param>
 public MouseEventArgs(double time, MouseKey key, int amount)
     : base(time)
 {
     this.Scroll = amount;
     this.Key = key;
 }