From ba067bcc24cc73b97219c76b7cb695e5dbacc69c Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Sun, 1 Nov 2015 12:41:13 -0500 Subject: [PATCH] Fix spectrum scale control in Windows --- src/visual/SpectrumCanvas.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/visual/SpectrumCanvas.cpp b/src/visual/SpectrumCanvas.cpp index a2f268a..53379de 100644 --- a/src/visual/SpectrumCanvas.cpp +++ b/src/visual/SpectrumCanvas.cpp @@ -34,7 +34,6 @@ SpectrumCanvas::SpectrumCanvas(wxWindow *parent, int *attribList) : glContext = new PrimaryGLContext(this, &wxGetApp().GetContext(this)); - mouseTracker.setVertDragLock(true); visualDataQueue.set_max_num_items(1); SetCursor(wxCURSOR_SIZEWE); @@ -214,6 +213,7 @@ void SpectrumCanvas::OnMouseMoved(wxMouseEvent& event) { } void SpectrumCanvas::OnMouseDown(wxMouseEvent& event) { + mouseTracker.setVertDragLock(true); InteractiveCanvas::OnMouseDown(event); SetCursor(wxCURSOR_CROSS); } @@ -223,7 +223,8 @@ void SpectrumCanvas::OnMouseWheelMoved(wxMouseEvent& event) { } void SpectrumCanvas::OnMouseReleased(wxMouseEvent& event) { - InteractiveCanvas::OnMouseReleased(event); + mouseTracker.setVertDragLock(false); + InteractiveCanvas::OnMouseReleased(event); SetCursor(wxCURSOR_SIZEWE); } @@ -246,11 +247,13 @@ SpectrumVisualDataQueue *SpectrumCanvas::getVisualDataQueue() { } void SpectrumCanvas::OnMouseRightDown(wxMouseEvent& event) { + mouseTracker.setHorizDragLock(true); mouseTracker.OnMouseRightDown(event); scaleFactor = wxGetApp().getSpectrumProcessor()->getScaleFactor(); } void SpectrumCanvas::OnMouseRightReleased(wxMouseEvent& event) { + mouseTracker.setHorizDragLock(false); if (!mouseTracker.getOriginDeltaMouseY()) { resetScaleFactor = true; }