}
}
- if (increment < 0.0)
+ if (options->image.zoom_style == ZOOM_GEOMETRIC)
{
- if (zoom >= 1.0)
+ if (increment < 0.0)
{
- if (zoom / -(increment - 1.0) < 1.0)
+ if (zoom >= 1.0)
{
- zoom = 1.0 / (zoom / (increment - 1.0));
+ if (zoom / -(increment - 1.0) < 1.0)
+ {
+ zoom = 1.0 / (zoom / (increment - 1.0));
+ }
+ else
+ {
+ zoom = zoom / -(increment - 1.0) ;
+ }
}
else
{
- zoom = zoom / -(increment - 1.0) ;
+ zoom = zoom * -(increment - 1.0);
}
}
else
{
- zoom = zoom * -(increment - 1.0);
+ if (zoom <= -1.0 )
+ {
+ if (zoom / (increment + 1.0) > -1.0)
+ {
+ zoom = -(1.0 / (zoom / (increment + 1.0)));
+ }
+ else
+ {
+ zoom = zoom / (increment + 1.0) ;
+ }
+ }
+ else
+ {
+ zoom = zoom * (increment + 1.0);
+ }
}
}
else
{
- if (zoom <= -1.0 )
+ if (increment < 0.0)
{
- if (zoom / (increment + 1.0) > -1.0)
+ if (zoom >= 1.0 && zoom + increment < 1.0)
{
- zoom = -(1.0 / (zoom / (increment + 1.0)));
+ zoom = zoom + increment - 2.0;
}
else
{
- zoom = zoom / (increment + 1.0) ;
+ zoom = zoom + increment;
}
}
else
{
- zoom = zoom * (increment + 1.0);
+ if (zoom <= -1.0 && zoom + increment > -1.0)
+ {
+ zoom = zoom + increment + 2.0;
+ }
+ else
+ {
+ zoom = zoom + increment;
+ }
}
}