using System;
using PaintDotNet;

namespace BlendModesPlus
{
    public class EffectPluginConfigToken : PaintDotNet.Effects.EffectConfigToken
    {
        public Surface LoadedImage;
        public bool FromClipboard;
        public Surface ClipboardImage;
        public string FilePath;
        public string BlendMode;
        public bool SwapLayers;

        public EffectPluginConfigToken()
            : base()
        {
            LoadedImage = null;
            FromClipboard = false;
            ClipboardImage = null;
            FilePath = null;
            BlendMode = "Normal";
            SwapLayers = false;
        }

        protected EffectPluginConfigToken(EffectPluginConfigToken copyMe)
            : base(copyMe)
        {
            this.LoadedImage = copyMe.LoadedImage;
            this.FromClipboard = copyMe.FromClipboard;
            this.ClipboardImage = copyMe.ClipboardImage;
            this.FilePath = copyMe.FilePath;
            this.BlendMode = copyMe.BlendMode;
            this.SwapLayers = copyMe.SwapLayers;
        }

        public override object Clone()
        {
            return new EffectPluginConfigToken(this);
        }
    }
}