void SNM_KnobCaption::SetValue(int _value) { if (m_value != _value) { m_value = _value; WDL_VWnd* knob = m_children ? m_children->Get(0) : NULL; if (knob && !strcmp(knob->GetType(), "SNM_Knob")) ((SNM_Knob*)knob)->SetSliderPosition(_value); RequestRedraw(NULL); } }
void SNM_KnobCaption::SetPosition(const RECT* _r) { m_position = *_r; if (m_children) { WDL_VWnd* knob = m_children ? m_children->Get(0) : NULL; if (knob && !strcmp(knob->GetType(), "SNM_Knob")) { // fixed knob size atm.. RECT r = {0,0,0,0}; r.top = int(0.5 + (m_position.bottom-m_position.top)/2 - SNM_GUI_W_H_KNOB/2); // valign r.right = SNM_GUI_W_H_KNOB; r.bottom = r.top + SNM_GUI_W_H_KNOB; knob->SetPosition(&r); } } }