package org.jwildfire.create.tina.browser; import java.util.HashMap; import java.util.Map; import org.jwildfire.create.tina.swing.ThumbnailCacheKey; import org.jwildfire.create.tina.swing.ThumbnailCacheProvider; import org.jwildfire.image.SimpleImage; public class RenderCache { private Map<String, SimpleImage> renderCache = new HashMap<String, SimpleImage>(); private boolean storeThumbnails = true; public SimpleImage getImage(FlameFlatNode pNode, int pWidth, int pHeight) { SimpleImage img = renderCache.get(pNode.getFilename()); if (img == null && storeThumbnails) { img = ThumbnailCacheProvider.getThumbnail(new ThumbnailCacheKey(pNode.getFilename()), pWidth, pHeight); } return img; } public void putImage(FlameFlatNode pNode, SimpleImage pImg, int pWidth, int pHeight) { renderCache.put(pNode.getFilename(), pImg); if (storeThumbnails) { ThumbnailCacheProvider.storeThumbnail(new ThumbnailCacheKey(pNode.getFilename()), pWidth, pHeight, pImg); } } }