Warning: session_start(): open(/var/lib/php/sessions/sess_mk8nf8779m2gdhs40elp5ssdot, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static int imageIcon_cacheSize = 10;
sbool imageIcon_verbose;
static Map imageIcon_cache;
static Lock imageIcon_lock = lock();
static new ThreadLocal imageIcon_fixGIF;
// not going through BufferedImage preserves animations
static ImageIcon imageIcon(S imageID) ctex {
if (imageID == null) null;
lock imageIcon_lock;
if (imageIcon_cache == null)
imageIcon_cache = new MRUCache(imageIcon_cacheSize);
imageID = fsI(imageID);
ImageIcon ii = imageIcon_cache.get(imageID);
if (ii == null) {
if (imageIcon_verbose) print("Loading image icon: " + imageID);
File f = loadBinarySnippet(imageID);
ifndef DontFixGIFs
Bool b = imageIcon_fixGIF!;
if (!isFalse(b))
ii = new ImageIcon(loadBufferedImageFixingGIFs(f));
else
endifndef
ii = new ImageIcon(f.toURI().toURL());
} else
imageIcon_cache.remove(imageID); // move to front of cache on access
imageIcon_cache.put(imageID, ii);
ret ii;
}
// doesn't fix GIFs
static ImageIcon imageIcon(File f) ctex {
ret new ImageIcon(f.toURI().toURL());
}
static ImageIcon imageIcon(Image img) {
ret new ImageIcon(img);
}
ifclass RGBImage
static ImageIcon imageIcon(RGBImage img) {
ret imageIcon(img.getBufferedImage());
}
endif