Spring – Rev 1

Subversion Repositories:
Rev:
using System;
using System.Windows.Forms;
using System.Xml.Serialization;
using SpringCombos.Properties;

namespace SpringCombos
{
    [Serializable, XmlRoot(ElementName = "MouseCombo")]
    public class MouseCombo : Combo
    {
#region Public Enums, Properties and Fields

        [XmlElement(ElementName = "MouseButton")]
        public MouseButtons Button { get; set; }

        [XmlElement(ElementName = "Clicks")]
        public int Clicks { get; set; }

        [XmlElement(ElementName = "X")]
        public double X { get; set; }

        [XmlElement(ElementName = "Y")]
        public double Y { get; set; }

        [XmlElement(ElementName = "Delta")]
        public int Delta { get; set; }

        [XmlElement(ElementName = "ComboAction")]
        public ComboAction ComboAction { get; set; }

#endregion

#region Constructors, Destructors and Finalizers

        [UsedImplicitly]
        public MouseCombo()
        {
        }

        private MouseCombo(MouseButtons button, int clicks, int x, int y, int delta)
        {
            Button = button;
            Clicks = clicks;
            X = x;
            Y = y;
            Delta = delta;
        }

        public MouseCombo(MouseEventArgs args, ComboAction comboAction) : this(args.Button,
            args.Clicks,
            args.X,
            args.Y,
            args.Delta) =>
            ComboAction = comboAction;

#endregion
    }
}