protected virtual void ProcessPanning(MouseEventArgs e)
{
if (AutoPan && !ViewSize.IsEmpty && SelectionMode == ImageBoxSelectionMode.None)
{
Size clientSize;
clientSize = GetInsideViewPort(true).Size;
if (!IsPanning && (ScaledImageWidth > clientSize.Width || ScaledImageHeight > clientSize.Height))
{
_startMousePosition = e.Location;
IsPanning = true;
}
if (IsPanning)
{
int x;
int y;
Point position;
if (!InvertMouse)
{
x = -_startScrollPosition.X + (_startMousePosition.X - e.Location.X);
y = -_startScrollPosition.Y + (_startMousePosition.Y - e.Location.Y);
}
else
{
x = -(_startScrollPosition.X + (_startMousePosition.X - e.Location.X));
y = -(_startScrollPosition.Y + (_startMousePosition.Y - e.Location.Y));
}
position = new Point(x, y);
UpdateScrollPosition(position);
}
}
}