using System; using System.Drawing; namespace Sheng.Winform.Controls.PopupControl { internal struct GripBounds { private const int GripSize = 6; private const int CornerGripSize = GripSize << 1; public GripBounds(Rectangle clientRectangle) { this.clientRectangle = clientRectangle; } private Rectangle clientRectangle; public Rectangle ClientRectangle { get { return clientRectangle; } //set { clientRectangle = value; } } public Rectangle Bottom { get { Rectangle rect = ClientRectangle; rect.Y = rect.Bottom - GripSize + 1; rect.Height = GripSize; return rect; } } public Rectangle BottomRight { get { Rectangle rect = ClientRectangle; rect.Y = rect.Bottom - CornerGripSize + 1; rect.Height = CornerGripSize; rect.X = rect.Width - CornerGripSize + 1; rect.Width = CornerGripSize; return rect; } } public Rectangle Top { get { Rectangle rect = ClientRectangle; rect.Height = GripSize; return rect; } } public Rectangle TopRight { get { Rectangle rect = ClientRectangle; rect.Height = CornerGripSize; rect.X = rect.Width - CornerGripSize + 1; rect.Width = CornerGripSize; return rect; } } public Rectangle Left { get { Rectangle rect = ClientRectangle; rect.Width = GripSize; return rect; } } public Rectangle BottomLeft { get { Rectangle rect = ClientRectangle; rect.Width = CornerGripSize; rect.Y = rect.Height - CornerGripSize + 1; rect.Height = CornerGripSize; return rect; } } public Rectangle Right { get { Rectangle rect = ClientRectangle; rect.X = rect.Right - GripSize + 1; rect.Width = GripSize; return rect; } } public Rectangle TopLeft { get { Rectangle rect = ClientRectangle; rect.Width = CornerGripSize; rect.Height = CornerGripSize; return rect; } } } }