servicemp3.cpp: more simple/flexible streaming detection
[enigma2.git] / lib / python / Tools / LoadPixmap.py
index b7838a3..fff414a 100644 (file)
@@ -1,6 +1,11 @@
 from enigma import loadPNG, loadJPG
 
-def LoadPixmap(path, desktop = None):
+pixmap_cache = {}
+
+def LoadPixmap(path, desktop = None, cached = False):
+       if path in pixmap_cache:
+               return pixmap_cache[path]
+
        if path[-4:] == ".png":
                ptr = loadPNG(path)
        elif path[-4:] == ".jpg":
@@ -9,7 +14,11 @@ def LoadPixmap(path, desktop = None):
                alpha = loadPNG(path + "a.png")
                ptr = loadJPG(path + "rgb.jpg", alpha)
        else:
-               raise "neither .png nor .jpg, please fix file extension"
+               raise Exception("neither .png nor .jpg, please fix file extension")
        if ptr and desktop:
                desktop.makeCompatiblePixmap(ptr)
+
+       if cached:
+               pixmap_cache[path] = ptr
+
        return ptr