comparison src/viewer_swing/java/com/glavsoft/viewer/Viewer.java @ 461:b7d43b12651c

fix getFbRectangles x may have minus value now, but xFb is always plus
author kono
date Mon, 04 Jul 2016 18:41:14 +0900
parents c6058c4e2a79
children 8d636adb292c
comparison
equal deleted inserted replaced
460:c6058c4e2a79 461:b7d43b12651c
500 } 500 }
501 Point offset = getScreenOffset(rectangles); 501 Point offset = getScreenOffset(rectangles);
502 ArrayList<FbRectangle> fbRectangles = new ArrayList<FbRectangle>(); 502 ArrayList<FbRectangle> fbRectangles = new ArrayList<FbRectangle>();
503 int screenNumber = 0; 503 int screenNumber = 0;
504 for (Rectangle rect : rectangles) { 504 for (Rectangle rect : rectangles) {
505 fbRectangles.add(new FbRectangle(rect.x + offset.x, rect.y + offset.y, rect.width, rect.height, screenNumber, retinaScale(screenNumber))); 505 FbRectangle fbrect = new FbRectangle(rect.x, rect.y, rect.width, rect.height, screenNumber, retinaScale(screenNumber));
506 fbrect.setXfb(rect.x + offset.x);
507 fbrect.setXfb(rect.y + offset.y);
508 fbRectangles.add(fbrect);
506 screenNumber++; 509 screenNumber++;
507 } 510 }
508 511
509 fbRectangles.sort(new Comparator<FbRectangle>() { 512 fbRectangles.sort(new Comparator<FbRectangle>() {
510 @Override 513 @Override
523 fbRectanglesPrev.getY() > fbRect.getY() + fbRect.getHeight() && fbRectanglesPrev.getY() + fbRectanglesPrev.getHeight() < fbRectanglesPrev.getY() + fbRectanglesPrev.getHeight()) { 526 fbRectanglesPrev.getY() > fbRect.getY() + fbRect.getHeight() && fbRectanglesPrev.getY() + fbRectanglesPrev.getHeight() < fbRectanglesPrev.getY() + fbRectanglesPrev.getHeight()) {
524 // previous screen is touch with this screen, fix retina scale offset 527 // previous screen is touch with this screen, fix retina scale offset
525 retinaOffsetX += fbRectanglesPrev.getWidth() * (fbRectanglesPrev.retinaScale - 1); 528 retinaOffsetX += fbRectanglesPrev.getWidth() * (fbRectanglesPrev.retinaScale - 1);
526 } 529 }
527 } 530 }
528 fbRect.setXfb((int) (fbRect.getX() + retinaOffsetX)); 531 fbRect.setXfb((int) (fbRect.getXfb() + retinaOffsetX));
529 fbRectanglesPrev = fbRect; 532 fbRectanglesPrev = fbRect;
530 } 533 }
531 534
532 fbRectangles.sort(new Comparator<FbRectangle>() { 535 fbRectangles.sort(new Comparator<FbRectangle>() {
533 @Override 536 @Override
546 fbRectanglesPrev.getX() > fbRect.getX() + fbRect.getWidth() && fbRectanglesPrev.getX() + fbRectanglesPrev.getWidth() < fbRectanglesPrev.getX() + fbRectanglesPrev.getWidth()) { 549 fbRectanglesPrev.getX() > fbRect.getX() + fbRect.getWidth() && fbRectanglesPrev.getX() + fbRectanglesPrev.getWidth() < fbRectanglesPrev.getX() + fbRectanglesPrev.getWidth()) {
547 // previous screen is touch with this screen, fix retina scale offset 550 // previous screen is touch with this screen, fix retina scale offset
548 retinaOffsetY += fbRectanglesPrev.getHeight() * (fbRectanglesPrev.retinaScale - 1); 551 retinaOffsetY += fbRectanglesPrev.getHeight() * (fbRectanglesPrev.retinaScale - 1);
549 } 552 }
550 } 553 }
551 fbRect.setYfb((int) (fbRect.getY() + retinaOffsetY)); 554 fbRect.setYfb((int) (fbRect.getYfb() + retinaOffsetY));
552 fbRectanglesPrev = fbRect; 555 fbRectanglesPrev = fbRect;
553 } 556 }
554 return fbRectangles; 557 return fbRectangles;
555 } 558 }
556 559