libgimpwidgets: improve gimp_scroll_adjustment_values()
so it works for very small adjustment page sizes. Same as GTK+ commit c0ba041c73214f82d2c32b2ca1fa8f3c388c6170
This commit is contained in:
parent
e490aa8393
commit
8d66e7eaa1
1 changed files with 12 additions and 2 deletions
|
|
@ -966,12 +966,22 @@ gimp_scroll_adjustment_values (GdkEventScroll *sevent,
|
|||
}
|
||||
|
||||
if (adj_x)
|
||||
scroll_unit_x = pow (gtk_adjustment_get_page_size (adj_x), 2.0 / 3.0);
|
||||
{
|
||||
gdouble page_size = gtk_adjustment_get_page_size (adj_x);
|
||||
gdouble pow_unit = pow (page_size, 2.0 / 3.0);
|
||||
|
||||
scroll_unit_x = MIN (page_size / 2.0, pow_unit);
|
||||
}
|
||||
else
|
||||
scroll_unit_x = 1.0;
|
||||
|
||||
if (adj_y)
|
||||
scroll_unit_y = pow (gtk_adjustment_get_page_size (adj_y), 2.0 / 3.0);
|
||||
{
|
||||
gdouble page_size = gtk_adjustment_get_page_size (adj_y);
|
||||
gdouble pow_unit = pow (page_size, 2.0 / 3.0);
|
||||
|
||||
scroll_unit_y = MIN (page_size / 2.0, pow_unit);
|
||||
}
|
||||
else
|
||||
scroll_unit_y = 1.0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue