protected override void OnMouseMove(MouseEventArgs e)
{
try
{
this.mouseX = e.X;
this.mouseY = e.Y;
if (this.prevMouseX != this.mouseX || this.prevMouseY != this.mouseY)
{
if (this.canvasLeftOffset < e.X && e.X < Width - this.canvasRightOffset && this.canvasTopOffset < e.Y && e.Y < Height - this.canvasBottomOffset)
{
this.isMouseOverCanvas = true;
if (this.actionType == ChartActionType.Cross)
SetCursor(ChartCursorType.Cross);
}
else
{
this.isMouseOverCanvas = false;
if (this.actionType == ChartActionType.Cross)
Invalidate();
SetCursor(ChartCursorType.Default);
}
if (this.padSplit && this.padSplitIndex != 0)
{
Pad pad1 = this.pads[this.padSplitIndex];
Pad pad2 = this.pads[this.padSplitIndex - 1];
int num1 = e.Y;
if (pad1.Y2 - e.Y < 20)
num1 = pad1.Y2 - 20;
if (e.Y - pad2.Y1 < 20)
num1 = pad2.Y1 + 20;
if (pad1.Y2 - num1 >= 20 && num1 - pad2.Y1 >= 20)
{
int num2 = pad1.Y2 - num1;
int num3 = num1 - pad2.Y1;
this.padsHeightArray[this.padSplitIndex] = (object)((double)num2 / (double)(this.Height - this.canvasTopOffset - this.canvasBottomOffset));
this.padsHeightArray[this.padSplitIndex - 1] = (object)((double)num3 / (double)(this.Height - this.canvasTopOffset - this.canvasBottomOffset));
pad1.SetCanvas(pad1.X1, pad1.X2, num1, pad1.Y2);
pad2.SetCanvas(pad2.X1, pad2.X2, pad2.Y1, num1);
}
this.contentUpdated = true;
Invalidate();
}
foreach (Pad pad in this.pads)
if (pad.Y1 - 1 <= e.Y && e.Y <= pad.Y1 + 1 && this.pads.IndexOf(pad) != 0)
SetCursor(ChartCursorType.VSplitter);
foreach (Pad pad in this.pads)
if (pad.X1 <= e.X && e.X <= pad.X2 && pad.Y1 <= e.Y && e.Y <= pad.Y2)
pad.MouseMove(e);
if (this.isMouseOverCanvas && this.actionType == ChartActionType.Cross)
Invalidate();
}
this.prevMouseX = this.mouseX;
this.prevMouseY = this.mouseY;
}
catch
{
}
}