This is my first post here.� Is the proper protocol to
1) post here to the mail lists?
2) put on the bug list?
3) both?
�

In reference to the earlier discussion about uniform
zooming scale factors, why not let the user choose his
own (reasonable) scale factor in preferences?� It
could be set to sqrt(2) by default.� The code
below�rounds to the nearest multiple of the�factor.� I
think it is an elegant solution which gives a lot of
power to the user.
�
gdouble
gimp_display_shell_scale_zoom_step (GimpZoomType
zoom_type,
����������������������������������� gdouble�����
scale,
���������gdouble����� factor)
{
� /* scale is scaled by factor which is nominally =
sqrt(2) */
� /* the user enters factor in preferences */
� /* need enough significant digits in factor to get
"nice" scales */
� /* e.g. factor = sqrt(2) = 1.414213562373 */
� switch (zoom_type)
��� {
��� case GIMP_ZOOM_IN:
����� factor = CLAMP (factor, 1.1, 4.0);
����� scale = CLAMP (scale, 1.0/256.0, 256.0);
����� scale =
pow(factor,floor(log(scale)/log(factor)+0.5)-1.0);
����� break;
��� case GIMP_ZOOM_OUT:
����� factor = CLAMP (factor, 1.1, 4.0);
����� scale = CLAMP (scale, 1.0/256.0, 256.0);
����� scale =
pow(factor,floor(log(scale)/log(factor)+0.5)+1.0);
����� break;
��� case GIMP_ZOOM_TO:
����� break;
��� }
� return CLAMP (scale, 1.0/256.0, 256.0);
}
�
Regards,
Harold
�
�



__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus
_______________________________________________
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer

Reply via email to