From dd9e30c8148afc91573080e1bde08765c6f64544 Mon Sep 17 00:00:00 2001 From: thierry1970 Date: Fri, 3 Apr 2020 09:22:51 +0200 Subject: [PATCH] Adjusts the cropping offset. --- backend/escl/escl.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/backend/escl/escl.c b/backend/escl/escl.c index 2f067d129..e90951f63 100644 --- a/backend/escl/escl.c +++ b/backend/escl/escl.c @@ -804,10 +804,18 @@ sane_start(SANE_Handle h) MM_TO_PIXEL(handler->val[OPT_BR_Y].w, 300.0); handler->scanner->caps[handler->scanner->source].width = MM_TO_PIXEL(handler->val[OPT_BR_X].w, 300.0);; - handler->scanner->caps[handler->scanner->source].pos_x = - MM_TO_PIXEL(handler->val[OPT_TL_X].w, 300.0); - handler->scanner->caps[handler->scanner->source].pos_y = - MM_TO_PIXEL(handler->val[OPT_TL_Y].w, 300.0); + if (handler->x_range.min == handler->val[OPT_TL_X].w) + handler->scanner->caps[handler->scanner->source].pos_x = 0; + else + handler->scanner->caps[handler->scanner->source].pos_x = + MM_TO_PIXEL((handler->val[OPT_TL_X].w - handler->x_range.min), + 300.0); + if (handler->y_range.min == handler->val[OPT_TL_X].w) + handler->scanner->caps[handler->scanner->source].pos_y = 0; + else + handler->scanner->caps[handler->scanner->source].pos_y = + MM_TO_PIXEL((handler->val[OPT_TL_Y].w - handler->y_range.min), + 300.0); DBG(10, "Calculate Size Image [%dx%d|%dx%d]\n", handler->scanner->caps[handler->scanner->source].pos_x, handler->scanner->caps[handler->scanner->source].pos_y,