private void DebugPanel_MouseMove(object sender, MouseEventArgs e) { if (kernel.CPU.DebugPause) { if (e.X > 2 && e.X < 2 + LABEL_WIDTH) { int top = e.Y / ROW_HEIGHT * ROW_HEIGHT; ActiveLine[0] = 0; DebugPanel.Cursor = Cursors.Default; if ((e.Y / ROW_HEIGHT != position.Y / ROW_HEIGHT || position.Y == -1) && e.Y / ROW_HEIGHT < 28) { position.X = e.X; position.Y = e.Y; AddBPOverlayButton.Top = DebugPanel.Top + top - 1; DeleteBPOverlayButton.Top = DebugPanel.Top + top - 1; InspectOverlayButton.Top = DebugPanel.Top + top - 1; StepOverOverlayButton.Top = DebugPanel.Top + top - 1; LabelOverlayButton.Top = DebugPanel.Top + top - 1; AddBPOverlayButton.Left = 3; DeleteBPOverlayButton.Left = AddBPOverlayButton.Left + AddBPOverlayButton.Width; InspectOverlayButton.Left = DeleteBPOverlayButton.Left + DeleteBPOverlayButton.Width; LabelOverlayButton.Left = InspectOverlayButton.Left + InspectOverlayButton.Width; StepOverOverlayButton.Left = LabelOverlayButton.Left + LabelOverlayButton.Width; AddBPOverlayButton.Visible = true; DeleteBPOverlayButton.Visible = true; InspectOverlayButton.Visible = true; LabelOverlayButton.Visible = true; int row = position.Y / ROW_HEIGHT; // Only show the Step Over button for Jump and Branch commands if (codeList != null && codeList.Count > TopLineIndex + row) { DebugLine line = codeList[TopLineIndex + row]; StepOverOverlayButton.Visible = line.StepOver; } } } else { position.X = -1; position.Y = -1; AddBPOverlayButton.Visible = false; DeleteBPOverlayButton.Visible = false; InspectOverlayButton.Visible = false; StepOverOverlayButton.Visible = false; LabelOverlayButton.Visible = false; ActiveLine[0] = 0; int row = e.Y / ROW_HEIGHT; if (codeList != null && codeList.Count > TopLineIndex + row) { DebugLine line = codeList[TopLineIndex + row]; // try to highlight the word we are over if (line.HasAddress()) { ActiveLine[0] = line.PC; ActiveLine[1] = 174; ActiveLine[2] = line.GetAddressName().Length * 7; DebugPanel.Cursor = Cursors.Hand; } } if (ActiveLine[0] == 0) { DebugPanel.Cursor = Cursors.Default; } } DebugPanel.Refresh(); } }