- m_hAdjust->lower = 0.0;
- m_hAdjust->upper = frange;
- m_hAdjust->value = fpos;
- m_hAdjust->step_increment = 1.0;
- m_hAdjust->page_increment = (float)(wxMax(fthumb,0));
- m_hAdjust->page_size = fthumb;
- }
- else
- {
- float fpos = (float)pos;
- float frange = (float)range;
- float fthumb = (float)thumbVisible;
- if (fpos > frange-fthumb) fpos = frange-fthumb;
- if (fpos < 0.0) fpos = 0.0;
-
- if ((fabs(frange-m_vAdjust->upper) < 0.2) &&
- (fabs(fthumb-m_vAdjust->page_size) < 0.2))
- {
- SetScrollPos( orient, pos, refresh );
- return;
- }
-
- m_oldVerticalPos = fpos;
-
- m_vAdjust->lower = 0.0;
- m_vAdjust->upper = frange;
- m_vAdjust->value = fpos;
- m_vAdjust->step_increment = 1.0;
- m_vAdjust->page_increment = (float)(wxMax(fthumb,0));
- m_vAdjust->page_size = fthumb;
- }
-
- if (orient == wxHORIZONTAL)
- g_signal_emit_by_name (m_hAdjust, "changed");
- else
- g_signal_emit_by_name (m_vAdjust, "changed");
-}
-
-void wxWindowGTK::GtkUpdateScrollbar(int orient)
-{
- GtkAdjustment *adj = orient == wxHORIZONTAL ? m_hAdjust : m_vAdjust;
- gpointer fn = orient == wxHORIZONTAL
- ? (gpointer) gtk_window_hscroll_callback
- : (gpointer) gtk_window_vscroll_callback;
-
- g_signal_handlers_disconnect_by_func (adj, fn, this);
- g_signal_emit_by_name (adj, "value_changed");
- g_signal_connect (adj, "value_changed", G_CALLBACK (fn), this);