Example #1
0
static void scroll_h_action( 	Widget 		w,
				XtPointer 	client_data,
				XtPointer 	call_data)
{
  XmScrollBarCallbackStruct *cbs = (XmScrollBarCallbackStruct *) call_data;
  FlowCtx *ctx = (FlowCtx *) ((FlowWidget) client_data)->flow.flow_ctx;

  switch( cbs->reason)
  {
    case XmCR_DRAG:
    case XmCR_VALUE_CHANGED:
    case XmCR_INCREMENT:
    case XmCR_DECREMENT:
    case XmCR_PAGE_INCREMENT:
    case XmCR_PAGE_DECREMENT:
    case XmCR_TO_TOP:
    case XmCR_TO_BOTTOM:
      flow_scroll_horizontal( ctx, cbs->value, 0);
      break;
  }
}
Example #2
0
static void scroll_h_action( 	GtkWidget      	*w,
				gpointer 	data)
{
  BrowWidgetGtk *broww = (BrowWidgetGtk *)data;
  if ( broww->scroll_h_ignore) {
    broww->scroll_h_ignore = 0;
    return;
  }

  BrowCtx *ctx = (BrowCtx *) broww->brow_ctx;
  gdouble value;
  value = gtk_range_get_value( GTK_RANGE(broww->scroll_h));

  if ( value == 0 && fabs(broww->scroll_h_value) > 2) {
    // Probably a resize that seems to set value to zero, set old value
    ctx->change_scrollbar();
    return;
  }
  broww->scroll_h_value = value;
  flow_scroll_horizontal( ctx, int(value), 0);

}