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

Reply via email to