Rectangle displayArea = canvas.getBoardPainter().getPlayArea(); if (bZoomIn && (cursor.x > displayArea.x1 || cursor.x < displayArea.x0 || cursor.y < displayArea.y0 || cursor.y > displayArea.y1)) {  switchToZoomedPainter(); }
spanInZoomedModeIfTheCursorIsOut();
  public Rectangle doReviewMove(int keyCode) {    boolean refreshNeeded = true;    switch (canvas.getGameAction(keyCode)) {    case MainCanvas.ACTION_UP:      doGoPrevBrother();      break;    case MainCanvas.ACTION_DOWN:      doGoNextBrother();      break;    case MainCanvas.ACTION_LEFT:      if (!doGoBack())        canvas.setSplashInfo(Gome.singleton.bundle.getString("ui.noMoreMove"));      break;    case MainCanvas.ACTION_RIGHT:      if (!doGoNext())        canvas.setSplashInfo(Gome.singleton.bundle.getString("ui.noMoreMove"));      break;    default:      refreshNeeded = false;    }    if (refreshNeeded) {      if (currentNode.getPoint() != null) {        // make the cursor follow the last move only if it is a valid        // move        cursor = currentNode.getPoint();      }      tuneBoardPainter();    }    Rectangle displayArea = canvas.getBoardPainter().getPlayArea();    if (bZoomIn && (cursor.x > displayArea.x1 || cursor.x < displayArea.x0 || cursor.y < displayArea.y0 || cursor.y > displayArea.y1)) {      switchToZoomedPainter();    }    return refreshNeeded ? canvas.getBoardPainter().getDrawArea() : null;  }