using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace Vortex.Input {

	/// <summary>
	/// Base class for mouse actions which contains information about action location point
	/// </summary>
	public abstract class MouseActionInfo : InputActionInfo {
		protected Point _location;

		/// <summary>
		/// Initializes a new instance of the <see cref="MouseActionInfo"/> class.
		/// </summary>
		/// <param name="location">The location of mouse pointer on the action time.</param>
		/// <param name="keyStates">The key states on the action moment.</param>
		public MouseActionInfo(Point location, KeyStates keyStates)
			: base(keyStates) {
			_location = location;
		}

		/// <summary>
		/// Gets the location of mouse pointer on the action moment.
		/// </summary>
		/// <value>The location of mouse pointer.</value>
		public Point Location {
			get { return _location; }
		}
	}
}
