Clean-up/fix squelch

This commit is contained in:
Charles J. Cliffe
2015-11-21 15:12:20 -05:00
parent c503bb93da
commit 724808d9ff
7 changed files with 74 additions and 80 deletions
+12 -7
View File
@@ -25,7 +25,7 @@ EVT_ENTER_WINDOW(MeterCanvas::OnMouseEnterWindow)
wxEND_EVENT_TABLE()
MeterCanvas::MeterCanvas(wxWindow *parent, int *attribList) :
InteractiveCanvas(parent, attribList), level(0), level_max(1), inputValue(0), userInputValue(0), showUserInput(true) {
InteractiveCanvas(parent, attribList), level(0), level_min(0), level_max(1), inputValue(0), userInputValue(0), showUserInput(true) {
glContext = new MeterContext(this, &wxGetApp().GetContext(this));
}
@@ -47,6 +47,11 @@ void MeterCanvas::setMax(float max_in) {
Refresh();
}
void MeterCanvas::setMin(float min_in) {
level_min = min_in;
Refresh();
}
void MeterCanvas::setInputValue(float slider_in) {
userInputValue = inputValue = slider_in;
Refresh();
@@ -80,10 +85,10 @@ void MeterCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
if (mouseTracker.mouseInView()) {
glContext->Draw(0.4, 0.4, 0.4, 0.5, mouseTracker.getMouseY());
}
glContext->Draw(ThemeMgr::mgr.currentTheme->meterLevel.r, ThemeMgr::mgr.currentTheme->meterLevel.g, ThemeMgr::mgr.currentTheme->meterLevel.b, 0.5, level / level_max);
glContext->Draw(ThemeMgr::mgr.currentTheme->meterLevel.r, ThemeMgr::mgr.currentTheme->meterLevel.g, ThemeMgr::mgr.currentTheme->meterLevel.b, 0.5, (level-level_min) / (level_max-level_min));
if (showUserInput) {
glContext->Draw(ThemeMgr::mgr.currentTheme->meterValue.r, ThemeMgr::mgr.currentTheme->meterValue.g, ThemeMgr::mgr.currentTheme->meterValue.b, 0.5, userInputValue / level_max);
}
glContext->Draw(ThemeMgr::mgr.currentTheme->meterValue.r, ThemeMgr::mgr.currentTheme->meterValue.g, ThemeMgr::mgr.currentTheme->meterValue.b, 0.5, (userInputValue-level_min) / (level_max-level_min));
}
glContext->DrawEnd();
SwapBuffers();
@@ -101,7 +106,7 @@ void MeterCanvas::OnMouseMoved(wxMouseEvent& event) {
InteractiveCanvas::OnMouseMoved(event);
if (mouseTracker.mouseDown()) {
userInputValue = mouseTracker.getMouseY() * level_max;
userInputValue = mouseTracker.getMouseY() * (level_max-level_min) + level_min;
} else {
if (!helpTip.empty()) {
setStatusText(helpTip);
@@ -111,7 +116,7 @@ void MeterCanvas::OnMouseMoved(wxMouseEvent& event) {
void MeterCanvas::OnMouseDown(wxMouseEvent& event) {
InteractiveCanvas::OnMouseDown(event);
userInputValue = mouseTracker.getMouseY() * level_max;
userInputValue = mouseTracker.getMouseY() * (level_max-level_min) + level_min;
mouseTracker.setHorizDragLock(true);
Refresh();
}
@@ -123,7 +128,7 @@ void MeterCanvas::OnMouseWheelMoved(wxMouseEvent& event) {
void MeterCanvas::OnMouseReleased(wxMouseEvent& event) {
InteractiveCanvas::OnMouseReleased(event);
userInputValue = mouseTracker.getMouseY() * level_max;
userInputValue = mouseTracker.getMouseY() * (level_max-level_min) + level_min;
Refresh();
}
+2 -1
View File
@@ -22,6 +22,7 @@ public:
float getLevel();
void setMax(float max_in);
void setMin(float max_in);
void setInputValue(float slider_in);
bool inputChanged();
@@ -44,7 +45,7 @@ private:
MeterContext *glContext;
float level;
float level_max;
float level_min, level_max;
float inputValue;
float userInputValue;