Switch to multiplicative zooming (fixes #614)

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
This commit is contained in:
Sebastian Ramacher 2016-02-26 18:10:12 +01:00
parent 771e0513bb
commit bdceb15398

View File

@ -1363,14 +1363,14 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t*
girara_setting_get(zathura->ui.session, "zoom-step", &value); girara_setting_get(zathura->ui.session, "zoom-step", &value);
const int nt = (t == 0) ? 1 : t; const int nt = (t == 0) ? 1 : t;
const double zoom_step = value / 100.0 * nt; const double zoom_step = 1.0 + value / 100.0 * nt;
const double old_zoom = zathura_document_get_scale(zathura->document); const double old_zoom = zathura_document_get_scale(zathura->document);
/* specify new zoom value */ /* specify new zoom value */
if (argument->n == ZOOM_IN) { if (argument->n == ZOOM_IN) {
zathura_document_set_scale(zathura->document, old_zoom + zoom_step); zathura_document_set_scale(zathura->document, old_zoom * zoom_step);
} else if (argument->n == ZOOM_OUT) { } else if (argument->n == ZOOM_OUT) {
zathura_document_set_scale(zathura->document, old_zoom - zoom_step); zathura_document_set_scale(zathura->document, old_zoom / zoom_step);
} else if (argument->n == ZOOM_SPECIFIC) { } else if (argument->n == ZOOM_SPECIFIC) {
if (t == 0) { if (t == 0) {
zathura_document_set_scale(zathura->document, 1.0); zathura_document_set_scale(zathura->document, 1.0);