aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-21 20:15:18 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-09-21 20:15:18 +0000
commit79cab0403882bf14a34828b75f50a34d445851a6 (patch)
tree074699a60974a491f5e7e3b6eba9dc2980ddf26d /lib/python
parentd42c6cf196f659537b9da28049c90eccd9d7506e (diff)
downloadenigma2-79cab0403882bf14a34828b75f50a34d445851a6.tar.gz
enigma2-79cab0403882bf14a34828b75f50a34d445851a6.zip
add a "Picture in Graphics" source.. its usable to show a small embedded tv
picture in every screen.. simply by add a line like "<widget source="fake" render="Pig" backgroundColor="transparent" size="160,120" position="50,50" />
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/GUISkin.py5
-rw-r--r--lib/python/Components/Renderer/Makefile.am2
-rw-r--r--lib/python/Components/Renderer/Pig.py37
3 files changed, 43 insertions, 1 deletions
diff --git a/lib/python/Components/GUISkin.py b/lib/python/Components/GUISkin.py
index 39499c77..0cf4d027 100644
--- a/lib/python/Components/GUISkin.py
+++ b/lib/python/Components/GUISkin.py
@@ -35,9 +35,14 @@ class GUISkin:
f()
def deleteGUIScreen(self):
+ seenFakeSource = False
for (name, val) in self.items():
+ if name == "fake":
+ seenFakeSource = True
if isinstance(val, GUIComponent):
val.GUIdelete()
+ if seenFakeSource:
+ del self["fake"]
def close(self):
self.deleteGUIScreen()
diff --git a/lib/python/Components/Renderer/Makefile.am b/lib/python/Components/Renderer/Makefile.am
index c711ed42..eb55ad62 100644
--- a/lib/python/Components/Renderer/Makefile.am
+++ b/lib/python/Components/Renderer/Makefile.am
@@ -2,4 +2,4 @@ installdir = $(LIBDIR)/enigma2/python/Components/Renderer
install_PYTHON = \
__init__.py Label.py Progress.py Listbox.py Renderer.py Pixmap.py \
- FixedLabel.py PositionGauge.py Canvas.py Picon.py
+ FixedLabel.py PositionGauge.py Canvas.py Picon.py Pig.py
diff --git a/lib/python/Components/Renderer/Pig.py b/lib/python/Components/Renderer/Pig.py
new file mode 100644
index 00000000..99488e4a
--- /dev/null
+++ b/lib/python/Components/Renderer/Pig.py
@@ -0,0 +1,37 @@
+##
+## P(icture)i(n)g(raphics) renderer
+##
+from Renderer import Renderer
+from enigma import eVideoWidget, eSize, ePoint
+
+class Pig(Renderer):
+ def __init__(self):
+ Renderer.__init__(self)
+ self.Position = self.Size = None
+
+ GUI_WIDGET = eVideoWidget
+
+ def postWidgetCreate(self, instance):
+ instance.setDecoder(0)
+
+ def applySkin(self, desktop):
+ ret = Renderer.applySkin(self, desktop)
+ if ret:
+ self.Position = self.instance.position()
+ self.Size = self.instance.size()
+ return ret
+
+ def preWidgetRemove(self, instance):
+ instance.resize(eSize(720,576))
+ instance.move(ePoint(0,0))
+
+ def onShow(self):
+ if self.instance:
+ if self.Size:
+ self.instance.resize(self.Size)
+ if self.Position:
+ self.instance.move(self.Position)
+
+ def onHide(self):
+ if self.instance:
+ self.preWidgetRemove(self.instance)