public DockSplit(DockPaneLocation location, DockPane parent, DockPane child) { child.width = Math.Max(WindowManager.instance.main.width / 2, child.width); child.height = Math.Max(WindowManager.instance.main.height / 2, child.height); margin = 0; padding = 0; x = parent.x; y = parent.y; width = parent.width; height = parent.height; WindowManager.instance.main.width -= child.width; WindowManager.instance.main.height -= child.height; switch (location) { case DockPaneLocation.Left: SplitVertical(child, parent); break; case DockPaneLocation.Right: SplitVertical(parent, child); break; case DockPaneLocation.Top: SplitHotizontal(child, parent); break; case DockPaneLocation.Bottom: SplitHotizontal(parent, child); break; } }
public DockSplitDirection GetDirection(DockPaneLocation location) { if (location == DockPaneLocation.Bottom || location == DockPaneLocation.Top) { return(DockSplitDirection.Vertical); } return(DockSplitDirection.Hortizonal); }
public void AddDockPane(DockPane parent, DockPane child, DockPaneLocation location) { var split = new DockSplit(location, parent, child); parent.SetParent(split); }