diff --git a/Source/Core/DolphinWX/Debugger/MemoryView.cpp b/Source/Core/DolphinWX/Debugger/MemoryView.cpp index 4c22e3410c..0b4364a75e 100644 --- a/Source/Core/DolphinWX/Debugger/MemoryView.cpp +++ b/Source/Core/DolphinWX/Debugger/MemoryView.cpp @@ -50,6 +50,7 @@ BEGIN_EVENT_TABLE(CMemoryView, wxControl) EVT_LEFT_UP(CMemoryView::OnMouseUpL) EVT_MOTION(CMemoryView::OnMouseMove) EVT_RIGHT_DOWN(CMemoryView::OnMouseDownR) + EVT_MOUSEWHEEL(CMemoryView::OnScrollWheel) EVT_MENU(-1, CMemoryView::OnPopupMenu) EVT_SIZE(CMemoryView::OnResize) END_EVENT_TABLE() @@ -137,6 +138,24 @@ void CMemoryView::OnMouseUpL(wxMouseEvent& event) event.Skip(); } +void CMemoryView::OnScrollWheel(wxMouseEvent& event) +{ + const bool scroll_down = (event.GetWheelRotation() < 0); + const int num_lines = event.GetLinesPerAction(); + + if (scroll_down) + { + curAddress += num_lines; + } + else + { + curAddress -= num_lines; + } + + Refresh(); + event.Skip(); +} + void CMemoryView::OnPopupMenu(wxCommandEvent& event) { #if wxUSE_CLIPBOARD diff --git a/Source/Core/DolphinWX/Debugger/MemoryView.h b/Source/Core/DolphinWX/Debugger/MemoryView.h index 76cfb7da5a..4541f9e1b8 100644 --- a/Source/Core/DolphinWX/Debugger/MemoryView.h +++ b/Source/Core/DolphinWX/Debugger/MemoryView.h @@ -21,6 +21,7 @@ public: void OnMouseMove(wxMouseEvent& event); void OnMouseUpL(wxMouseEvent& event); void OnMouseDownR(wxMouseEvent& event); + void OnScrollWheel(wxMouseEvent& event); void OnPopupMenu(wxCommandEvent& event); u32 GetSelection() { return selection ; }