Esempio n. 1
0
        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);
            };
        }
Esempio n. 2
0
        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);
            };
        }