From: Felix Domke Date: Tue, 13 Nov 2007 12:43:16 +0000 (+0000) Subject: allow setting framebuffer resolution from skin X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=2d56db2bf96ca3ca320a5c25c0e2ee6f3435ab43;hp=a352eedba61b1a74b91db4005f7d9a24f8ac2848 allow setting framebuffer resolution from skin --- diff --git a/data/skin.xml b/data/skin.xml index 8e6445f..dbfe25e 100644 --- a/data/skin.xml +++ b/data/skin.xml @@ -1,5 +1,8 @@ + + + @@ -16,7 +19,7 @@ - + <color name="Background" color="#25062748" /> diff --git a/skin.py b/skin.py index 1f5c9cf..baa53f7 100644 --- a/skin.py +++ b/skin.py @@ -217,7 +217,23 @@ def loadSingleSkinData(desktop, dom_skin, path_prefix): skin = dom_skin.childNodes[0] assert skin.tagName == "skin", "root element in skin must be 'skin'!" - + + for c in elementsWithTag(skin.childNodes, "output"): + id = int(c.getAttribute("id") or "0") + if id == 0: # framebuffer + for res in elementsWithTag(c.childNodes, "resolution"): + xres = int(res.getAttribute("xres" or "720")) + yres = int(res.getAttribute("yres" or "576")) + bpp = int(res.getAttribute("bpp" or "32")) + + from enigma import gFBDC + i = gFBDC.getInstance() + i.setResolution(xres, yres) + + if bpp != 32: + # load palette (not yet implemented) + pass + for c in elementsWithTag(skin.childNodes, "colors"): for color in elementsWithTag(c.childNodes, "color"): name = str(color.getAttribute("name"))