LayoutFarm.UI.SpacePart.SetLocation C# (CSharp) Method

SetLocation() public method

public SetLocation ( int x, int y ) : void
x int
y int
return void
        public void SetLocation(int x, int y)
        {
            this.spaceX = x;
            this.spaceY = y;
        }
        public void SetBound(int x, int y, int w, int h)

Usage Example

示例#1
0
        void SetBoundOfFreeSpace(SpacePart space,
                                 SpacePart centerspace,
                                 bool suddenArr)
        {
            if (space == null)
            {
                return;
            }

            suddenArr = false;
            var centerspacex = centerspace.Content;
            int x_pos        = centerspace.X;
            int y_pos        = centerspace.Y;

            int dw = OwnerVisualElement.Width;
            int dh = OwnerVisualElement.Height;


            if (space.DesiredWidth < dw)
            {
                dw = space.DesiredWidth;
            }
            if (space.DesiredHeight < dh)
            {
                dh = space.DesiredHeight;
            }


            SetDockBound(space,
                         0,
                         0,
                         dw,
                         dh);


            switch (space.SpaceName)
            {
            case SpaceName.Left:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    x_pos -= space.Width;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    x_pos -= space.Width / 2;
                } break;
                }
                space.SetLocation(x_pos, y_pos);
            } break;

            case SpaceName.Right:
            {
                x_pos = centerspace.Right;
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Inner:
                {
                    x_pos -= space.Width;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    x_pos -= space.Width / 2;
                } break;
                }
            } break;

            case SpaceName.Top:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    y_pos -= space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    y_pos -= space.Height / 2;
                } break;
                }
            } break;

            case SpaceName.Bottom:
            {
                y_pos = centerspace.Bottom;

                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Inner:
                {
                    y_pos -= space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    y_pos -= space.Height / 2;
                } break;
                }
            } break;

            case SpaceName.LeftTop:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    x_pos -= space.Width;
                    y_pos -= space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    x_pos -= space.Width / 2;
                    y_pos -= space.Height / 2;
                } break;
                }
            } break;

            case SpaceName.LeftBottom:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    x_pos -= space.Width;
                    y_pos  = centerspace.Bottom;
                } break;

                case NamedSpaceContainerOverlapMode.Inner:
                {
                    y_pos = centerspace.Bottom - space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    x_pos -= space.Width / 2;
                    y_pos  = centerspace.Bottom - space.Height / 2;
                } break;
                }
            } break;

            case SpaceName.RightTop:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    x_pos  = centerspace.Right;
                    y_pos -= space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Inner:
                {
                    x_pos = centerspace.Right - space.Width;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    //outter - half of grip
                    x_pos  = centerspace.Right - (space.Width / 2);
                    y_pos -= space.Height - (space.Height / 2);
                } break;
                }
            } break;

            case SpaceName.RightBottom:
            {
                switch (space.OverlapMode)
                {
                case NamedSpaceContainerOverlapMode.Outer:
                {
                    x_pos = centerspace.Right;
                    y_pos = centerspace.Bottom;
                } break;

                case NamedSpaceContainerOverlapMode.Inner:
                {
                    x_pos = centerspace.Right - space.Width;
                    y_pos = centerspace.Bottom - space.Height;
                } break;

                case NamedSpaceContainerOverlapMode.Middle:
                {
                    //outer - half of grid box
                    x_pos = centerspace.Right - (space.Width / 2);
                    y_pos = centerspace.Bottom - (space.Height / 2);
                } break;
                }
            } break;
            }

            //VisualInvalidateCanvasArgs vinv = contentArrVisitor.GetVisualInvalidateCanvasArgs();
            space.SetLocation(x_pos, y_pos);
        }