117 lines
3.0 KiB
C#
117 lines
3.0 KiB
C#
|
using System;
|
|||
|
using System.Drawing;
|
|||
|
|
|||
|
namespace PresentationControls
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// CodeProject.com "Simple pop-up control" "http://www.codeproject.com/cs/miscctrl/simplepopup.asp".
|
|||
|
/// </summary>
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|