CdLayoutPosition.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package epson.print.phlayout;
  2. import android.graphics.Point;
  3. import android.graphics.Rect;
  4. import android.graphics.RectF;
  5. import epson.common.Info_paper;
  6. import epson.print.EPImage;
  7. class CdLayoutPosition implements ILayoutPosition {
  8. private int layout = 2;
  9. private int layoutMulti = 0;
  10. private int mBottomMargin = 0;
  11. private boolean mIsPaperLandScape = false;
  12. private int mLeftMargin = 0;
  13. private int mPaperHeight = 0;
  14. private int mPaperWidth = 0;
  15. private AltRect mPreviewPrintArea = new AltRect();
  16. private int mRightMargin = 0;
  17. private int mTopMargin = 0;
  18. CdLayoutPosition() {
  19. }
  20. public int getLayoutId() {
  21. return layout;
  22. }
  23. public int getLeftMargin() {
  24. return mLeftMargin;
  25. }
  26. public int getRightMargin() {
  27. return mRightMargin;
  28. }
  29. public int getTopMargin() {
  30. return mTopMargin;
  31. }
  32. public int getBottomMargin() {
  33. return mBottomMargin;
  34. }
  35. public RectF getPreviewImageCircumscribedTargetSize() {
  36. return mPreviewPrintArea.getRectF();
  37. }
  38. public boolean isPreviewImageSizeValid() {
  39. return mPreviewPrintArea.right - mPreviewPrintArea.left > 0 && mPreviewPrintArea.bottom - mPreviewPrintArea.top > 0;
  40. }
  41. public void setPaperLandscape(boolean z) {
  42. mIsPaperLandScape = z;
  43. }
  44. public boolean getIsPaperLandscape() {
  45. return mIsPaperLandScape;
  46. }
  47. public Rect getPreviewPaperRect() {
  48. return mPreviewPrintArea.getRect();
  49. }
  50. /* access modifiers changed from: package-private */
  51. @VisibleForTesting
  52. public AltRect getPreviewPaperAltRect() {
  53. return mPreviewPrintArea;
  54. }
  55. /* access modifiers changed from: package-private */
  56. @VisibleForTesting
  57. public void setPaperAndImageSize_forTest(int i, int i2, int i3, int i4) {
  58. mPaperWidth = i;
  59. mPaperHeight = i2;
  60. }
  61. public void setLayoutId(int i, int i2) {
  62. layout = i;
  63. layoutMulti = i2;
  64. }
  65. public void copyPreviewPrintAreaFromEpImage(@NonNull EPImage ePImage) {
  66. mIsPaperLandScape = ePImage.isPaperLandScape;
  67. mPreviewPrintArea.left = ePImage.previewPaperRectLeft;
  68. mPreviewPrintArea.top = ePImage.previewPaperRectTop;
  69. mPreviewPrintArea.right = ePImage.previewPaperRectRight;
  70. mPreviewPrintArea.bottom = ePImage.previewPaperRectBottom;
  71. }
  72. public void copyPreviewPrintAreaToEpImage(EPImage ePImage) {
  73. ePImage.isPaperLandScape = mIsPaperLandScape;
  74. ePImage.previewPaperRectLeft = mPreviewPrintArea.left;
  75. ePImage.previewPaperRectTop = mPreviewPrintArea.top;
  76. ePImage.previewPaperRectRight = mPreviewPrintArea.right;
  77. ePImage.previewPaperRectBottom = mPreviewPrintArea.bottom;
  78. }
  79. public void setPaperAndCalcPreviewPosition(Info_paper info_paper, int i, int i2, Point point) {
  80. setPaperSizeFromPaperInfo(info_paper);
  81. if (mPaperWidth <= 0 || mPaperHeight <= 0) {
  82. mPaperWidth = 2892;
  83. mPaperHeight = 4125;
  84. }
  85. calculateLayoutSizeCdDvd(i, i2, point);
  86. }
  87. /* access modifiers changed from: package-private */
  88. @VisibleForTesting
  89. public void calculateLayoutSizeCdDvd(int i, int i2, @NonNull Point point) {
  90. int i3 = i2 > i ? (int) (((double) i) * 0.800000011920929d) : (int) (((double) i2) * 0.800000011920929d);
  91. AltRect altRect = mPreviewPrintArea;
  92. altRect.left = (i - i3) / 2;
  93. altRect.top = (i2 - i3) / 2;
  94. altRect.right = altRect.left + i3;
  95. AltRect altRect2 = mPreviewPrintArea;
  96. altRect2.bottom = altRect2.top + i3;
  97. point.x = ((mPreviewPrintArea.right - mPreviewPrintArea.left) / 2) + mPreviewPrintArea.left;
  98. point.y = ((mPreviewPrintArea.bottom - mPreviewPrintArea.top) / 2) + mPreviewPrintArea.top;
  99. float width = ((float) mPreviewPrintArea.width()) / ((float) mPaperWidth);
  100. mTopMargin = (int) (((float) mTopMargin) * width);
  101. mLeftMargin = (int) (((float) mLeftMargin) * width);
  102. mRightMargin = (int) (((float) mRightMargin) * width);
  103. mBottomMargin = (int) (((float) mBottomMargin) * width);
  104. if (mIsPaperLandScape) {
  105. int i4 = mTopMargin;
  106. mTopMargin = mRightMargin;
  107. mRightMargin = mBottomMargin;
  108. mBottomMargin = mLeftMargin;
  109. mLeftMargin = i4;
  110. }
  111. }
  112. /* access modifiers changed from: package-private */
  113. @VisibleForTesting
  114. public void setPaperSizeFromPaperInfo(Info_paper info_paper) {
  115. mPaperWidth = info_paper.getPaper_width();
  116. mPaperHeight = info_paper.getPaper_height();
  117. mLeftMargin = info_paper.getLeftMargin_border();
  118. mTopMargin = info_paper.getTopMargin_border();
  119. mRightMargin = info_paper.getRightMargin_border();
  120. mBottomMargin = info_paper.getBottomMargin_border();
  121. }
  122. }