/** * Start a rendering job for specified {@link Chapter}. The job will sequentially render a * thumbnail one by one, starting from the first {@link LevelData}. * * @param chapter a {@link Chapter} that all of its {@link LevelData}'s thumbnail images will be * rendered. */ protected static void startRenderThumbnail(Chapter chapter) { // if (!chapter.isRenderingJobStarted()) { chapter.setRenderingJobStarted(true); System.out.println( "Thumbnail rendering job of chapter \"" + chapter.getChapterName() + "\" has started"); RendererRunnable previousJob = null; for (LevelData level : chapter.getLevelDataList()) { if (!level.isThumbnailRenderJobOccupied()) { level.setThumbnailRenderJobOccupied(); previousJob = new RendererRunnable(level, previousJob); new Thread(previousJob).start(); } } // } }