Update of /cvsroot/freevo/freevo/lib/mevas/mevas/displays
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28676/displays
Modified Files:
bmovlcanvas.py
Log Message:
major cleanup
Index: bmovlcanvas.py
===================================================================
RCS file: /cvsroot/freevo/freevo/lib/mevas/mevas/displays/bmovlcanvas.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** bmovlcanvas.py 10 Dec 2004 21:15:40 -0000 1.5
--- bmovlcanvas.py 18 Dec 2004 13:29:04 -0000 1.6
***************
*** 4,17 ****
from mevas import imagelib
class BmovlCanvas(BitmapCanvas):
def __init__(self, size):
! super(BmovlCanvas, self).__init__(size, preserve_alpha = True)
! self._update_rect = None
! self.fifo = os.open('/tmp/bmovl-%s' % os.getpid(), os.O_WRONLY)
self.bmovl_visible = True
self.send('SHOW\n')
def send(self, msg):
try:
--- 4,50 ----
from mevas import imagelib
+ fifo_counter = 0
+
class BmovlCanvas(BitmapCanvas):
def __init__(self, size):
! self.open_fifo()
self.bmovl_visible = True
self.send('SHOW\n')
+ super(BmovlCanvas, self).__init__(size, preserve_alpha = True)
+ self._update_rect = None
+
+
+ def open_fifo(self):
+ if os.path.exists(self.get_fname()):
+ os.unlink(self.get_fname())
+ os.mkfifo(self.get_fname())
+ self.fifo = os.open(self.get_fname(), os.O_RDWR, os.O_NONBLOCK)
+
+ def close_fifo(self):
+ if self.fifo:
+ try:
+ os.close(self.fifo)
+ except OSError:
+ self.fifo = None
+ if os.path.exists(self.get_fname()):
+ os.unlink(self.get_fname())
+
+
+ def get_fname(self):
+ """
+ return fifo filename
+ """
+ try:
+ return self.__fname
+ except AttributeError:
+ pass
+ global fifo_counter
+ self.__fname = '/tmp/bmovl-%s-%s' % (os.getpid(), fifo_counter)
+ fifo_counter += 1
+ return self.__fname
+
def send(self, msg):
try:
***************
*** 19,23 ****
return True
except (IOError, OSError):
- print 'IOError on bmovl.fifo'
return False
--- 52,55 ----
***************
*** 33,41 ****
return
if not self.fifo:
- print 'IOError: no bmovl fifo'
return
if self.bmovl_visible and not self.has_visible_child():
- print 'bmovl hide'
self.send('HIDE\n')
self.send('CLEAR %s %s 0 0\n' % \
--- 65,71 ----
***************
*** 43,50 ****
self.bmovl_visible = False
return
!
pos, size = self._update_rect
img = imagelib.crop(self._backing_store, pos, size)
- print 'bmovl update', pos, size
self.send('RGBA32 %d %d %d %d %d %d\n' % \
(size[0], size[1], pos[0], pos[1], 0, 0))
--- 73,85 ----
self.bmovl_visible = False
return
!
! # get update rect
pos, size = self._update_rect
+ # increase update rect because mplayer sometimes draws outside
+ pos = (max(0, pos[0] - 2), max(pos[1] - 2, 0))
+ size = (min(size[0] + 4, self.width),
+ min(size[1] + 4, self.height))
+
img = imagelib.crop(self._backing_store, pos, size)
self.send('RGBA32 %d %d %d %d %d %d\n' % \
(size[0], size[1], pos[0], pos[1], 0, 0))
***************
*** 53,57 ****
if not self.bmovl_visible and self.has_visible_child():
- print 'bmovl show'
self.send('SHOW\n')
self.bmovl_visible = True
--- 88,91 ----
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog