X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d119475f0c4221546ed2952164808c2114173a67..HEAD:/lib/python/Tools/LoadPixmap.py diff --git a/lib/python/Tools/LoadPixmap.py b/lib/python/Tools/LoadPixmap.py index b7838a39..fff414ad 100644 --- a/lib/python/Tools/LoadPixmap.py +++ b/lib/python/Tools/LoadPixmap.py @@ -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