/* Create slider */
slider = new wxSlider( this, SliderScroll_Event, 0, 0, SLIDER_MAX_POS );
+ /* Add mouse click on slider */
+ slider->Connect( wxEVT_LEFT_DOWN,
+ wxMouseEventHandler( InputManager::OnSliderClick ),
+ NULL, this );
/* Create disc buttons */
disc_frame = new wxPanel( this );
vlc_mutex_unlock( &p_intf->change_lock );
}
+void InputManager::OnSliderClick( wxMouseEvent& event )
+{
+ wxSlider* slider = wxStaticCast( event.GetEventObject(), wxSlider );
+ int min = slider->GetMin();
+ int max = slider->GetMax();
+ int pos = event.GetPosition().x;
+ int dim = slider->GetClientSize().x;
+
+ if( pos < 0 || pos >= dim ) return;
+
+ int val = ( pos * ( max - min + 1 ) ) / dim;
+ slider->SetValue( min + val );
+
+ event.Skip();
+}
+
void InputManager::ShowSlider( bool show )
{
if( !!show == !!slider->IsShown() ) return;
void ShowSlider( bool show = true );
void OnSliderUpdate( wxScrollEvent& event );
+ void OnSliderClick( wxMouseEvent& event );
void OnDiscMenu( wxCommandEvent& event );
void OnDiscPrev( wxCommandEvent& event );