diff --git a/backend/genesys_low.cc b/backend/genesys_low.cc index 6a569fa88..26aa0c998 100644 --- a/backend/genesys_low.cc +++ b/backend/genesys_low.cc @@ -1336,6 +1336,9 @@ void compute_session_pixel_offsets(const Genesys_Device* dev, ScanSession& s, s.pixel_endx = 0; } } + + s.pixel_startx *= sensor.pixel_count_multiplier; + s.pixel_endx *= sensor.pixel_count_multiplier; } void compute_session(Genesys_Device* dev, ScanSession& s, const Genesys_Sensor& sensor) diff --git a/backend/genesys_sensor.h b/backend/genesys_sensor.h index 8b6404f95..f60309eed 100644 --- a/backend/genesys_sensor.h +++ b/backend/genesys_sensor.h @@ -290,6 +290,9 @@ struct Genesys_Sensor { // CCD may present itself as half or quarter-size CCD on certain resolutions int ccd_size_divisor = 1; + // Some scanners need an additional multiplier over the scan coordinates + int pixel_count_multiplier = 1; + int black_pixels = 0; // value of the dummy register int dummy_pixel = 0;