public VerticalSplitterForm() { LeftDock = new DockAreaForm(); RightDock = new DockAreaForm(); Clip = false; Add(LeftDock); Add(RightDock); AfterSet = () => { //SplitX = DefS; LeftDock.Set(0, 0, SplitX - 4, H); RightDock.Set(SplitX + 4, 0, W - (SplitX + 4), H); }; Resized = () => { if (Root != null) { W = Root.W; H = Root.H; } }; MouseDown = (b) => { if (b == 0) { if (UI.MX >= (GX + SplitX - 16)) { if (UI.MX <= (GX + SplitX + 16)) { if (UI.MY >= (GY)) { if (UI.MY <= (GY + H)) { DragSplit = true; } } } } ; } }; MouseMove = (x, y, dx, dy) => { if (DragSplit) { SplitX += dx; LeftDock.Set(0, 0, SplitX - 8, H); RightDock.Set(SplitX + 8, 0, W - (SplitX + 8), H); LeftDock.Resize(); RightDock.Resize(); } }; MouseUp = (b) => { if (b == 0) { DragSplit = false; } }; Draw = () => { DrawFormSolid(new Vector4(0.3f, 0.3f, 0.3f, 1.0f)); DrawFormSolid(new Vector4(0.35f, 0.35f, 0.35f, 1.0f), SplitX - 2, 0, 4, H); }; }
public HorizontalSplitterForm() { Clip = false; TopDock = new DockAreaForm(); BotDock = new DockAreaForm(); Add(TopDock); Add(BotDock); AfterSet = () => { //SplitY = DefS; TopDock.Set(0, 0, W, SplitY - 4); BotDock.Set(0, SplitY + 4, W, H - (SplitY + 8)); // W = Root.W; // H = Root.H; // SplitY = H / 2; }; Resized = () => { if (Root != null) { W = Root.W; H = Root.H; } }; MouseDown = (b) => { if (b == 0) { if (UI.MX >= (GX)) { if (UI.MX <= (GX + W)) { if (UI.MY >= (GY + SplitY - 12)) { if (UI.MY <= (GY + SplitY + 8)) { DragSplit = true; } } } } ; } }; MouseMove = (x, y, dx, dy) => { if (DragSplit) { SplitY += dy; TopDock.Set(0, 0, W, SplitY - 4); BotDock.Set(0, SplitY + 4, W, H - (SplitY + 4)); } }; MouseUp = (b) => { if (b == 0) { DragSplit = false; } }; Draw = () => { DrawFormSolid(new Vector4(0.3f, 0.3f, 0.3f, 1.0f)); DrawFormSolid(new Vector4(0.35f, 0.35f, 0.35f, 1.0f), 0, SplitY - 2, W, 4); }; }