using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using WeifenLuo.WinFormsUI.Docking;

namespace WeifenLuo.WinFormsUI.ThemeVS2013
{
    /// <summary>
    /// 
    /// </summary>
    public class VS2013DockPaneFactory : DockPanelExtender.IDockPaneFactory
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="content"></param>
        /// <param name="visibleState"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        public DockPane CreateDockPane(IDockContent content, DockState visibleState, bool show)
        {
            return new VS2013DockPane(content, visibleState, show);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="content"></param>
        /// <param name="floatWindow"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        [SuppressMessage("Microsoft.Naming", "CA1720:AvoidTypeNamesInParameters", MessageId = "1#")]
        public DockPane CreateDockPane(IDockContent content, FloatWindow floatWindow, bool show)
        {
            return new VS2013DockPane(content, floatWindow, show);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="content"></param>
        /// <param name="previousPane"></param>
        /// <param name="alignment"></param>
        /// <param name="proportion"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        public DockPane CreateDockPane(IDockContent content, DockPane previousPane, DockAlignment alignment, double proportion, bool show)
        {
            return new VS2013DockPane(content, previousPane, alignment, proportion, show);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="content"></param>
        /// <param name="floatWindowBounds"></param>
        /// <param name="show"></param>
        /// <returns></returns>
        [SuppressMessage("Microsoft.Naming", "CA1720:AvoidTypeNamesInParameters", MessageId = "1#")]
        public DockPane CreateDockPane(IDockContent content, Rectangle floatWindowBounds, bool show)
        {
            return new VS2013DockPane(content, floatWindowBounds, show);
        }
    }
}
