X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fgltrackball.c;h=ee54cf91d2432f4a541774a742621d77286a54c4;hp=93d4c54263ef97e2610616d794013e10f0acbc5d;hb=4ade52359b6eba3621566dac79793a33aa4c915f;hpb=ff35d056d723c9a5ffe728dbba5f1c25e141be04 diff --git a/hacks/glx/gltrackball.c b/hacks/glx/gltrackball.c index 93d4c542..ee54cf91 100644 --- a/hacks/glx/gltrackball.c +++ b/hacks/glx/gltrackball.c @@ -116,8 +116,8 @@ gltrackball_mousewheel (trackball_state *ts, int button, int percent, int flip_p) { int up_p; - double move; int horizontal_p; + int mx, my, move, scale; #ifdef HAVE_COCOA flip_p = 0; /* MacOS has already handled this. */ @@ -137,15 +137,14 @@ gltrackball_mousewheel (trackball_state *ts, up_p = !up_p; } + scale = mx = my = 1000; move = (up_p - ? 1.0 - (percent / 100.0) - : 1.0 + (percent / 100.0)); - - gltrackball_start (ts, 50, 50, 100, 100); - if (horizontal_p) - gltrackball_track (ts, 50*move, 50, 100, 100); - else - gltrackball_track (ts, 50, 50*move, 100, 100); + ? floor (scale * (1.0 - (percent / 100.0))) + : ceil (scale * (1.0 + (percent / 100.0)))); + if (horizontal_p) mx = move; + else my = move; + gltrackball_start (ts, scale, scale, scale*2, scale*2); + gltrackball_track (ts, mx, my, scale*2, scale*2); } void