summaryrefslogtreecommitdiff
path: root/backend/genesys/gl646.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/genesys/gl646.cpp')
-rw-r--r--backend/genesys/gl646.cpp41
1 files changed, 19 insertions, 22 deletions
diff --git a/backend/genesys/gl646.cpp b/backend/genesys/gl646.cpp
index acc1a4b..bdde703 100644
--- a/backend/genesys/gl646.cpp
+++ b/backend/genesys/gl646.cpp
@@ -23,27 +23,6 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-
- As a special exception, the authors of SANE give permission for
- additional uses of the libraries contained in this release of SANE.
-
- The exception is that, if you link a SANE library with other files
- to produce an executable, this does not by itself cause the
- resulting executable to be covered by the GNU General Public
- License. Your use of that executable is in no way restricted on
- account of linking the SANE library code into it.
-
- This exception does not, however, invalidate any other reasons why
- the executable file might be covered by the GNU General Public
- License.
-
- If you submit changes to SANE to the maintainers to be included in
- a subsequent release, you agree by submitting the changes that
- those changes may be distributed with this exception intact.
-
- If you write modifications of your own for SANE, it is your choice
- whether to permit this exception to apply to your modifications.
- If you do not wish that, delete this exception notice.
*/
#define DEBUG_DECLARE_ONLY
@@ -605,7 +584,9 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
}
/* true CIS gray if needed */
- if (dev->model->is_cis && session.params.channels == 1 && dev->settings.true_gray) {
+ if (dev->model->is_cis && session.params.channels == 1 &&
+ session.params.color_filter == ColorFilter::NONE)
+ {
regs->find_reg(0x05).value |= REG_0x05_LEDADD;
} else {
regs->find_reg(0x05).value &= ~REG_0x05_LEDADD;
@@ -1707,6 +1688,8 @@ void CommandSetGl646::move_back_home(Genesys_Device* dev, bool wait_until_home)
session.params.scan_method = dev->model->default_method;
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::REVERSE |
ScanFlag::AUTO_GO_HOME |
ScanFlag::DISABLE_GAMMA;
@@ -1823,6 +1806,8 @@ void CommandSetGl646::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
session.params.color_filter = dev->settings.color_filter;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::DISABLE_SHADING |
ScanFlag::DISABLE_GAMMA |
ScanFlag::IGNORE_COLOR_OFFSET |
@@ -1931,6 +1916,8 @@ SensorExposure CommandSetGl646::led_calibration(Genesys_Device* dev, const Genes
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = scan_mode;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::DISABLE_SHADING;
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) {
session.params.flags |= ScanFlag::USE_XPA;
@@ -2110,6 +2097,8 @@ static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor&
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::DISABLE_SHADING;
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) {
session.params.flags |= ScanFlag::USE_XPA;
@@ -2222,6 +2211,8 @@ void CommandSetGl646::offset_calibration(Genesys_Device* dev, const Genesys_Sens
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::DISABLE_SHADING;
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) {
session.params.flags |= ScanFlag::USE_XPA;
@@ -2373,6 +2364,8 @@ void CommandSetGl646::coarse_gain_calibration(Genesys_Device* dev, const Genesys
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = dev->settings.contrast;
+ session.params.brightness_adjustment = dev->settings.brightness;
session.params.flags = ScanFlag::DISABLE_SHADING;
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) {
session.params.flags |= ScanFlag::USE_XPA;
@@ -2485,6 +2478,8 @@ void CommandSetGl646::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = ScanColorMode::GRAY;
session.params.color_filter = ColorFilter::RED;
+ session.params.contrast_adjustment = 0;
+ session.params.brightness_adjustment = 0;
session.params.flags = ScanFlag::DISABLE_SHADING |
ScanFlag::DISABLE_GAMMA;
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY) {
@@ -2966,6 +2961,8 @@ ScanSession CommandSetGl646::calculate_scan_session(const Genesys_Device* dev,
session.params.scan_method = dev->settings.scan_method;
session.params.scan_mode = settings.scan_mode;
session.params.color_filter = settings.color_filter;
+ session.params.contrast_adjustment = settings.contrast;
+ session.params.brightness_adjustment = settings.brightness;
session.params.flags = ScanFlag::AUTO_GO_HOME;
if (settings.scan_method == ScanMethod::TRANSPARENCY) {
session.params.flags |= ScanFlag::USE_XPA;