added wheelmouse scrolling support for the canvas (cut & paste from

1999-07-10  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/disp_callbacks.c (gdisplay_canvas_events): added wheelmouse
	scrolling support for the canvas (cut & paste from gtkmain.c).
	CTRL+wheel scrolls horizontally.
This commit is contained in:
Michael Natterer 1999-07-09 23:03:11 +00:00 committed by Michael Natterer
parent 8beb7c582c
commit 885effaf81
4 changed files with 119 additions and 0 deletions

View File

@ -1,3 +1,8 @@
1999-07-10 Michael Natterer <mitschel@cs.tu-berlin.de>
* app/disp_callbacks.c (gdisplay_canvas_events): added wheelmouse
scrolling support for the canvas (cut & paste from gtkmain.c).
CTRL+wheel scrolls horizontally.
Fri Jul 9 22:24:53 BST 1999 Andy Thomas <alt@gimp.org>

View File

@ -284,6 +284,33 @@ gdisplay_canvas_events (GtkWidget *canvas,
return_val = TRUE;
break;
/* wheelmouse support */
case 4:
state |= GDK_BUTTON4_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value - adj->page_increment / 2;
new_value =
CLAMP (new_value, adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
case 5:
state |= GDK_BUTTON5_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value + adj->page_increment / 2;
new_value = CLAMP (new_value,
adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
default:
break;
}
@ -337,6 +364,17 @@ gdisplay_canvas_events (GtkWidget *canvas,
state &= ~GDK_BUTTON3_MASK;
break;
/* wheelmouse support */
case 4:
state &= ~GDK_BUTTON4_MASK;
return_val = TRUE;
break;
case 5:
state &= ~GDK_BUTTON5_MASK;
return_val = TRUE;
break;
default:
break;
}

View File

@ -284,6 +284,33 @@ gdisplay_canvas_events (GtkWidget *canvas,
return_val = TRUE;
break;
/* wheelmouse support */
case 4:
state |= GDK_BUTTON4_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value - adj->page_increment / 2;
new_value =
CLAMP (new_value, adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
case 5:
state |= GDK_BUTTON5_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value + adj->page_increment / 2;
new_value = CLAMP (new_value,
adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
default:
break;
}
@ -337,6 +364,17 @@ gdisplay_canvas_events (GtkWidget *canvas,
state &= ~GDK_BUTTON3_MASK;
break;
/* wheelmouse support */
case 4:
state &= ~GDK_BUTTON4_MASK;
return_val = TRUE;
break;
case 5:
state &= ~GDK_BUTTON5_MASK;
return_val = TRUE;
break;
default:
break;
}

View File

@ -284,6 +284,33 @@ gdisplay_canvas_events (GtkWidget *canvas,
return_val = TRUE;
break;
/* wheelmouse support */
case 4:
state |= GDK_BUTTON4_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value - adj->page_increment / 2;
new_value =
CLAMP (new_value, adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
case 5:
state |= GDK_BUTTON5_MASK;
{
GtkAdjustment *adj =
(state & GDK_CONTROL_MASK) ? gdisp->hsbdata : gdisp->vsbdata;
gfloat new_value = adj->value + adj->page_increment / 2;
new_value = CLAMP (new_value,
adj->lower, adj->upper - adj->page_size);
gtk_adjustment_set_value (adj, new_value);
}
return_val = TRUE;
break;
default:
break;
}
@ -337,6 +364,17 @@ gdisplay_canvas_events (GtkWidget *canvas,
state &= ~GDK_BUTTON3_MASK;
break;
/* wheelmouse support */
case 4:
state &= ~GDK_BUTTON4_MASK;
return_val = TRUE;
break;
case 5:
state &= ~GDK_BUTTON5_MASK;
return_val = TRUE;
break;
default:
break;
}