private Vector2 PinSizeAndAlignmentToTopLeft(Vector2 pin, Vector2 size, Alignment horizAlignment, Alignment vertAlignment)
{
Vector2 topLeft = new Vector2();
switch (horizAlignment)
{
case Alignment.Near: topLeft.X = pin.X; break;
case Alignment.Center: topLeft.X = pin.X - (size.X / 2); break;
case Alignment.Far: topLeft.X = pin.X - size.X; break;
}
switch (vertAlignment)
{
case Alignment.Near: topLeft.Y = pin.Y; break;
case Alignment.Center: topLeft.Y = pin.Y - (size.Y / 2); break;
case Alignment.Far: topLeft.Y = pin.Y - size.Y; break;
}
return topLeft;
}