Lines Matching refs:pss
254 static void control_options(SnapScan_Scanner *pss);
972 static void control_options(SnapScan_Scanner *pss)
975 pss->options[OPT_CUSTOM_GAMMA].cap |= SANE_CAP_INACTIVE;
976 pss->options[OPT_BRIGHTNESS].cap |= SANE_CAP_INACTIVE;
977 pss->options[OPT_CONTRAST].cap |= SANE_CAP_INACTIVE;
978 pss->options[OPT_GAMMA_BIND].cap |= SANE_CAP_INACTIVE;
979 pss->options[OPT_GAMMA_GS].cap |= SANE_CAP_INACTIVE;
980 pss->options[OPT_GAMMA_R].cap |= SANE_CAP_INACTIVE;
981 pss->options[OPT_GAMMA_G].cap |= SANE_CAP_INACTIVE;
982 pss->options[OPT_GAMMA_B].cap |= SANE_CAP_INACTIVE;
983 pss->options[OPT_GAMMA_VECTOR_GS].cap |= SANE_CAP_INACTIVE;
984 pss->options[OPT_GAMMA_VECTOR_R].cap |= SANE_CAP_INACTIVE;
985 pss->options[OPT_GAMMA_VECTOR_G].cap |= SANE_CAP_INACTIVE;
986 pss->options[OPT_GAMMA_VECTOR_B].cap |= SANE_CAP_INACTIVE;
987 pss->options[OPT_BIT_DEPTH].cap |= SANE_CAP_INACTIVE;
989 if ((pss->mode == MD_COLOUR) ||
990 ((pss->mode == MD_BILEVELCOLOUR) && (pss->hconfig & HCFG_HT) &&
991 pss->halftone))
993 pss->options[OPT_CUSTOM_GAMMA].cap &= ~SANE_CAP_INACTIVE;
994 pss->options[OPT_GAMMA_BIND].cap &= ~SANE_CAP_INACTIVE;
995 if (pss->val[OPT_CUSTOM_GAMMA].b)
997 if (pss->val[OPT_GAMMA_BIND].b)
999 pss->options[OPT_GAMMA_VECTOR_GS].cap &= ~SANE_CAP_INACTIVE;
1003 pss->options[OPT_GAMMA_VECTOR_R].cap &= ~SANE_CAP_INACTIVE;
1004 pss->options[OPT_GAMMA_VECTOR_G].cap &= ~SANE_CAP_INACTIVE;
1005 pss->options[OPT_GAMMA_VECTOR_B].cap &= ~SANE_CAP_INACTIVE;
1010 pss->options[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE;
1011 pss->options[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE;
1012 if (pss->val[OPT_GAMMA_BIND].b)
1014 pss->options[OPT_GAMMA_GS].cap &= ~SANE_CAP_INACTIVE;
1018 pss->options[OPT_GAMMA_R].cap &= ~SANE_CAP_INACTIVE;
1019 pss->options[OPT_GAMMA_G].cap &= ~SANE_CAP_INACTIVE;
1020 pss->options[OPT_GAMMA_B].cap &= ~SANE_CAP_INACTIVE;
1024 else if ((pss->mode == MD_GREYSCALE) ||
1025 ((pss->mode == MD_LINEART) && (pss->hconfig & HCFG_HT) &&
1026 pss->halftone))
1028 pss->options[OPT_CUSTOM_GAMMA].cap &= ~SANE_CAP_INACTIVE;
1030 if (pss->val[OPT_CUSTOM_GAMMA].b)
1032 pss->options[OPT_GAMMA_VECTOR_GS].cap &= ~SANE_CAP_INACTIVE;
1036 pss->options[OPT_BRIGHTNESS].cap &= ~SANE_CAP_INACTIVE;
1037 pss->options[OPT_CONTRAST].cap &= ~SANE_CAP_INACTIVE;
1038 pss->options[OPT_GAMMA_GS].cap &= ~SANE_CAP_INACTIVE;
1041 if ((pss->mode == MD_GREYSCALE) || (pss->mode == MD_COLOUR))
1043 switch(pss->pdev->model)
1047 pss->options[OPT_BIT_DEPTH].cap &= ~SANE_CAP_INACTIVE;
1053 if (pss->pdev->model == SCANWIT2720S)
1055 pss->options[OPT_FRAME_NO].cap &= ~SANE_CAP_INACTIVE;
1056 pss->options[OPT_FOCUS_MODE].cap &= ~SANE_CAP_INACTIVE;
1057 if (pss->focus_mode == MD_MANUAL)
1059 pss->options[OPT_FOCUS_POINT].cap &= ~SANE_CAP_INACTIVE;
1071 SnapScan_Scanner *pss = h;
1072 SnapScan_Device *pdev = pss->pdev;
1088 if (!SANE_OPTION_IS_ACTIVE(pss->options[n].cap)) {
1097 *(SANE_Int *) v = pss->res;
1100 *(SANE_Bool *) v = pss->preview;
1103 *(SANE_Bool *) v = pss->highquality;
1109 pss->mode_s,
1111 strcpy ((SANE_String) v, pss->mode_s);
1117 pss->preview_mode_s,
1119 strcpy ((SANE_String) v, pss->preview_mode_s);
1122 strcpy (v, pss->source_s);
1125 *(SANE_Fixed *) v = pss->tlx;
1128 *(SANE_Fixed *) v = pss->tly;
1131 *(SANE_Fixed *) v = pss->brx;
1134 *(SANE_Fixed *) v = pss->bry;
1137 *(SANE_Int *) v = pss->bright << SANE_FIXED_SCALE_SHIFT;
1140 *(SANE_Int *) v = pss->contrast << SANE_FIXED_SCALE_SHIFT;
1146 pss->predef_window,
1148 strcpy ((SANE_String) v, pss->predef_window);
1151 *(SANE_Fixed *) v = pss->gamma_gs;
1154 *(SANE_Fixed *) v = pss->gamma_r;
1157 *(SANE_Fixed *) v = pss->gamma_g;
1160 *(SANE_Fixed *) v = pss->gamma_b;
1165 *(SANE_Bool *) v = pss->val[n].b;
1172 memcpy (v, pss->val[n].wa, pss->options[n].size);
1175 *(SANE_Bool *) v = pss->halftone;
1181 pss->dither_matrix,
1183 strcpy ((SANE_String) v, pss->dither_matrix);
1186 *(SANE_Bool *) v = pss->negative;
1189 *(SANE_Int *) v = pss->threshold << SANE_FIXED_SCALE_SHIFT;
1192 *(SANE_Int *) v = pss->rgb_lpr;
1195 *(SANE_Int *) v = pss->gs_lpr;
1198 *(SANE_Int *) v = pss->val[OPT_BIT_DEPTH].w;
1201 *(SANE_Int *) v = pss->frame_no;
1204 strcpy ((SANE_String) v, pss->focus_mode_s);
1207 *(SANE_Int *) v = pss->focus;
1221 if ((!SANE_OPTION_IS_SETTABLE(pss->options[n].cap)) ||
1222 (!SANE_OPTION_IS_ACTIVE(pss->options[n].cap))) {
1226 if ((pss->state==ST_SCAN_INIT) || (pss->state==ST_SCANNING)) {
1229 pss->options[n].name,
1230 pss->state
1234 status = sanei_constrain_value(&pss->options[n], v, i);
1243 pss->res = *(SANE_Int *) v;
1248 pss->preview = *(SANE_Bool *) v;
1253 pss->highquality = *(SANE_Bool *) v;
1262 pss->mode_s = md_colour;
1263 pss->mode = MD_COLOUR;
1264 if (pss->preview_mode_s == md_auto)
1265 pss->preview_mode = MD_COLOUR;
1266 pss->options[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
1267 pss->options[OPT_HALFTONE_PATTERN].cap |= SANE_CAP_INACTIVE;
1268 pss->options[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE;
1269 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1270 pss->options[OPT_GS_LPR].cap |= SANE_CAP_INACTIVE;
1271 pss->options[OPT_RGB_LPR].cap &= ~SANE_CAP_INACTIVE;
1275 int ht_cap = pss->hconfig & HCFG_HT;
1276 pss->mode_s = md_bilevelcolour;
1277 pss->mode = MD_BILEVELCOLOUR;
1278 if (pss->preview_mode_s == md_auto)
1279 pss->preview_mode = MD_BILEVELCOLOUR;
1281 pss->options[OPT_HALFTONE].cap &= ~SANE_CAP_INACTIVE;
1282 if (ht_cap && pss->halftone)
1284 pss->options[OPT_HALFTONE_PATTERN].cap &=
1289 pss->options[OPT_HALFTONE_PATTERN].cap |=
1292 pss->options[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE;
1293 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1294 pss->options[OPT_GS_LPR].cap |= SANE_CAP_INACTIVE;
1295 pss->options[OPT_RGB_LPR].cap &= ~SANE_CAP_INACTIVE;
1299 pss->mode_s = md_greyscale;
1300 pss->mode = MD_GREYSCALE;
1301 if (pss->preview_mode_s == md_auto)
1302 pss->preview_mode = MD_GREYSCALE;
1303 pss->options[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
1304 pss->options[OPT_HALFTONE_PATTERN].cap |= SANE_CAP_INACTIVE;
1305 pss->options[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE;
1306 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1307 pss->options[OPT_GS_LPR].cap &= ~SANE_CAP_INACTIVE;
1308 pss->options[OPT_RGB_LPR].cap |= SANE_CAP_INACTIVE;
1312 int ht_cap = pss->hconfig & HCFG_HT;
1313 pss->mode_s = md_lineart;
1314 pss->mode = MD_LINEART;
1315 if (pss->preview_mode_s == md_auto)
1316 pss->preview_mode = MD_LINEART;
1318 pss->options[OPT_HALFTONE].cap &= ~SANE_CAP_INACTIVE;
1319 if (ht_cap && pss->halftone)
1321 pss->options[OPT_HALFTONE_PATTERN].cap &=
1323 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1327 pss->options[OPT_HALFTONE_PATTERN].cap |=
1329 pss->options[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE;
1331 pss->options[OPT_NEGATIVE].cap &= ~SANE_CAP_INACTIVE;
1332 pss->options[OPT_GS_LPR].cap &= ~SANE_CAP_INACTIVE;
1333 pss->options[OPT_RGB_LPR].cap |= SANE_CAP_INACTIVE;
1344 control_options (pss);
1353 pss->preview_mode_s = md_auto;
1354 pss->preview_mode = pss->mode;
1358 pss->preview_mode_s = md_colour;
1359 pss->preview_mode = MD_COLOUR;
1363 pss->preview_mode_s = md_bilevelcolour;
1364 pss->preview_mode = MD_BILEVELCOLOUR;
1368 pss->preview_mode_s = md_greyscale;
1369 pss->preview_mode = MD_GREYSCALE;
1373 pss->preview_mode_s = md_lineart;
1374 pss->preview_mode = MD_LINEART;
1389 pss->source = SRC_FLATBED;
1390 pss->pdev->x_range.max = x_range_fb.max;
1391 pss->pdev->y_range.max = y_range_fb.max;
1395 pss->source = SRC_TPO;
1396 pss->pdev->x_range.max = x_range_tpo.max;
1397 pss->pdev->y_range.max = y_range_tpo.max;
1401 pss->source = SRC_ADF;
1402 pss->pdev->x_range.max = x_range_fb.max;
1403 pss->pdev->y_range.max = y_range_fb.max;
1414 if (pss->brx > pss->pdev->x_range.max)
1415 pss->brx = pss->pdev->x_range.max;
1416 if (pss->bry > pss->pdev->y_range.max)
1417 pss->bry = pss->pdev->y_range.max;
1418 pss->predef_window = pdw_none;
1419 if (pss->source_s)
1420 free (pss->source_s);
1421 pss->source_s = (SANE_Char *) strdup(v);
1426 pss->tlx = *(SANE_Fixed *) v;
1427 pss->predef_window = pdw_none;
1428 if (pss->tlx > pdev->x_range.max) {
1429 pss->tlx = pdev->x_range.max;
1431 if (pss->brx < pss->tlx) {
1432 pss->brx = pss->tlx;
1438 pss->tly = *(SANE_Fixed *) v;
1439 pss->predef_window = pdw_none;
1440 if (pss->tly > pdev->y_range.max){
1441 pss->tly = pdev->y_range.max;
1443 if (pss->bry < pss->tly) {
1444 pss->bry = pss->tly;
1450 pss->brx = *(SANE_Fixed *) v;
1451 pss->predef_window = pdw_none;
1452 if (pss->brx < pdev->x_range.min) {
1453 pss->brx = pdev->x_range.min;
1455 if (pss->brx < pss->tlx) {
1456 pss->tlx = pss->brx;
1462 pss->bry = *(SANE_Fixed *) v;
1463 pss->predef_window = pdw_none;
1464 if (pss->bry < pdev->y_range.min) {
1465 pss->bry = pdev->y_range.min;
1467 if (pss->bry < pss->tly) {
1468 pss->tly = pss->bry;
1474 pss->bright = *(SANE_Int *) v >> SANE_FIXED_SCALE_SHIFT;
1477 pss->contrast = *(SANE_Int *) v >> SANE_FIXED_SCALE_SHIFT;
1484 pss->tlx = 0;
1485 pss->tly = 0;
1489 pss->predef_window = pdw_6X4;
1490 pss->brx = SANE_FIX (6.0*MM_PER_IN);
1491 pss->bry = SANE_FIX (4.0*MM_PER_IN);
1495 pss->predef_window = pdw_8X10;
1496 pss->brx = SANE_FIX (8.0*MM_PER_IN);
1497 pss->bry = SANE_FIX (10.0*MM_PER_IN);
1501 pss->predef_window = pdw_85X11;
1502 pss->brx = SANE_FIX (8.5*MM_PER_IN);
1503 pss->bry = SANE_FIX (11.0*MM_PER_IN);
1510 pss->predef_window = pdw_none;
1511 pss->brx = SANE_FIX (6.0*MM_PER_IN);
1512 pss->bry = SANE_FIX (4.0*MM_PER_IN);
1517 pss->predef_window = pdw_none;
1524 pss->gamma_gs = *(SANE_Fixed *) v;
1527 pss->gamma_r = *(SANE_Fixed *) v;
1530 pss->gamma_g = *(SANE_Fixed *) v;
1533 pss->gamma_b = *(SANE_Fixed *) v;
1536 pss->val[n].b = *(SANE_Bool *)v;
1543 if (b == pss->val[n].b) { break; }
1544 pss->val[n].b = b;
1545 control_options (pss);
1557 memcpy(pss->val[n].wa, v, pss->options[n].size);
1560 pss->halftone = *(SANE_Bool *) v;
1561 if (pss->halftone)
1563 switch (pss->mode)
1568 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1573 pss->options[OPT_HALFTONE_PATTERN].cap &= ~SANE_CAP_INACTIVE;
1577 pss->options[OPT_HALFTONE_PATTERN].cap |= SANE_CAP_INACTIVE;
1578 if (pss->mode == MD_LINEART)
1579 pss->options[OPT_THRESHOLD].cap &= ~SANE_CAP_INACTIVE;
1581 control_options (pss);
1590 pss->dither_matrix = dm_dd8x8;
1594 pss->dither_matrix = dm_dd16x16;
1607 pss->negative = *(SANE_Bool *) v;
1610 pss->threshold = *(SANE_Int *) v >> SANE_FIXED_SCALE_SHIFT;
1613 pss->rgb_lpr = *(SANE_Int *) v;
1616 pss->gs_lpr = *(SANE_Int *) v;
1619 pss->val[OPT_BIT_DEPTH].w = *(SANE_Int *) v;
1624 pss->frame_no = *(SANE_Int *) v;
1631 pss->focus_mode_s = md_manual;
1632 pss->focus_mode = MD_MANUAL;
1633 pss->options[OPT_FOCUS_POINT].cap &= ~SANE_CAP_INACTIVE;
1637 pss->focus_mode_s = md_auto;
1638 pss->focus_mode = MD_AUTO;
1639 pss->options[OPT_FOCUS_POINT].cap |= SANE_CAP_INACTIVE;
1646 pss->focus = *(SANE_Int *) v;
1656 me, pss->options[n].name);
1657 switch (pss->options[n].type)
1679 if (pss->pdev->model == SCANWIT2720S)
1681 pss->res = 1350;
1685 pss->res = 300;
1691 pss->preview = SANE_FALSE;
1696 pss->highquality = SANE_FALSE;
1701 pss->mode_s = md_colour;
1702 pss->mode = MD_COLOUR;
1703 pss->options[OPT_HALFTONE].cap |= SANE_CAP_INACTIVE;
1704 pss->options[OPT_HALFTONE_PATTERN].cap |= SANE_CAP_INACTIVE;
1705 pss->options[OPT_NEGATIVE].cap |= SANE_CAP_INACTIVE;
1706 pss->options[OPT_THRESHOLD].cap |= SANE_CAP_INACTIVE;
1707 pss->options[OPT_GS_LPR].cap |= SANE_CAP_INACTIVE;
1708 pss->options[OPT_RGB_LPR].cap &= ~SANE_CAP_INACTIVE;
1709 control_options (pss);
1714 pss->preview_mode_s = md_greyscale;
1715 pss->preview_mode = MD_GREYSCALE;
1718 if (pss->pdev->model == SCANWIT2720S)
1720 pss->source = SRC_TPO;
1721 pss->pdev->x_range.max = x_range_tpo.max;
1722 pss->pdev->y_range.max = y_range_tpo.max;
1723 pss->predef_window = pdw_none;
1724 if (pss->source_s)
1725 free (pss->source_s);
1726 pss->source_s = (SANE_Char *) strdup(src_tpo);
1730 pss->source = SRC_FLATBED;
1731 pss->pdev->x_range.max = x_range_fb.max;
1732 pss->pdev->y_range.max = y_range_fb.max;
1733 pss->predef_window = pdw_none;
1734 if (pss->source_s)
1735 free (pss->source_s);
1736 pss->source_s = (SANE_Char *) strdup(src_flatbed);
1742 pss->tlx = pss->pdev->x_range.min;
1747 pss->tly = pss->pdev->y_range.min;
1752 pss->brx = pss->pdev->x_range.max;
1757 pss->bry = pss->pdev->y_range.max;
1762 pss->negative = DEFAULT_NEGATIVE;
1765 pss->rgb_lpr = def_rgb_lpr;
1768 pss->gs_lpr = def_gs_lpr;
1771 if (pss->pdev->model == SCANWIT2720S)
1773 pss->val[OPT_BIT_DEPTH].w = 12;
1777 pss->val[OPT_BIT_DEPTH].w = def_bpp;
1781 pss->frame_no = def_frame_no;
1784 pss->focus_mode_s = md_auto;
1785 pss->focus_mode = MD_AUTO;
1790 pss->focus = 0x13e;