Lines Matching defs:sod
2010 SANE_Option_Descriptor *sod;
2022 /* cannot be used as after a sane_close the sod's must be initialized */
2027 sod = ms->sod;
2256 sod[OPT_GAMMA_CUSTOM].size = option_size * sizeof (SANE_Int);
2257 sod[OPT_GAMMA_CUSTOM_R].size = option_size * sizeof (SANE_Int);
2258 sod[OPT_GAMMA_CUSTOM_G].size = option_size * sizeof (SANE_Int);
2259 sod[OPT_GAMMA_CUSTOM_B].size = option_size * sizeof (SANE_Int);
2352 sod[i].type = SANE_TYPE_FIXED;
2353 sod[i].unit = SANE_UNIT_NONE;
2354 sod[i].size = sizeof(SANE_Fixed);
2355 sod[i].cap = SANE_CAP_SOFT_DETECT | SANE_CAP_SOFT_SELECT;
2356 sod[i].constraint_type = SANE_CONSTRAINT_RANGE;
2359 sod[OPT_NUM_OPTS].name = SANE_NAME_NUM_OPTIONS;
2360 sod[OPT_NUM_OPTS].title = SANE_TITLE_NUM_OPTIONS;
2361 sod[OPT_NUM_OPTS].desc = SANE_DESC_NUM_OPTIONS;
2362 sod[OPT_NUM_OPTS].type = SANE_TYPE_INT;
2363 sod[OPT_NUM_OPTS].size = sizeof (SANE_Int);
2364 sod[OPT_NUM_OPTS].cap = SANE_CAP_SOFT_DETECT;
2365 sod[OPT_NUM_OPTS].constraint_type = SANE_CONSTRAINT_NONE;
2367 DBG(255, "sod=%p\n", (void *) sod);
2370 DBG(255, "OPT_NUM_OPTS.cap=%d\n", sod[0].cap);
2373 sod[OPT_MODE_GROUP].title = M_TITLE_SCANMODEGRP;
2374 sod[OPT_MODE_GROUP].type = SANE_TYPE_GROUP;
2375 sod[OPT_MODE_GROUP].size = 0;
2376 sod[OPT_MODE_GROUP].desc = "";
2377 sod[OPT_MODE_GROUP].cap = 0;
2378 sod[OPT_MODE_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
2381 sod[OPT_SOURCE].name = SANE_NAME_SCAN_SOURCE;
2382 sod[OPT_SOURCE].title = SANE_TITLE_SCAN_SOURCE;
2383 sod[OPT_SOURCE].desc = SANE_DESC_SCAN_SOURCE;
2384 sod[OPT_SOURCE].type = SANE_TYPE_STRING;
2385 sod[OPT_SOURCE].size = max_string_size(md->scansource_list);
2388 sod[OPT_SOURCE].cap |= SANE_CAP_INACTIVE;
2389 sod[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
2390 sod[OPT_SOURCE].constraint.string_list = md->scansource_list;
2393 sod[OPT_MODE].name = SANE_NAME_SCAN_MODE;
2394 sod[OPT_MODE].title = SANE_TITLE_SCAN_MODE;
2395 sod[OPT_MODE].desc = SANE_DESC_SCAN_MODE;
2396 sod[OPT_MODE].type = SANE_TYPE_STRING;
2397 sod[OPT_MODE].size = max_string_size(md->scanmode_list);
2398 sod[OPT_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
2399 sod[OPT_MODE].constraint.string_list = md->scanmode_list;
2402 sod[OPT_BITDEPTH].name = SANE_NAME_BIT_DEPTH;
2403 sod[OPT_BITDEPTH].title = SANE_TITLE_BIT_DEPTH;
2404 sod[OPT_BITDEPTH].desc = SANE_DESC_BIT_DEPTH;
2405 sod[OPT_BITDEPTH].type = SANE_TYPE_INT;
2406 sod[OPT_BITDEPTH].unit = SANE_UNIT_BIT;
2407 sod[OPT_BITDEPTH].size = sizeof(SANE_Int);
2410 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
2411 sod[OPT_BITDEPTH].constraint_type = SANE_CONSTRAINT_WORD_LIST;
2412 sod[OPT_BITDEPTH].constraint.word_list = md->bitdepth_list;
2415 sod[OPT_HALFTONE].name = SANE_NAME_HALFTONE;
2416 sod[OPT_HALFTONE].title = SANE_TITLE_HALFTONE;
2417 sod[OPT_HALFTONE].desc = SANE_DESC_HALFTONE;
2418 sod[OPT_HALFTONE].type = SANE_TYPE_STRING;
2419 sod[OPT_HALFTONE].size = max_string_size(md->halftone_mode_list);
2420 sod[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
2421 sod[OPT_HALFTONE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
2422 sod[OPT_HALFTONE].constraint.string_list = md->halftone_mode_list;
2425 sod[OPT_RESOLUTION].name = SANE_NAME_SCAN_RESOLUTION;
2426 sod[OPT_RESOLUTION].title = SANE_TITLE_SCAN_X_RESOLUTION;
2427 sod[OPT_RESOLUTION].desc = SANE_DESC_SCAN_X_RESOLUTION;
2428 sod[OPT_RESOLUTION].unit = SANE_UNIT_DPI;
2429 sod[OPT_RESOLUTION].constraint.range = &md->x_res_range_dpi;
2431 sod[OPT_Y_RESOLUTION].name = SANE_NAME_SCAN_Y_RESOLUTION;
2432 sod[OPT_Y_RESOLUTION].title = SANE_TITLE_SCAN_Y_RESOLUTION;
2433 sod[OPT_Y_RESOLUTION].desc = SANE_DESC_SCAN_Y_RESOLUTION;
2434 sod[OPT_Y_RESOLUTION].unit = SANE_UNIT_DPI;
2435 sod[OPT_Y_RESOLUTION].cap |= SANE_CAP_INACTIVE;
2436 sod[OPT_Y_RESOLUTION].constraint.range = &md->y_res_range_dpi;
2439 sod[OPT_PREVIEW].name = SANE_NAME_PREVIEW;
2440 sod[OPT_PREVIEW].title = SANE_TITLE_PREVIEW;
2441 sod[OPT_PREVIEW].desc = SANE_DESC_PREVIEW;
2442 sod[OPT_PREVIEW].type = SANE_TYPE_BOOL;
2443 sod[OPT_PREVIEW].size = sizeof(SANE_Bool);
2444 sod[OPT_PREVIEW].constraint_type = SANE_CONSTRAINT_NONE;
2447 sod[OPT_GEOMETRY_GROUP].title = M_TITLE_GEOMGRP;
2448 sod[OPT_GEOMETRY_GROUP].type = SANE_TYPE_GROUP;
2449 sod[OPT_GEOMETRY_GROUP].size = 0;
2450 sod[OPT_GEOMETRY_GROUP].desc = "";
2451 sod[OPT_GEOMETRY_GROUP].cap = SANE_CAP_ADVANCED;
2452 sod[OPT_GEOMETRY_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
2454 sod[OPT_TL_X].name = SANE_NAME_SCAN_TL_X;
2455 sod[OPT_TL_X].title = SANE_TITLE_SCAN_TL_X;
2456 sod[OPT_TL_X].desc = SANE_DESC_SCAN_TL_X;
2457 sod[OPT_TL_X].unit = SANE_UNIT_MM;
2458 sod[OPT_TL_X].constraint.range = &md->x_range_mm;
2460 sod[OPT_TL_Y].name = SANE_NAME_SCAN_TL_Y;
2461 sod[OPT_TL_Y].title = SANE_TITLE_SCAN_TL_Y;
2462 sod[OPT_TL_Y].desc = SANE_DESC_SCAN_TL_Y;
2463 sod[OPT_TL_Y].unit = SANE_UNIT_MM;
2464 sod[OPT_TL_Y].constraint.range = &md->y_range_mm;
2466 sod[OPT_BR_X].name = SANE_NAME_SCAN_BR_X;
2467 sod[OPT_BR_X].title = SANE_TITLE_SCAN_BR_X;
2468 sod[OPT_BR_X].desc = SANE_DESC_SCAN_BR_X;
2469 sod[OPT_BR_X].unit = SANE_UNIT_MM;
2470 sod[OPT_BR_X].constraint.range = &md->x_range_mm;
2472 sod[OPT_BR_Y].name = SANE_NAME_SCAN_BR_Y;
2473 sod[OPT_BR_Y].title = SANE_TITLE_SCAN_BR_Y;
2474 sod[OPT_BR_Y].desc = SANE_DESC_SCAN_BR_Y;
2475 sod[OPT_BR_Y].unit = SANE_UNIT_MM;
2476 sod[OPT_BR_Y].constraint.range = &md->y_range_mm;
2479 sod[OPT_ENHANCEMENT_GROUP].title = M_TITLE_ENHANCEGRP;
2480 sod[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP;
2481 sod[OPT_ENHANCEMENT_GROUP].desc = "";
2482 sod[OPT_ENHANCEMENT_GROUP].size = 0;
2483 sod[OPT_ENHANCEMENT_GROUP].cap = 0;
2484 sod[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
2486 sod[OPT_BRIGHTNESS].name = SANE_NAME_BRIGHTNESS;
2487 sod[OPT_BRIGHTNESS].title = SANE_TITLE_BRIGHTNESS;
2488 sod[OPT_BRIGHTNESS].desc = SANE_DESC_BRIGHTNESS;
2489 sod[OPT_BRIGHTNESS].unit = SANE_UNIT_PERCENT;
2490 sod[OPT_BRIGHTNESS].constraint.range = &md->percentage_range;
2492 sod[OPT_CONTRAST].name = SANE_NAME_CONTRAST;
2493 sod[OPT_CONTRAST].title = SANE_TITLE_CONTRAST;
2494 sod[OPT_CONTRAST].desc = SANE_DESC_CONTRAST;
2495 sod[OPT_CONTRAST].unit = SANE_UNIT_PERCENT;
2496 sod[OPT_CONTRAST].constraint.range = &md->percentage_range;
2498 sod[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD;
2499 sod[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD;
2500 sod[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD;
2501 sod[OPT_THRESHOLD].type = SANE_TYPE_INT;
2502 sod[OPT_THRESHOLD].size = sizeof(SANE_Int);
2503 sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
2504 sod[OPT_THRESHOLD].constraint.range = &md->threshold_range;
2507 sod[OPT_AUTOADJUST].name = M_NAME_AUTOADJUST;
2508 sod[OPT_AUTOADJUST].title = M_TITLE_AUTOADJUST;
2509 sod[OPT_AUTOADJUST].desc = M_DESC_AUTOADJUST;
2510 sod[OPT_AUTOADJUST].type = SANE_TYPE_BOOL;
2511 sod[OPT_AUTOADJUST].size = sizeof(SANE_Bool);
2512 sod[OPT_AUTOADJUST].constraint_type = SANE_CONSTRAINT_NONE;
2514 sod[OPT_AUTOADJUST].cap |= SANE_CAP_INACTIVE;
2517 sod[OPT_GAMMA_GROUP].title = "Gamma";
2518 sod[OPT_GAMMA_GROUP].desc = "";
2519 sod[OPT_GAMMA_GROUP].type = SANE_TYPE_GROUP;
2520 sod[OPT_GAMMA_GROUP].size = 0;
2521 sod[OPT_GAMMA_GROUP].cap = 0;
2522 sod[OPT_GAMMA_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
2524 sod[OPT_GAMMA_MODE].name = M_NAME_GAMMA_MODE;
2525 sod[OPT_GAMMA_MODE].title = M_TITLE_GAMMA_MODE;
2526 sod[OPT_GAMMA_MODE].desc = M_DESC_GAMMA_MODE;
2527 sod[OPT_GAMMA_MODE].type = SANE_TYPE_STRING;
2528 sod[OPT_GAMMA_MODE].size = max_string_size(md->gammamode_list);
2529 sod[OPT_GAMMA_MODE].constraint_type = SANE_CONSTRAINT_STRING_LIST;
2530 sod[OPT_GAMMA_MODE].constraint.string_list = md->gammamode_list;
2532 sod[OPT_GAMMA_BIND].name = M_NAME_GAMMA_BIND;
2533 sod[OPT_GAMMA_BIND].title = M_TITLE_GAMMA_BIND;
2534 sod[OPT_GAMMA_BIND].desc = M_DESC_GAMMA_BIND;
2535 sod[OPT_GAMMA_BIND].type = SANE_TYPE_BOOL;
2536 sod[OPT_GAMMA_BIND].size = sizeof(SANE_Bool);
2537 sod[OPT_GAMMA_BIND].constraint_type = SANE_CONSTRAINT_NONE;
2540 sod[OPT_GAMMA_SCALAR].name = M_NAME_GAMMA_SCALAR;
2541 sod[OPT_GAMMA_SCALAR].title = M_TITLE_GAMMA_SCALAR;
2542 sod[OPT_GAMMA_SCALAR].desc = M_DESC_GAMMA_SCALAR;
2543 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
2544 sod[OPT_GAMMA_SCALAR].constraint.range = &md->scalar_gamma_range;
2546 sod[OPT_GAMMA_SCALAR_R].name = M_NAME_GAMMA_SCALAR_R;
2547 sod[OPT_GAMMA_SCALAR_R].title = M_TITLE_GAMMA_SCALAR_R;
2548 sod[OPT_GAMMA_SCALAR_R].desc = M_DESC_GAMMA_SCALAR_R;
2549 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
2550 sod[OPT_GAMMA_SCALAR_R].constraint.range = &md->scalar_gamma_range;
2552 sod[OPT_GAMMA_SCALAR_G].name = M_NAME_GAMMA_SCALAR_G;
2553 sod[OPT_GAMMA_SCALAR_G].title = M_TITLE_GAMMA_SCALAR_G;
2554 sod[OPT_GAMMA_SCALAR_G].desc = M_DESC_GAMMA_SCALAR_G;
2555 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
2556 sod[OPT_GAMMA_SCALAR_G].constraint.range = &md->scalar_gamma_range;
2558 sod[OPT_GAMMA_SCALAR_B].name = M_NAME_GAMMA_SCALAR_B;
2559 sod[OPT_GAMMA_SCALAR_B].title = M_TITLE_GAMMA_SCALAR_B;
2560 sod[OPT_GAMMA_SCALAR_B].desc = M_DESC_GAMMA_SCALAR_B;
2561 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
2562 sod[OPT_GAMMA_SCALAR_B].constraint.range = &md->scalar_gamma_range;
2564 sod[OPT_GAMMA_CUSTOM].name = SANE_NAME_GAMMA_VECTOR;
2565 sod[OPT_GAMMA_CUSTOM].title = SANE_TITLE_GAMMA_VECTOR;
2566 sod[OPT_GAMMA_CUSTOM].desc = SANE_DESC_GAMMA_VECTOR;
2567 sod[OPT_GAMMA_CUSTOM].type = SANE_TYPE_INT;
2568 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
2569 sod[OPT_GAMMA_CUSTOM].size = option_size * sizeof (SANE_Int);
2570 sod[OPT_GAMMA_CUSTOM].constraint.range = &md->custom_gamma_range;
2572 sod[OPT_GAMMA_CUSTOM_R].name = SANE_NAME_GAMMA_VECTOR_R;
2573 sod[OPT_GAMMA_CUSTOM_R].title = SANE_TITLE_GAMMA_VECTOR_R;
2574 sod[OPT_GAMMA_CUSTOM_R].desc = SANE_DESC_GAMMA_VECTOR_R;
2575 sod[OPT_GAMMA_CUSTOM_R].type = SANE_TYPE_INT;
2576 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
2577 sod[OPT_GAMMA_CUSTOM_R].size = option_size * sizeof (SANE_Int);
2578 sod[OPT_GAMMA_CUSTOM_R].constraint.range = &md->custom_gamma_range;
2580 sod[OPT_GAMMA_CUSTOM_G].name = SANE_NAME_GAMMA_VECTOR_G;
2581 sod[OPT_GAMMA_CUSTOM_G].title = SANE_TITLE_GAMMA_VECTOR_G;
2582 sod[OPT_GAMMA_CUSTOM_G].desc = SANE_DESC_GAMMA_VECTOR_G;
2583 sod[OPT_GAMMA_CUSTOM_G].type = SANE_TYPE_INT;
2584 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
2585 sod[OPT_GAMMA_CUSTOM_G].size = option_size * sizeof (SANE_Int);
2586 sod[OPT_GAMMA_CUSTOM_G].constraint.range = &md->custom_gamma_range;
2588 sod[OPT_GAMMA_CUSTOM_B].name = SANE_NAME_GAMMA_VECTOR_B;
2589 sod[OPT_GAMMA_CUSTOM_B].title = SANE_TITLE_GAMMA_VECTOR_B;
2590 sod[OPT_GAMMA_CUSTOM_B].desc = SANE_DESC_GAMMA_VECTOR_B;
2591 sod[OPT_GAMMA_CUSTOM_B].type = SANE_TYPE_INT;
2592 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
2593 sod[OPT_GAMMA_CUSTOM_B].size = option_size * sizeof (SANE_Int);
2594 sod[OPT_GAMMA_CUSTOM_B].constraint.range = &md->custom_gamma_range;
2597 sod[OPT_SMH_GROUP].title = M_TITLE_SMHGRP;
2598 sod[OPT_SMH_GROUP].desc = "";
2599 sod[OPT_SMH_GROUP].type = SANE_TYPE_GROUP;
2600 sod[OPT_SMH_GROUP].size = 0;
2601 sod[OPT_SMH_GROUP].cap = 0;
2602 sod[OPT_SMH_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
2604 sod[OPT_CHANNEL].name = M_NAME_CHANNEL;
2605 sod[OPT_CHANNEL].title = M_TITLE_CHANNEL;
2606 sod[OPT_CHANNEL].desc = M_DESC_CHANNEL;
2607 sod[OPT_CHANNEL].type = SANE_TYPE_STRING;
2608 sod[OPT_CHANNEL].size = max_string_size(md->channel_list);
2609 sod[OPT_CHANNEL].constraint_type = SANE_CONSTRAINT_STRING_LIST;
2610 sod[OPT_CHANNEL].constraint.string_list = md->channel_list;
2612 sod[OPT_SHADOW].name = SANE_NAME_SHADOW;
2613 sod[OPT_SHADOW].title = SANE_TITLE_SHADOW;
2614 sod[OPT_SHADOW].desc = SANE_DESC_SHADOW;
2615 sod[OPT_SHADOW].type = SANE_TYPE_INT;
2616 sod[OPT_SHADOW].size = sizeof(SANE_Int);
2617 sod[OPT_SHADOW].constraint.range = &md->shadow_range;
2619 sod[OPT_SHADOW_R].name = SANE_NAME_SHADOW_R;
2620 sod[OPT_SHADOW_R].title = SANE_TITLE_SHADOW_R;
2621 sod[OPT_SHADOW_R].desc = SANE_DESC_SHADOW_R;
2622 sod[OPT_SHADOW_R].type = SANE_TYPE_INT;
2623 sod[OPT_SHADOW_R].size = sizeof(SANE_Int);
2624 sod[OPT_SHADOW_R].constraint.range = &md->shadow_range;
2626 sod[OPT_SHADOW_G].name = SANE_NAME_SHADOW_G;
2627 sod[OPT_SHADOW_G].title = SANE_TITLE_SHADOW_G;
2628 sod[OPT_SHADOW_G].desc = SANE_DESC_SHADOW_G;
2629 sod[OPT_SHADOW_G].type = SANE_TYPE_INT;
2630 sod[OPT_SHADOW_G].size = sizeof(SANE_Int);
2631 sod[OPT_SHADOW_G].constraint.range = &md->shadow_range;
2633 sod[OPT_SHADOW_B].name = SANE_NAME_SHADOW_B;
2634 sod[OPT_SHADOW_B].title = SANE_TITLE_SHADOW_B;
2635 sod[OPT_SHADOW_B].desc = SANE_DESC_SHADOW_B;
2636 sod[OPT_SHADOW_B].type = SANE_TYPE_INT;
2637 sod[OPT_SHADOW_B].size = sizeof(SANE_Int);
2638 sod[OPT_SHADOW_B].constraint.range = &md->shadow_range;
2640 sod[OPT_MIDTONE].name = M_NAME_MIDTONE;
2641 sod[OPT_MIDTONE].title = M_TITLE_MIDTONE;
2642 sod[OPT_MIDTONE].desc = M_DESC_MIDTONE;
2643 sod[OPT_MIDTONE].type = SANE_TYPE_INT;
2644 sod[OPT_MIDTONE].size = sizeof(SANE_Int);
2645 sod[OPT_MIDTONE].constraint.range = &md->midtone_range;
2647 sod[OPT_MIDTONE_R].name = M_NAME_MIDTONE_R;
2648 sod[OPT_MIDTONE_R].title = M_TITLE_MIDTONE_R;
2649 sod[OPT_MIDTONE_R].desc = M_DESC_MIDTONE_R;
2650 sod[OPT_MIDTONE_R].type = SANE_TYPE_INT;
2651 sod[OPT_MIDTONE_R].size = sizeof(SANE_Int);
2652 sod[OPT_MIDTONE_R].constraint.range = &md->midtone_range;
2654 sod[OPT_MIDTONE_G].name = M_NAME_MIDTONE_G;
2655 sod[OPT_MIDTONE_G].title = M_TITLE_MIDTONE_G;
2656 sod[OPT_MIDTONE_G].desc = M_DESC_MIDTONE_G;
2657 sod[OPT_MIDTONE_G].type = SANE_TYPE_INT;
2658 sod[OPT_MIDTONE_G].size = sizeof(SANE_Int);
2659 sod[OPT_MIDTONE_G].constraint.range = &md->midtone_range;
2661 sod[OPT_MIDTONE_B].name = M_NAME_MIDTONE_B;
2662 sod[OPT_MIDTONE_B].title = M_TITLE_MIDTONE_B;
2663 sod[OPT_MIDTONE_B].desc = M_DESC_MIDTONE_B;
2664 sod[OPT_MIDTONE_B].type = SANE_TYPE_INT;
2665 sod[OPT_MIDTONE_B].size = sizeof(SANE_Int);
2666 sod[OPT_MIDTONE_B].constraint.range = &md->midtone_range;
2668 sod[OPT_HIGHLIGHT].name = SANE_NAME_HIGHLIGHT;
2669 sod[OPT_HIGHLIGHT].title = SANE_TITLE_HIGHLIGHT;
2670 sod[OPT_HIGHLIGHT].desc = SANE_DESC_HIGHLIGHT;
2671 sod[OPT_HIGHLIGHT].type = SANE_TYPE_INT;
2672 sod[OPT_HIGHLIGHT].size = sizeof(SANE_Int);
2673 sod[OPT_HIGHLIGHT].constraint.range = &md->highlight_range;
2675 sod[OPT_HIGHLIGHT_R].name = SANE_NAME_HIGHLIGHT_R;
2676 sod[OPT_HIGHLIGHT_R].title = SANE_TITLE_HIGHLIGHT_R;
2677 sod[OPT_HIGHLIGHT_R].desc = SANE_DESC_HIGHLIGHT_R;
2678 sod[OPT_HIGHLIGHT_R].type = SANE_TYPE_INT;
2679 sod[OPT_HIGHLIGHT_R].size = sizeof(SANE_Int);
2680 sod[OPT_HIGHLIGHT_R].constraint.range = &md->highlight_range;
2682 sod[OPT_HIGHLIGHT_G].name = SANE_NAME_HIGHLIGHT_G;
2683 sod[OPT_HIGHLIGHT_G].title = SANE_TITLE_HIGHLIGHT_G;
2684 sod[OPT_HIGHLIGHT_G].desc = SANE_DESC_HIGHLIGHT_G;
2685 sod[OPT_HIGHLIGHT_G].type = SANE_TYPE_INT;
2686 sod[OPT_HIGHLIGHT_G].size = sizeof(SANE_Int);
2687 sod[OPT_HIGHLIGHT_G].constraint.range = &md->highlight_range;
2689 sod[OPT_HIGHLIGHT_B].name = SANE_NAME_HIGHLIGHT_B;
2690 sod[OPT_HIGHLIGHT_B].title = SANE_TITLE_HIGHLIGHT_B;
2691 sod[OPT_HIGHLIGHT_B].desc = SANE_DESC_HIGHLIGHT_B;
2692 sod[OPT_HIGHLIGHT_B].type = SANE_TYPE_INT;
2693 sod[OPT_HIGHLIGHT_B].size = sizeof(SANE_Int);
2694 sod[OPT_HIGHLIGHT_B].constraint.range = &md->highlight_range;
2696 sod[OPT_EXPOSURE].name = SANE_NAME_SCAN_EXPOS_TIME;
2697 sod[OPT_EXPOSURE].title = SANE_TITLE_SCAN_EXPOS_TIME;
2698 sod[OPT_EXPOSURE].desc = SANE_DESC_SCAN_EXPOS_TIME;
2699 sod[OPT_EXPOSURE].type = SANE_TYPE_INT;
2700 sod[OPT_EXPOSURE].unit = SANE_UNIT_PERCENT;
2701 sod[OPT_EXPOSURE].size = sizeof(SANE_Int);
2702 sod[OPT_EXPOSURE].constraint.range = &md->exposure_range;
2704 sod[OPT_EXPOSURE_R].name = SANE_NAME_SCAN_EXPOS_TIME_R;
2705 sod[OPT_EXPOSURE_R].title = SANE_TITLE_SCAN_EXPOS_TIME_R;
2706 sod[OPT_EXPOSURE_R].desc = SANE_DESC_SCAN_EXPOS_TIME_R;
2707 sod[OPT_EXPOSURE_R].type = SANE_TYPE_INT;
2708 sod[OPT_EXPOSURE_R].unit = SANE_UNIT_PERCENT;
2709 sod[OPT_EXPOSURE_R].size = sizeof(SANE_Int);
2710 sod[OPT_EXPOSURE_R].constraint.range = &md->exposure_range;
2712 sod[OPT_EXPOSURE_G].name = SANE_NAME_SCAN_EXPOS_TIME_G;
2713 sod[OPT_EXPOSURE_G].title = SANE_TITLE_SCAN_EXPOS_TIME_G;
2714 sod[OPT_EXPOSURE_G].desc = SANE_DESC_SCAN_EXPOS_TIME_G;
2715 sod[OPT_EXPOSURE_G].type = SANE_TYPE_INT;
2716 sod[OPT_EXPOSURE_G].unit = SANE_UNIT_PERCENT;
2717 sod[OPT_EXPOSURE_G].size = sizeof(SANE_Int);
2718 sod[OPT_EXPOSURE_G].constraint.range = &md->exposure_range;
2720 sod[OPT_EXPOSURE_B].name = SANE_NAME_SCAN_EXPOS_TIME_B;
2721 sod[OPT_EXPOSURE_B].title = SANE_TITLE_SCAN_EXPOS_TIME_B;
2722 sod[OPT_EXPOSURE_B].desc = SANE_DESC_SCAN_EXPOS_TIME_B;
2723 sod[OPT_EXPOSURE_B].type = SANE_TYPE_INT;
2724 sod[OPT_EXPOSURE_B].unit = SANE_UNIT_PERCENT;
2725 sod[OPT_EXPOSURE_B].size = sizeof(SANE_Int);
2726 sod[OPT_EXPOSURE_B].constraint.range = &md->exposure_range;
2729 sod[OPT_SPECIAL].title = M_TITLE_SPECIALGRP;
2730 sod[OPT_SPECIAL].type = SANE_TYPE_GROUP;
2731 sod[OPT_SPECIAL].size = 0;
2732 sod[OPT_SPECIAL].desc = "";
2733 sod[OPT_SPECIAL].cap = SANE_CAP_ADVANCED;
2734 sod[OPT_SPECIAL].constraint_type = SANE_CONSTRAINT_NONE;
2736 sod[OPT_RESOLUTION_BIND].name = SANE_NAME_RESOLUTION_BIND;
2737 sod[OPT_RESOLUTION_BIND].title = SANE_TITLE_RESOLUTION_BIND;
2738 sod[OPT_RESOLUTION_BIND].desc = SANE_DESC_RESOLUTION_BIND;
2739 sod[OPT_RESOLUTION_BIND].type = SANE_TYPE_BOOL;
2740 sod[OPT_RESOLUTION_BIND].size = sizeof(SANE_Bool);
2741 sod[OPT_RESOLUTION_BIND].cap |= SANE_CAP_ADVANCED;
2742 sod[OPT_RESOLUTION_BIND].constraint_type = SANE_CONSTRAINT_NONE;
2745 sod[OPT_DISABLE_BACKTRACK].name = M_NAME_NOBACKTRACK;
2746 sod[OPT_DISABLE_BACKTRACK].title = M_TITLE_NOBACKTRACK;
2747 sod[OPT_DISABLE_BACKTRACK].desc = M_DESC_NOBACKTRACK;
2748 sod[OPT_DISABLE_BACKTRACK].type = SANE_TYPE_BOOL;
2749 sod[OPT_DISABLE_BACKTRACK].size = sizeof(SANE_Bool);
2750 sod[OPT_DISABLE_BACKTRACK].cap |= SANE_CAP_ADVANCED;
2751 sod[OPT_DISABLE_BACKTRACK].constraint_type = SANE_CONSTRAINT_NONE;
2753 sod[OPT_DISABLE_BACKTRACK].cap |= SANE_CAP_INACTIVE;
2756 sod[OPT_CALIB_BACKEND].name = M_NAME_CALIBBACKEND;
2757 sod[OPT_CALIB_BACKEND].title = M_TITLE_CALIBBACKEND;
2758 sod[OPT_CALIB_BACKEND].desc = M_DESC_CALIBBACKEND;
2759 sod[OPT_CALIB_BACKEND].type = SANE_TYPE_BOOL;
2760 sod[OPT_CALIB_BACKEND].size = sizeof(SANE_Bool);
2761 sod[OPT_CALIB_BACKEND].cap |= SANE_CAP_ADVANCED;
2762 sod[OPT_CALIB_BACKEND].constraint_type = SANE_CONSTRAINT_NONE;
2764 sod[OPT_CALIB_BACKEND].cap |= SANE_CAP_INACTIVE;
2767 sod[OPT_LIGHTLID35].name = M_NAME_LIGHTLID35;
2768 sod[OPT_LIGHTLID35].title = M_TITLE_LIGHTLID35;
2769 sod[OPT_LIGHTLID35].desc = M_DESC_LIGHTLID35;
2770 sod[OPT_LIGHTLID35].type = SANE_TYPE_BOOL;
2771 sod[OPT_LIGHTLID35].size = sizeof(SANE_Bool);
2772 sod[OPT_LIGHTLID35].cap |= SANE_CAP_ADVANCED;
2773 sod[OPT_LIGHTLID35].constraint_type = SANE_CONSTRAINT_NONE;
2775 sod[OPT_LIGHTLID35].cap |= SANE_CAP_INACTIVE;
2778 sod[OPT_TOGGLELAMP].name = M_NAME_TOGGLELAMP;
2779 sod[OPT_TOGGLELAMP].title = M_TITLE_TOGGLELAMP;
2780 sod[OPT_TOGGLELAMP].desc = M_DESC_TOGGLELAMP;
2781 sod[OPT_TOGGLELAMP].type = SANE_TYPE_BUTTON;
2782 sod[OPT_TOGGLELAMP].size = 0;
2783 sod[OPT_TOGGLELAMP].cap |= SANE_CAP_ADVANCED;
2784 sod[OPT_TOGGLELAMP].constraint_type = SANE_CONSTRAINT_NONE;
2786 sod[OPT_TOGGLELAMP].cap |= SANE_CAP_INACTIVE;
2789 sod[OPT_COLORBALANCE].title = M_TITLE_COLBALANCEGRP;
2790 sod[OPT_COLORBALANCE].type = SANE_TYPE_GROUP;
2791 sod[OPT_COLORBALANCE].size = 0;
2792 sod[OPT_COLORBALANCE].desc = "";
2793 sod[OPT_COLORBALANCE].cap = SANE_CAP_ADVANCED;
2794 sod[OPT_COLORBALANCE].constraint_type = SANE_CONSTRAINT_NONE;
2796 sod[OPT_BALANCE_R].name = M_NAME_BALANCE_R;
2797 sod[OPT_BALANCE_R].title = M_TITLE_BALANCE_R;
2798 sod[OPT_BALANCE_R].desc = M_DESC_BALANCE_R;
2799 sod[OPT_BALANCE_R].unit = SANE_UNIT_PERCENT;
2800 sod[OPT_BALANCE_R].cap |= SANE_CAP_ADVANCED;
2801 sod[OPT_BALANCE_R].constraint.range = &md->balance_range;
2803 sod[OPT_BALANCE_R].cap |= SANE_CAP_INACTIVE;
2805 sod[OPT_BALANCE_G].name = M_NAME_BALANCE_G;
2806 sod[OPT_BALANCE_G].title = M_TITLE_BALANCE_G;
2807 sod[OPT_BALANCE_G].desc = M_DESC_BALANCE_G;
2808 sod[OPT_BALANCE_G].unit = SANE_UNIT_PERCENT;
2809 sod[OPT_BALANCE_G].cap |= SANE_CAP_ADVANCED;
2810 sod[OPT_BALANCE_G].constraint.range = &md->balance_range;
2812 sod[OPT_BALANCE_G].cap |= SANE_CAP_INACTIVE;
2814 sod[OPT_BALANCE_B].name = M_NAME_BALANCE_B;
2815 sod[OPT_BALANCE_B].title = M_TITLE_BALANCE_B;
2816 sod[OPT_BALANCE_B].desc = M_DESC_BALANCE_B;
2817 sod[OPT_BALANCE_B].unit = SANE_UNIT_PERCENT;
2818 sod[OPT_BALANCE_B].cap |= SANE_CAP_ADVANCED;
2819 sod[OPT_BALANCE_B].constraint.range = &md->balance_range;
2821 sod[OPT_BALANCE_B].cap |= SANE_CAP_INACTIVE;
2823 sod[OPT_BALANCE_FW].name = M_NAME_BALANCE_FW;
2824 sod[OPT_BALANCE_FW].title = M_TITLE_BALANCE_FW;
2825 sod[OPT_BALANCE_FW].desc = M_DESC_BALANCE_FW;
2826 sod[OPT_BALANCE_FW].type = SANE_TYPE_BUTTON;
2827 sod[OPT_BALANCE_FW].size = 0;
2828 sod[OPT_BALANCE_FW].cap |= SANE_CAP_ADVANCED;
2829 sod[OPT_BALANCE_FW].constraint_type = SANE_CONSTRAINT_NONE;
2831 sod[OPT_BALANCE_FW].cap |= SANE_CAP_INACTIVE;
2834 status = set_option_dependencies(ms, sod, val);
2844 set_option_dependencies(Microtek2_Scanner *ms, SANE_Option_Descriptor *sod,
2851 DBG(40, "set_option_dependencies: val=%p, sod=%p, mode=%s\n",
2852 (void *) val, (void *) sod, val[OPT_MODE].s);
2858 sod[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE;
2859 sod[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE;
2860 sod[OPT_CHANNEL].cap &= ~SANE_CAP_INACTIVE;
2861 sod[OPT_SHADOW].cap &= ~SANE_CAP_INACTIVE;
2862 sod[OPT_MIDTONE].cap &= ~SANE_CAP_INACTIVE;
2863 sod[OPT_HIGHLIGHT].cap &= ~SANE_CAP_INACTIVE;
2864 sod[OPT_EXPOSURE].cap &= ~SANE_CAP_INACTIVE;
2865 sod[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
2866 sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
2868 sod[OPT_BITDEPTH].cap &= ~SANE_CAP_INACTIVE;
2870 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
2871 sod[OPT_AUTOADJUST].cap |= SANE_CAP_INACTIVE;
2874 sod[OPT_BALANCE_R].cap &= ~SANE_CAP_INACTIVE;
2875 sod[OPT_BALANCE_G].cap &= ~SANE_CAP_INACTIVE;
2876 sod[OPT_BALANCE_B].cap &= ~SANE_CAP_INACTIVE;
2877 sod[OPT_BALANCE_FW].cap &= ~SANE_CAP_INACTIVE;
2885 sod[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE;
2886 sod[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE;
2887 sod[OPT_CHANNEL].cap |= SANE_CAP_INACTIVE;
2888 sod[OPT_SHADOW].cap &= ~SANE_CAP_INACTIVE;
2889 sod[OPT_MIDTONE].cap &= ~SANE_CAP_INACTIVE;
2890 sod[OPT_HIGHLIGHT].cap &= ~SANE_CAP_INACTIVE;
2891 sod[OPT_EXPOSURE].cap &= ~SANE_CAP_INACTIVE;
2892 sod[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
2893 sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
2895 sod[OPT_BITDEPTH].cap &= ~SANE_CAP_INACTIVE;
2897 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
2898 sod[OPT_AUTOADJUST].cap |= SANE_CAP_INACTIVE;
2899 sod[OPT_BALANCE_R].cap |= SANE_CAP_INACTIVE;
2900 sod[OPT_BALANCE_G].cap |= SANE_CAP_INACTIVE;
2901 sod[OPT_BALANCE_B].cap |= SANE_CAP_INACTIVE;
2902 sod[OPT_BALANCE_FW].cap |= SANE_CAP_INACTIVE;
2912 sod[OPT_BRIGHTNESS].cap |= SANE_CAP_INACTIVE;
2913 sod[OPT_CONTRAST].cap |= SANE_CAP_INACTIVE;
2914 sod[OPT_CHANNEL].cap |= SANE_CAP_INACTIVE;
2915 sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;
2916 sod[OPT_MIDTONE].cap |= SANE_CAP_INACTIVE;
2917 sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;
2918 sod[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE;
2919 sod[OPT_HALFTONE].cap &= ~SANE_CAP_INACTIVE;
2920 sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
2921 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
2922 sod[OPT_AUTOADJUST].cap |= SANE_CAP_INACTIVE;
2923 sod[OPT_BALANCE_R].cap |= SANE_CAP_INACTIVE;
2924 sod[OPT_BALANCE_G].cap |= SANE_CAP_INACTIVE;
2925 sod[OPT_BALANCE_B].cap |= SANE_CAP_INACTIVE;
2926 sod[OPT_BALANCE_FW].cap |= SANE_CAP_INACTIVE;
2943 sod[OPT_BRIGHTNESS].cap |= SANE_CAP_INACTIVE;
2944 sod[OPT_CONTRAST].cap |= SANE_CAP_INACTIVE;
2945 sod[OPT_CHANNEL].cap |= SANE_CAP_INACTIVE;
2946 sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;
2947 sod[OPT_MIDTONE].cap |= SANE_CAP_INACTIVE;
2948 sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;
2949 sod[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE;
2950 sod[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
2952 sod[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE;
2954 sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
2955 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
2956 sod[OPT_AUTOADJUST].cap &= ~SANE_CAP_INACTIVE;
2957 sod[OPT_BALANCE_R].cap |= SANE_CAP_INACTIVE;
2958 sod[OPT_BALANCE_G].cap |= SANE_CAP_INACTIVE;
2959 sod[OPT_BALANCE_B].cap |= SANE_CAP_INACTIVE;
2960 sod[OPT_BALANCE_FW].cap |= SANE_CAP_INACTIVE;
2982 sod[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;
2983 sod[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;
2984 sod[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;
2985 sod[OPT_MIDTONE_R].cap |= SANE_CAP_INACTIVE;
2986 sod[OPT_MIDTONE_G].cap |= SANE_CAP_INACTIVE;
2987 sod[OPT_MIDTONE_B].cap |= SANE_CAP_INACTIVE;
2988 sod[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;
2989 sod[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;
2990 sod[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;
2991 sod[OPT_EXPOSURE_R].cap |= SANE_CAP_INACTIVE;
2992 sod[OPT_EXPOSURE_G].cap |= SANE_CAP_INACTIVE;
2993 sod[OPT_EXPOSURE_B].cap |= SANE_CAP_INACTIVE;
3005 if ( SANE_OPTION_IS_SETTABLE(sod[OPT_GAMMA_MODE].cap) )
3007 restore_gamma_options(sod, val);
3023 SANE_Option_Descriptor *sod;
3028 sod = &ms->sod[0];
3041 if ( ! SANE_OPTION_IS_ACTIVE(ms->sod[option].cap) )
3094 if (sod[option].type == SANE_TYPE_FIXED )
3131 memcpy(value, val[option].wa, sod[option].size);
3151 if ( ! SANE_OPTION_IS_SETTABLE(sod[option].cap) )
3163 status = sanei_constrain_value(ms->sod + option, value, info);
3171 switch ( sod[option].type )
3188 if ( sod[option].size == sizeof(SANE_Int) )
3200 memcpy(val[option].wa, value, sod[option].size);
3232 sod[option].type);
3293 sod[OPT_GAMMA_CUSTOM].size = size * sizeof (SANE_Int);
3294 sod[OPT_GAMMA_CUSTOM_R].size = size * sizeof (SANE_Int);
3295 sod[OPT_GAMMA_CUSTOM_G].size = size * sizeof (SANE_Int);
3296 sod[OPT_GAMMA_CUSTOM_B].size = size * sizeof (SANE_Int);
3334 status = set_option_dependencies(ms, sod, val);
3341 sod[OPT_BITDEPTH].cap |= SANE_CAP_INACTIVE;
3343 sod[OPT_AUTOADJUST].cap |= SANE_CAP_INACTIVE;
3354 sod[OPT_SHADOW].cap &= ~SANE_CAP_INACTIVE;
3355 sod[OPT_MIDTONE].cap &= ~SANE_CAP_INACTIVE;
3356 sod[OPT_HIGHLIGHT].cap &= ~SANE_CAP_INACTIVE;
3357 sod[OPT_EXPOSURE].cap &= ~SANE_CAP_INACTIVE;
3358 sod[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;
3359 sod[OPT_MIDTONE_R].cap |= SANE_CAP_INACTIVE;
3360 sod[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;
3361 sod[OPT_EXPOSURE_R].cap |= SANE_CAP_INACTIVE;
3362 sod[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;
3363 sod[OPT_MIDTONE_G].cap |= SANE_CAP_INACTIVE;
3364 sod[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;
3365 sod[OPT_EXPOSURE_G].cap |= SANE_CAP_INACTIVE;
3366 sod[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;
3367 sod[OPT_MIDTONE_B].cap |= SANE_CAP_INACTIVE;
3368 sod[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;
3369 sod[OPT_EXPOSURE_B].cap |= SANE_CAP_INACTIVE;
3373 sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;
3374 sod[OPT_MIDTONE].cap |= SANE_CAP_INACTIVE;
3375 sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;
3376 sod[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE;
3377 sod[OPT_SHADOW_R].cap &= ~SANE_CAP_INACTIVE;
3378 sod[OPT_MIDTONE_R].cap &= ~SANE_CAP_INACTIVE;
3379 sod[OPT_HIGHLIGHT_R].cap &= ~SANE_CAP_INACTIVE;
3380 sod[OPT_EXPOSURE_R].cap &= ~SANE_CAP_INACTIVE;
3381 sod[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;
3382 sod[OPT_MIDTONE_G].cap |= SANE_CAP_INACTIVE;
3383 sod[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;
3384 sod[OPT_EXPOSURE_G].cap |= SANE_CAP_INACTIVE;
3385 sod[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;
3386 sod[OPT_MIDTONE_B].cap |= SANE_CAP_INACTIVE;
3387 sod[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;
3388 sod[OPT_EXPOSURE_B].cap |= SANE_CAP_INACTIVE;
3392 sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;
3393 sod[OPT_MIDTONE].cap |= SANE_CAP_INACTIVE;
3394 sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;
3395 sod[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE;
3396 sod[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;
3397 sod[OPT_MIDTONE_R].cap |= SANE_CAP_INACTIVE;
3398 sod[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;
3399 sod[OPT_EXPOSURE_R].cap |= SANE_CAP_INACTIVE;
3400 sod[OPT_SHADOW_G].cap &= ~SANE_CAP_INACTIVE;
3401 sod[OPT_MIDTONE_G].cap &= ~SANE_CAP_INACTIVE;
3402 sod[OPT_HIGHLIGHT_G].cap &= ~SANE_CAP_INACTIVE;
3403 sod[OPT_EXPOSURE_G].cap &= ~SANE_CAP_INACTIVE;
3404 sod[OPT_SHADOW_B].cap |= SANE_CAP_INACTIVE;
3405 sod[OPT_MIDTONE_B].cap |= SANE_CAP_INACTIVE;
3406 sod[OPT_HIGHLIGHT_B].cap |= SANE_CAP_INACTIVE;
3407 sod[OPT_EXPOSURE_B].cap |= SANE_CAP_INACTIVE;
3411 sod[OPT_SHADOW].cap |= SANE_CAP_INACTIVE;
3412 sod[OPT_MIDTONE].cap |= SANE_CAP_INACTIVE;
3413 sod[OPT_HIGHLIGHT].cap |= SANE_CAP_INACTIVE;
3414 sod[OPT_EXPOSURE].cap |= SANE_CAP_INACTIVE;
3415 sod[OPT_SHADOW_R].cap |= SANE_CAP_INACTIVE;
3416 sod[OPT_MIDTONE_R].cap |= SANE_CAP_INACTIVE;
3417 sod[OPT_HIGHLIGHT_R].cap |= SANE_CAP_INACTIVE;
3418 sod[OPT_EXPOSURE_R].cap |= SANE_CAP_INACTIVE;
3419 sod[OPT_SHADOW_G].cap |= SANE_CAP_INACTIVE;
3420 sod[OPT_MIDTONE_G].cap |= SANE_CAP_INACTIVE;
3421 sod[OPT_HIGHLIGHT_G].cap |= SANE_CAP_INACTIVE;
3422 sod[OPT_EXPOSURE_G].cap |= SANE_CAP_INACTIVE;
3423 sod[OPT_SHADOW_B].cap &= ~SANE_CAP_INACTIVE;
3424 sod[OPT_MIDTONE_B].cap &= ~SANE_CAP_INACTIVE;
3425 sod[OPT_HIGHLIGHT_B].cap &= ~SANE_CAP_INACTIVE;
3426 sod[OPT_EXPOSURE_B].cap &= ~SANE_CAP_INACTIVE;
3431 restore_gamma_options(sod, val);
3437 restore_gamma_options(sod, val);
3495 ms->sod[OPT_Y_RESOLUTION].cap &= ~SANE_CAP_INACTIVE;
3499 ms->sod[OPT_Y_RESOLUTION].cap |= SANE_CAP_INACTIVE;
3521 ms->sod[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE;
3523 ms->sod[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
3559 DBG(255, "sane_get_option_descriptor: handle=%p, sod=%p, opt=%d\n",
3560 (void *) handle, (void *) ms->sod, n);
3568 return &ms->sod[n];
3574 restore_gamma_options(SANE_Option_Descriptor *sod, Option_Value *val)
3577 DBG(40, "restore_gamma_options: val=%p, sod=%p\n", (void *) val, (void *) sod);
3584 sod[OPT_GAMMA_MODE].cap &= ~SANE_CAP_INACTIVE;
3587 sod[OPT_GAMMA_BIND].cap |= SANE_CAP_INACTIVE;
3588 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3589 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3590 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3591 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3592 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3593 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3594 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3595 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
3599 sod[OPT_GAMMA_BIND].cap &= ~SANE_CAP_INACTIVE;
3602 sod[OPT_GAMMA_SCALAR].cap &= ~SANE_CAP_INACTIVE;
3603 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3604 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3605 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3606 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3607 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3608 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3609 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
3613 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3614 sod[OPT_GAMMA_SCALAR_R].cap &= ~SANE_CAP_INACTIVE;
3615 sod[OPT_GAMMA_SCALAR_G].cap &= ~SANE_CAP_INACTIVE;
3616 sod[OPT_GAMMA_SCALAR_B].cap &= ~SANE_CAP_INACTIVE;
3617 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3618 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3619 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3620 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
3625 sod[OPT_GAMMA_BIND].cap &= ~SANE_CAP_INACTIVE;
3628 sod[OPT_GAMMA_CUSTOM].cap &= ~SANE_CAP_INACTIVE;
3629 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3630 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3631 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
3632 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3633 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3634 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3635 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3639 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3640 sod[OPT_GAMMA_CUSTOM_R].cap &= ~SANE_CAP_INACTIVE;
3641 sod[OPT_GAMMA_CUSTOM_G].cap &= ~SANE_CAP_INACTIVE;
3642 sod[OPT_GAMMA_CUSTOM_B].cap &= ~SANE_CAP_INACTIVE;
3643 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3644 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3645 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3646 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3652 sod[OPT_GAMMA_MODE].cap &= ~SANE_CAP_INACTIVE;
3653 sod[OPT_GAMMA_BIND].cap |= SANE_CAP_INACTIVE;
3654 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3655 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3656 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3657 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3658 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3659 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;
3662 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3663 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3667 sod[OPT_GAMMA_SCALAR].cap &= ~SANE_CAP_INACTIVE;
3668 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3672 sod[OPT_GAMMA_CUSTOM].cap &= ~SANE_CAP_INACTIVE;
3673 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3683 sod[OPT_GAMMA_MODE].cap |= SANE_CAP_INACTIVE;
3684 sod[OPT_GAMMA_BIND].cap |= SANE_CAP_INACTIVE;
3685 sod[OPT_GAMMA_SCALAR].cap |= SANE_CAP_INACTIVE;
3686 sod[OPT_GAMMA_SCALAR_R].cap |= SANE_CAP_INACTIVE;
3687 sod[OPT_GAMMA_SCALAR_G].cap |= SANE_CAP_INACTIVE;
3688 sod[OPT_GAMMA_SCALAR_B].cap |= SANE_CAP_INACTIVE;
3689 sod[OPT_GAMMA_CUSTOM].cap |= SANE_CAP_INACTIVE;
3690 sod[OPT_GAMMA_CUSTOM_R].cap |= SANE_CAP_INACTIVE;
3691 sod[OPT_GAMMA_CUSTOM_G].cap |= SANE_CAP_INACTIVE;
3692 sod[OPT_GAMMA_CUSTOM_B].cap |= SANE_CAP_INACTIVE;