]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/slider.cpp
Here it comes:
[wxWidgets.git] / src / gtk1 / slider.cpp
index 5f9c8915b66b13acfc924024aafeab4e7e2a8924..a9a4e9a7d33c859d4f67fc9a912c2b4bd1e008b0 100644 (file)
@@ -35,6 +35,7 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win )
     
     float diff = win->m_adjust->value - win->m_oldPos;
     if (fabs(diff) < 0.2) return;
+    win->m_oldPos = win->m_adjust->value;
   
     wxEventType command = wxEVT_NULL;
   
@@ -49,18 +50,18 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win )
     else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP;
     else command = wxEVT_SCROLL_THUMBTRACK;
 
-    int value = (int)(win->m_adjust->value+0.5);
+    int value = (int)ceil(win->m_adjust->value);
       
     int orient = wxHORIZONTAL;
     if (win->GetWindowStyleFlag() & wxSB_VERTICAL == wxSB_VERTICAL) orient = wxVERTICAL;
   
     wxScrollEvent event( command, win->GetId(), value, orient );
     event.SetEventObject( win );
-    win->ProcessEvent( event );
+    win->GetEventHandler()->ProcessEvent( event );
   
     wxCommandEvent cevent( wxEVT_COMMAND_SLIDER_UPDATED, win->GetId() );
     cevent.SetEventObject( win );
-    win->ProcessEvent( cevent );
+    win->GetEventHandler()->ProcessEvent( cevent );
 }
 
 //-----------------------------------------------------------------------------
@@ -156,12 +157,12 @@ void wxSlider::SetRange( int minValue, int maxValue )
 
 int wxSlider::GetMin(void) const
 {
-    return (int)(m_adjust->lower+0.5);
+    return (int)ceil(m_adjust->lower);
 }
 
 int wxSlider::GetMax(void) const
 {
-    return (int)(m_adjust->upper+0.5);
+    return (int)ceil(m_adjust->upper);
 }
 
 void wxSlider::SetPageSize( int pageSize )
@@ -177,7 +178,7 @@ void wxSlider::SetPageSize( int pageSize )
 
 int wxSlider::GetPageSize(void) const
 {
-    return (int)(m_adjust->page_increment+0.5);
+    return (int)ceil(m_adjust->page_increment);
 }
 
 void wxSlider::SetThumbLength( int len )
@@ -193,7 +194,7 @@ void wxSlider::SetThumbLength( int len )
 
 int wxSlider::GetThumbLength(void) const
 {
-    return (int)(m_adjust->page_size+0.5);
+    return (int)ceil(m_adjust->page_size);
 }
 
 void wxSlider::SetLineSize( int WXUNUSED(lineSize) )