X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FPictureInPicture.py;h=c89ca22953a697f10262191e554d4843d0e58412;hp=7b94ce4b136153ad29bdc1588b1784808b3fdeed;hb=e03c732afb410b4d6b9f9540c36c33c941ee38f1;hpb=6ecc7dc132071039edf045ad55b3fb2773aed784 diff --git a/lib/python/Screens/PictureInPicture.py b/lib/python/Screens/PictureInPicture.py index 7b94ce4..c89ca22 100644 --- a/lib/python/Screens/PictureInPicture.py +++ b/lib/python/Screens/PictureInPicture.py @@ -1,9 +1,55 @@ from Screens.Screen import Screen - +from enigma import ePoint, eSize, eServiceCenter from Components.VideoWindow import VideoWindow +from Components.config import config, ConfigPosition class PictureInPicture(Screen): def __init__(self, session): Screen.__init__(self, session) + self["video"] = VideoWindow() + self.currentService = None + config.av.pip = ConfigPosition(default=[-1, -1, -1, -1], args = (719, 567, 720, 568)) + self.onLayoutFinish.append(self.LayoutFinished) + + def LayoutFinished(self): + self.onLayoutFinish.remove(self.LayoutFinished) + x = config.av.pip.value[0] + y = config.av.pip.value[1] + w = config.av.pip.value[2] + h = config.av.pip.value[3] + if x != -1 and y != -1 and w != -1 and h != -1: + self.move(x, y) + self.resize(w, h) + + def move(self, x, y): + config.av.pip.value[0] = x + config.av.pip.value[1] = y + config.av.pip.save() + self.instance.move(ePoint(x, y)) + + def resize(self, w, h): + config.av.pip.value[2] = w + config.av.pip.value[3] = h + config.av.pip.save() + self.instance.resize(eSize(*(w, h))) + self["video"].instance.resize(eSize(*(w, h))) + + def getPosition(self): + return ((self.instance.position().x(), self.instance.position().y())) + + def getSize(self): + return (self.instance.size().width(), self.instance.size().height()) + + def playService(self, service): + self.pipservice = eServiceCenter.getInstance().play(service) + if self.pipservice and not self.pipservice.setTarget(1): + self.pipservice.start() + self.currentService = service + return True + else: + self.pipservice = None + return False - self["video"] = VideoWindow() \ No newline at end of file + def getCurrentService(self): + return self.currentService +