git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make dm8000 blink pattern a bit nicer
[enigma2.git]
/
lib
/
python
/
Tools
/
LoadPixmap.py
diff --git
a/lib/python/Tools/LoadPixmap.py
b/lib/python/Tools/LoadPixmap.py
index b7838a39c1f4a206e72e9d26024f6cfdedbebf55..fff414ad677586d37a98ea777f4a1a854ff14e2c 100644
(file)
--- a/
lib/python/Tools/LoadPixmap.py
+++ b/
lib/python/Tools/LoadPixmap.py
@@
-1,6
+1,11
@@
from enigma import loadPNG, loadJPG
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":
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:
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 ptr and desktop:
desktop.makeCompatiblePixmap(ptr)
+
+ if cached:
+ pixmap_cache[path] = ptr
+
return ptr
return ptr