fix skewing lag offset, mouse hover issues

This commit is contained in:
Charles J. Cliffe 2015-09-10 01:26:05 -04:00
parent 7b48a1f455
commit 0b7cbbde35
4 changed files with 20 additions and 14 deletions

View File

@ -842,9 +842,9 @@ void AppFrame::OnIdle(wxIdleEvent& event) {
wproc->setBandwidth(waterfallCanvas->getBandwidth()); wproc->setBandwidth(waterfallCanvas->getBandwidth());
wproc->setCenterFrequency(waterfallCanvas->getCenterFrequency()); wproc->setCenterFrequency(waterfallCanvas->getCenterFrequency());
waterfallCanvas->processInputQueue(); // waterfallCanvas->processInputQueue();
// waterfallCanvas->Refresh(); // waterfallCanvas->Refresh();
demodWaterfallCanvas->processInputQueue(); // demodWaterfallCanvas->processInputQueue();
// demodWaterfallCanvas->Refresh(); // demodWaterfallCanvas->Refresh();
if (!this->IsActive()) { if (!this->IsActive()) {

View File

@ -63,7 +63,6 @@ float MeterCanvas::getInputValue() {
void MeterCanvas::setShowUserInput(bool showUserInput) { void MeterCanvas::setShowUserInput(bool showUserInput) {
this->showUserInput = showUserInput; this->showUserInput = showUserInput;
Refresh();
} }
void MeterCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { void MeterCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
@ -91,7 +90,11 @@ void MeterCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
} }
void MeterCanvas::OnIdle(wxIdleEvent &event) { void MeterCanvas::OnIdle(wxIdleEvent &event) {
event.Skip(); if (mouseTracker.mouseInView()) {
Refresh();
} else {
event.Skip();
}
} }
void MeterCanvas::OnMouseMoved(wxMouseEvent& event) { void MeterCanvas::OnMouseMoved(wxMouseEvent& event) {
@ -104,7 +107,6 @@ void MeterCanvas::OnMouseMoved(wxMouseEvent& event) {
setStatusText(helpTip); setStatusText(helpTip);
} }
} }
Refresh();
} }
void MeterCanvas::OnMouseDown(wxMouseEvent& event) { void MeterCanvas::OnMouseDown(wxMouseEvent& event) {

View File

@ -79,19 +79,21 @@ void ModeSelectorCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
} }
void ModeSelectorCanvas::OnIdle(wxIdleEvent &event) { void ModeSelectorCanvas::OnIdle(wxIdleEvent &event) {
event.Skip(); if (mouseTracker.mouseInView()) {
Refresh();
} else {
event.Skip();
}
} }
void ModeSelectorCanvas::OnMouseMoved(wxMouseEvent& event) { void ModeSelectorCanvas::OnMouseMoved(wxMouseEvent& event) {
InteractiveCanvas::OnMouseMoved(event); InteractiveCanvas::OnMouseMoved(event);
Refresh();
} }
void ModeSelectorCanvas::OnMouseDown(wxMouseEvent& event) { void ModeSelectorCanvas::OnMouseDown(wxMouseEvent& event) {
InteractiveCanvas::OnMouseDown(event); InteractiveCanvas::OnMouseDown(event);
mouseTracker.setHorizDragLock(true); mouseTracker.setHorizDragLock(true);
mouseTracker.setVertDragLock(true); mouseTracker.setVertDragLock(true);
Refresh();
} }
void ModeSelectorCanvas::OnMouseWheelMoved(wxMouseEvent& event) { void ModeSelectorCanvas::OnMouseWheelMoved(wxMouseEvent& event) {

View File

@ -107,14 +107,16 @@ void WaterfallCanvas::processInputQueue() {
vData->decRefCount(); vData->decRefCount();
processed = true; processed = true;
} }
lpsIndex-=targetVis;
} else {
break;
} }
lpsIndex-=targetVis;
} }
} }
} }
if (processed) { // if (processed) {
Refresh(); Refresh();
} // }
} }
void WaterfallCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { void WaterfallCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
@ -428,10 +430,10 @@ void WaterfallCanvas::OnKeyDown(wxKeyEvent& event) {
} }
void WaterfallCanvas::OnIdle(wxIdleEvent &event) { void WaterfallCanvas::OnIdle(wxIdleEvent &event) {
// Refresh(); // Refresh();
// processInputQueue(); processInputQueue();
// Refresh(); // Refresh();
// event.RequestMore(); event.RequestMore();
event.Skip(); // event.Skip();
} }
void WaterfallCanvas::OnMouseMoved(wxMouseEvent& event) { void WaterfallCanvas::OnMouseMoved(wxMouseEvent& event) {