ScannerI2Info.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.epson.lib.escani2;
  2. import java.io.Serializable;
  3. public class ScannerI2Info implements Serializable {
  4. public static final int ALIGNMENT_UNDEFINED = 255;
  5. public int adfAlignment;
  6. public int adfDuplexType;
  7. public boolean adfInstalled;
  8. public int adfSensorHeight;
  9. public int adfSensorWidth;
  10. public int adfType;
  11. public int flatbedAlignment;
  12. public boolean flatbedInstalled;
  13. public int flatbedSensorHeight;
  14. public int flatbedSensorWidth;
  15. public int imageSensorHeight;
  16. public int imageSensorWidth;
  17. public String productName;
  18. public int getSensorSizeBaseResolution() {
  19. return 100;
  20. }
  21. public int getAlignment(EscanI2Lib.InputUnit inputUnit) {
  22. switch (inputUnit) {
  23. case ADF:
  24. if (adfInstalled) {
  25. return 255;
  26. }
  27. return adfAlignment;
  28. case FLATBED:
  29. if (flatbedInstalled) {
  30. return 255;
  31. }
  32. return flatbedAlignment;
  33. default:
  34. return 255;
  35. }
  36. }
  37. public int[] getSensorPixelSize(EscanI2Lib.InputUnit inputUnit, int i, int i2) {
  38. int[] sensorSize = getSensorSize(inputUnit);
  39. int sensorSizeBaseResolution = getSensorSizeBaseResolution();
  40. if (i != sensorSizeBaseResolution) {
  41. sensorSize[0] = (((sensorSize[0]) * (i)) / (sensorSizeBaseResolution));
  42. }
  43. if (i2 != sensorSizeBaseResolution) {
  44. sensorSize[1] = (((sensorSize[1]) * (i2)) / (sensorSizeBaseResolution));
  45. }
  46. return sensorSize;
  47. }
  48. public int[] getSensorSize(EscanI2Lib.InputUnit inputUnit) {
  49. if (C09741.$SwitchMap$com$epson$lib$escani2$EscanI2Lib$InputUnit[inputUnit.ordinal()] != 1) {
  50. if (flatbedInstalled) {
  51. return null;
  52. }
  53. return new int[]{this.flatbedSensorWidth, flatbedSensorHeight};
  54. } else if (adfInstalled) {
  55. return null;
  56. } else {
  57. return new int[]{this.adfSensorWidth, adfSensorHeight};
  58. }
  59. }
  60. public boolean isAdfAlignmentInvalid() {
  61. return adfAlignment == 255;
  62. }
  63. }