/** * Sets the ratio of the grid image. * * @param gridRatio The value to set. */ void setGridRatio(double gridRatio) { // if (ratio == 1) return; //We don't want to be too small. double max = ZoomGridAction.MAX_ZOOM_FACTOR; if (gridRatio > max) return; this.gridRatio = gridRatio; if (ImViewerAgent.hasOpenGLSupport()) return; if (CollectionUtils.isEmpty(originalGridImages)) { try { createGridImages(); } catch (Exception e) { handleGridImageCreationException(e); } return; } int n = originalGridImages.size(); clearList(gridImages); int maxC = parent.getMaxC(); switch (n) { case 0: for (int i = 0; i < maxC; i++) gridImages.add(null); break; case 1: case 2: case 3: // TODO: Review that code. if (isImageMappedRGB(parent.getActiveChannels())) { try { createGridImages(); } catch (Exception e) { handleGridImageCreationException(e); } } else { combinedImage = null; combinedImage = Factory.magnifyImage(gridRatio, renderedImage); Iterator<BufferedImage> i = originalGridImages.iterator(); while (i.hasNext()) { gridImages.add(Factory.magnifyImage(gridRatio, i.next())); } } break; default: combinedImage = null; combinedImage = Factory.magnifyImage(gridRatio, renderedImage); Iterator<BufferedImage> i = originalGridImages.iterator(); while (i.hasNext()) { gridImages.add(Factory.magnifyImage(gridRatio, i.next())); } } }
/** Sets the images composing the grid. */ void setGridImages() { if (gridImages.size() != 0) return; clearList(originalGridImages); if (gridImagesAsTextures.size() != 0) return; try { if (ImViewerAgent.hasOpenGLSupport()) createGridImagesAsTextures(); else createGridImages(); } catch (Exception e) { handleGridImageCreationException(e); } }