X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5db2dc5c63948651b3e4b337d7057cd940ccc644..6a243eb89df7c0afd159a0820c897a8b5fcd8211:/lib/python/Tools/LoadPixmap.py diff --git a/lib/python/Tools/LoadPixmap.py b/lib/python/Tools/LoadPixmap.py index 033b8437..fff414ad 100644 --- a/lib/python/Tools/LoadPixmap.py +++ b/lib/python/Tools/LoadPixmap.py @@ -1,7 +1,24 @@ -from enigma import loadPNG +from enigma import loadPNG, loadJPG -def LoadPixmap(path, desktop = None): - ptr = loadPNG(path) +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": + ptr = loadJPG(path) + elif path[-1:] == ".": + alpha = loadPNG(path + "a.png") + ptr = loadJPG(path + "rgb.jpg", alpha) + else: + 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