Update sc_adjust_window on ZATHURA_ADJUST_BESTFIT

Closes: #200
This commit is contained in:
Moritz Lipp 2012-05-08 14:08:07 +02:00
parent d05e40a8b5
commit de17088c91

View file

@ -118,20 +118,32 @@ sc_adjust_window(girara_session_t* session, girara_argument_t* argument,
}
unsigned int rotation = zathura_document_get_rotation(zathura->document);
if (argument->n == ZATHURA_ADJUST_WIDTH) {
if (rotation == 0 || rotation == 180) {
zathura_document_set_scale(zathura->document, width / total_width);
} else {
zathura_document_set_scale(zathura->document, width / total_height);
}
} else if (argument->n == ZATHURA_ADJUST_BESTFIT) {
if (rotation == 0 || rotation == 180) {
zathura_document_set_scale(zathura->document, height / max_height);
} else {
zathura_document_set_scale(zathura->document, width / total_height);
}
} else {
goto error_ret;
switch (argument->n) {
case ZATHURA_ADJUST_WIDTH:
if (rotation == 0 || rotation == 180) {
zathura_document_set_scale(zathura->document, width / total_width);
} else {
zathura_document_set_scale(zathura->document, width / total_height);
}
break;
case ZATHURA_ADJUST_BESTFIT:
if (total_width < total_height) {
if (rotation == 0 || rotation == 180) {
zathura_document_set_scale(zathura->document, height / max_height);
} else {
zathura_document_set_scale(zathura->document, width / total_height);
}
} else {
if (rotation == 0 || rotation == 180) {
zathura_document_set_scale(zathura->document, width / total_width);
} else {
zathura_document_set_scale(zathura->document, height / total_width);
}
}
break;
default:
goto error_ret;
}
/* keep position */