Update of /cvsroot/freevo/freevo/src/gui/areas
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20070/areas

Modified Files:
        __init__.py area.py default_areas.py info_area.py 
        listing_area.py skin_utils.py view_area.py 
Log Message:
use new renderer and screen features

Index: area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/area.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** area.py     22 Jul 2004 21:13:39 -0000      1.1
--- area.py     24 Jul 2004 12:21:30 -0000      1.2
***************
*** 28,31 ****
--- 28,34 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:30  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
***************
*** 64,71 ****
  import copy
  import os
- import pygame
- import stat
  
- import osd
  import config
  import util
--- 67,71 ----
***************
*** 74,80 ****
  from gui import Rectangle, Text, Image
  
- # Create the OSD object
- osd = osd.get_singleton()
- 
  
  class SkinObjects:
--- 74,77 ----
***************
*** 112,116 ****
          self.area_name = name
          self.area_val  = None
-         self.redraw    = True
          self.layout    = None
          self.name      = name
--- 109,112 ----
***************
*** 162,167 ****
              
  
!     def draw(self, settings, obj, menu, display_style=0, widget_type='menu',
!              force_redraw=False):
          """
          this is the main draw function. This function draws the background,
--- 158,162 ----
              
  
!     def draw(self, settings, obj, menu, display_style=0, widget_type='menu'):
          """
          this is the main draw function. This function draws the background,
***************
*** 203,208 ****
                  self.infoitem = obj
  
-         self.redraw = force_redraw
-         
          area = self.area_val
          if area:
--- 198,201 ----
***************
*** 211,228 ****
              visible = False
  
!         self.redraw = self.init_vars(settings, item_type, widget_type)
!             
!         if area and area != self.area_val:
!             old_area = area
!         else:
!             old_area = None
!             
!         area = self.area_val
  
          # maybe we are NOW invisible
!         if visible and not area.visible and old_area:
              print 'FIXME area.py:', area.name
  
- 
          if not self.area_name == 'plugin':
              if not area.visible or not self.layout:
--- 204,214 ----
              visible = False
  
!         redraw = self.init_vars(settings, item_type, widget_type)
!         area   = self.area_val
  
          # maybe we are NOW invisible
!         if visible and not area.visible:
              print 'FIXME area.py:', area.name
  
          if not self.area_name == 'plugin':
              if not area.visible or not self.layout:
***************
*** 231,256 ****
  
              self.tmp_objects = SkinObjects()
!             self.__draw_background__()
          else:
              self.tmp_objects = SkinObjects()
              
          # dependencies haven't changed, if no update needed: return
!         if not self.redraw and not self.update_content_needed():
              return
  
- 
          self.update_content()
-         current_objects = SkinObjects()
- 
  
          for b in self.tmp_objects.bgimages:
!             for t in self.objects.bgimages:
!                 if b == t:
!                     self.objects.bgimages.remove(t)
!                     current_objects.bgimages.append(t)
!                     break
!             else:
                  self.screen.add('bg', b)
-                 current_objects.bgimages.append(b)
  
          for b in self.objects.bgimages:
--- 217,235 ----
  
              self.tmp_objects = SkinObjects()
!             redraw = self.__draw_background__() or redraw
          else:
              self.tmp_objects = SkinObjects()
              
          # dependencies haven't changed, if no update needed: return
!         if not redraw and not self.update_content_needed():
              return
  
          self.update_content()
  
          for b in self.tmp_objects.bgimages:
!             try:
!                 self.objects.bgimages.remove(b)
!             except:
                  self.screen.add('bg', b)
  
          for b in self.objects.bgimages:
***************
*** 258,278 ****
  
  
- 
-         # XXX this code is bad, we should update all
-         # XXX areas. Problem is the image viewer shadow for the
-         # XXX images and the selection rectangle. On movement
-         # XXX the selections is appended to the layer and overwrites
-         # XXX the shadow. We need some sort of position in layer here
-         # XXX or update all areas to avoid this
-             
          for b in self.tmp_objects.rectangles:
!             for t in self.objects.rectangles:
!                 if b == t:
!                     self.objects.rectangles.remove(t)
!                     current_objects.rectangles.append(t)
!                     break
!             else:
                  self.screen.add('alpha', b)
-                 current_objects.rectangles.append(b)
  
          for b in self.objects.rectangles:
--- 237,245 ----
  
  
          for b in self.tmp_objects.rectangles:
!             try:
!                 self.objects.rectangles.remove(b)
!             except:
                  self.screen.add('alpha', b)
  
          for b in self.objects.rectangles:
***************
*** 280,293 ****
  
  
- 
          for b in self.tmp_objects.images:
!             for t in self.objects.images:
!                 if b == t:
!                     self.objects.images.remove(t)
!                     current_objects.images.append(t)
!                     break
!             else:
                  self.screen.add('content', b)
-                 current_objects.images.append(b)
  
          for b in self.objects.images:
--- 247,255 ----
  
  
          for b in self.tmp_objects.images:
!             try:
!                 self.objects.images.remove(b)
!             except:
                  self.screen.add('content', b)
  
          for b in self.objects.images:
***************
*** 296,307 ****
  
          for b in self.tmp_objects.text:
!             for t in self.objects.text:
!                 if b == t:
!                     self.objects.text.remove(t)
!                     current_objects.text.append(t)
!                     break
!             else:
                  self.screen.add('content', b)
-                 current_objects.text.append(b)
  
          for b in self.objects.text:
--- 258,265 ----
  
          for b in self.tmp_objects.text:
!             try:
!                 self.objects.text.remove(t)
!             except:
                  self.screen.add('content', b)
  
          for b in self.objects.text:
***************
*** 309,313 ****
  
          # save and exit
!         self.objects = current_objects
  
  
--- 267,271 ----
  
          # save and exit
!         self.objects = self.tmp_objects
  
  
***************
*** 471,479 ****
      
  
      def init_vars(self, settings, display_type, widget_type = 'menu'):
          """
          check which layout is used and set variables for the object
          """
!         redraw = self.redraw
          self.settings = settings
  
--- 429,438 ----
      
  
+ 
      def init_vars(self, settings, display_type, widget_type = 'menu'):
          """
          check which layout is used and set variables for the object
          """
!         redraw = False
          self.settings = settings
  
***************
*** 521,525 ****
                  self.area_val = fxdparser.Area(self.area_name)
                  self.area_val.visible = True
!                 self.area_val.r = (0, 0, osd.width, osd.height)
              return True
          else:
--- 480,484 ----
                  self.area_val = fxdparser.Area(self.area_name)
                  self.area_val.visible = True
!                 self.area_val.r = (0, 0, self.screen.width, self.screen.height)
              return True
          else:
***************
*** 556,576 ****
          draw the <background> of the area
          """
!         area = self.area_val
! 
!         last_watermark = None
! 
!         try:
!             if self.watermark:
!                 last_watermark = self.watermark
  
-                 try:
-                     if self.menu.selected.image != self.watermark:
-                         self.watermark = None
-                         self.redraw = True
-                 except:
-                     pass
-         except:
-             pass
-         
          for bg in self.layout.background:
              bg = copy.copy(bg)
--- 515,521 ----
          draw the <background> of the area
          """
!         area   = self.area_val
!         redraw = True
  
          for bg in self.layout.background:
              bg = copy.copy(bg)
***************
*** 589,595 ****
                  if bg.label == 'watermark' and self.menu.selected.image:
                      imagefile = self.menu.selected.image
!                     if last_watermark != imagefile:
!                         self.redraw = True
!                     self.watermark = imagefile
                  else:
                      imagefile = bg.filename
--- 534,538 ----
                  if bg.label == 'watermark' and self.menu.selected.image:
                      imagefile = self.menu.selected.image
!                     redraw    = True    # bg changed
                  else:
                      imagefile = bg.filename
***************
*** 600,624 ****
                      
                  if imagefile:
!                     cname = '%s-%s-%s' % (imagefile, bg.width, bg.height)
!                     image = self.imagecache[cname]
!                     if not image:
!                         cache = vfs.getoverlay('%s.raw-%sx%s' % (imagefile, bg.width,
!                                                                  bg.height))
!                         if os.path.isfile(cache) and \
!                                os.stat(cache)[stat.ST_MTIME] > \
!                                os.stat(imagefile)[stat.ST_MTIME]:
!                             f = open(cache, 'r')
!                             image = 
pygame.image.fromstring(str().join(f.readlines()),
!                                                             (bg.width,bg.height), 
'RGBA')
!                             f.close()
!                             self.imagecache[cname] = image
!                     if not image:
!                         image = osd.loadbitmap(imagefile)
!                         if image:
!                             image = 
pygame.transform.scale(image,(bg.width,bg.height))
!                             f = vfs.open(cache, 'w')
!                             f.write(pygame.image.tostring(image, 'RGBA'))
!                             f.close()
!                         self.imagecache[cname] = image
                      if image:
                          self.drawimage(image, bg)
--- 543,548 ----
                      
                  if imagefile:
!                     image = self.screen.renderer.loadbitmap(imagefile, 
self.imagecache,
!                                                             bg.width, bg.height, 
True)
                      if image:
                          self.drawimage(image, bg)
***************
*** 627,631 ****
                  self.calc_geometry(bg)
                  self.drawroundbox(bg.x, bg.y, bg.width, bg.height, bg)
! 
              
  
--- 551,555 ----
                  self.calc_geometry(bg)
                  self.drawroundbox(bg.x, bg.y, bg.width, bg.height, bg)
!         return redraw
              
  
***************
*** 637,641 ****
      # drawstring
  
!     def drawroundbox(self, x, y, width, height, rect, redraw=False):
          """
          draw a round box ... or better stores the information about this call
--- 561,565 ----
      # drawstring
  
!     def drawroundbox(self, x, y, width, height, rect):
          """
          draw a round box ... or better stores the information about this call
***************
*** 648,664 ****
              r = Rectangle(x, y, x + width, y + height, rect[0], rect[1], rect[2], 
rect[3])
  
-         if redraw:
-             # XXX Bad hack to make redrawing work
-             # XXX This places the rectangle on top of the stack again
-             try:
-                 self.screen.remove('alpha', r)
-             except:
-                 pass
-             try:
-                 self.objects.rectangles.remove(r)
-             except:
-                 pass
          self.tmp_objects.rectangles.append(r)
! 
              
      def drawstring(self, text, font, content, x=-1, y=-1, width=None, height=None,
--- 572,578 ----
              r = Rectangle(x, y, x + width, y + height, rect[0], rect[1], rect[2], 
rect[3])
  
          self.tmp_objects.rectangles.append(r)
!         return r
!     
              
      def drawstring(self, text, font, content, x=-1, y=-1, width=None, height=None,
***************
*** 702,706 ****
  
  
!     def loadimage(self, image, val, redraw=True):
          """
          load an image (use self.imagecache)
--- 616,620 ----
  
  
!     def loadimage(self, image, val):
          """
          load an image (use self.imagecache)
***************
*** 717,735 ****
              w = val.width
              h = val.height
!             
!         cname = '%s-%s-%s' % (image, w, h)
!         cimage = self.imagecache[cname]
!         if not cimage:
!             cimage = osd.loadbitmap(image)
!             if not cimage:
!                 return
!             if w == -1:
!                 w = h  * cimage.get_width() / cimage.get_height()
!             if h == -1:
!                 h = w  * cimage.get_height() / cimage.get_width()
!             if w > 0 and h > 0:
!                 cimage = pygame.transform.scale(cimage, (w, h))
!             self.imagecache[cname] = cimage
!         return cimage
  
          
--- 631,644 ----
              w = val.width
              h = val.height
! 
!         if w == -1:
!             w = None
!         if h == -1:
!             h = None
! 
!         if h == None and w == None:
!             return None
! 
!         return self.screen.renderer.loadbitmap(image, self.imagecache, w, h)
  
          

Index: listing_area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/listing_area.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** listing_area.py     22 Jul 2004 21:13:39 -0000      1.1
--- listing_area.py     24 Jul 2004 12:21:31 -0000      1.2
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:31  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
***************
*** 389,393 ****
                          if table_text[i].find('ICON_') == 0:
                              x_mod, table_text[i] = text_or_icon(settings, 
table_text[i],
!                                                                 table_x, table_w, 
val.font)
                              if not isstring(table_text[i]):
                                  self.drawimage(table_text[i], (table_x + x_mod, y0 + 
vskip))
--- 392,397 ----
                          if table_text[i].find('ICON_') == 0:
                              x_mod, table_text[i] = text_or_icon(settings, 
table_text[i],
!                                                                 table_x, table_w, 
val.font,
!                                                                 self.screen.renderer)
                              if not isstring(table_text[i]):
                                  self.drawimage(table_text[i], (table_x + x_mod, y0 + 
vskip))
***************
*** 430,435 ****
                      self.drawroundbox(x0 + r.x, y0 + r.y, r.width, r.height, r)
  
!                 image, i_w, i_h = format_image(settings, choice, val.width,
!                                                val.height, force=True)
                  if image:
                      addx = 0
--- 434,439 ----
                      self.drawroundbox(x0 + r.x, y0 + r.y, r.width, r.height, r)
  
!                 image, i_w, i_h = format_image(self.screen.renderer, settings,
!                                                choice, val.width, val.height, 
force=True)
                  if image:
                      addx = 0
***************
*** 448,458 ****
  
                      if val.shadow and val.shadow.visible and image.get_alpha() == 
None:
!                         # XXX Bad Hack but works:
!                         # XXX force update when we have a rectangle to keep
!                         # XXX stack in place. FIXME!!!
!                         self.drawroundbox(x0 + addx + val.shadow.x,
!                                           y0 + addy + val.shadow.y,
!                                           image.get_width(), image.get_height(),
!                                           (val.shadow.color, 0, 0, 0), 
redraw=val.rectangle)
                      self.drawimage(image, (x0 + addx, y0 + addy))
                          
--- 452,461 ----
  
                      if val.shadow and val.shadow.visible and image.get_alpha() == 
None:
!                         box = self.drawroundbox(x0 + addx + val.shadow.x,
!                                                 y0 + addy + val.shadow.y,
!                                                 image.get_width(), 
image.get_height(),
!                                                 (val.shadow.color, 0, 0, 0))
!                         box.position = 10
!                         
                      self.drawimage(image, (x0 + addx, y0 + addy))
                          

Index: default_areas.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/default_areas.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** default_areas.py    22 Jul 2004 21:13:39 -0000      1.1
--- default_areas.py    24 Jul 2004 12:21:30 -0000      1.2
***************
*** 12,15 ****
--- 12,18 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:30  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
***************
*** 44,55 ****
  
  import config
- import osd
  import plugin
  
  from area import Skin_Area
  
- # Create the OSD object
- osd = osd.get_singleton()
- 
  
  class Screen_Area(Skin_Area):
--- 47,54 ----
***************
*** 165,170 ****
          self.x = config.OSD_OVERSCAN_X
          self.y = config.OSD_OVERSCAN_Y
-         self.width   = osd.width  - 2 * config.OSD_OVERSCAN_X
-         self.height  = osd.height - 2 * config.OSD_OVERSCAN_Y
  
          
--- 164,167 ----
***************
*** 180,183 ****
--- 177,183 ----
          there is no content in this area
          """
+         self.width   = self.screen.width  - 2 * config.OSD_OVERSCAN_X
+         self.height  = self.screen.height - 2 * config.OSD_OVERSCAN_Y
+ 
          if self.plugins == None:
              self.plugins = plugin.get('daemon_draw')

Index: info_area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/info_area.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** info_area.py        22 Jul 2004 21:13:39 -0000      1.1
--- info_area.py        24 Jul 2004 12:21:31 -0000      1.2
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:31  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
***************
*** 355,359 ****
  
                  if element.width == None or element.height == None:
!                     image = osd.loadbitmap( element.src, True )
                      size = image.get_size()
  
--- 358,362 ----
  
                  if element.width == None or element.height == None:
!                     image = self.screen.renderer.loadbitmap( element.src, True )
                      size = image.get_size()
  
***************
*** 391,395 ****
                      height = -1
  
!                 size = osd.drawstringframed( element.text, 0, 0,
                                               r.width, r.height,
                                               element.font, None, None,
--- 394,398 ----
                      height = -1
  
!                 size = self.screen.renderer.drawstringframed( element.text, 0, 0,
                                               r.width, r.height,
                                               element.font, None, None,

Index: view_area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/view_area.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** view_area.py        22 Jul 2004 21:13:39 -0000      1.1
--- view_area.py        24 Jul 2004 12:21:31 -0000      1.2
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:31  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
***************
*** 116,120 ****
          addy = content.y + content.spacing
  
!         image, i_w, i_h = format_image(self.settings, item, width, height)
  
          if not image:
--- 119,124 ----
          addy = content.y + content.spacing
  
!         image, i_w, i_h = format_image(self.screen.renderer, self.settings, item,
!                                        width, height)
  
          if not image:

Index: skin_utils.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/skin_utils.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** skin_utils.py       22 Jul 2004 21:13:39 -0000      1.1
--- skin_utils.py       24 Jul 2004 12:21:31 -0000      1.2
***************
*** 10,22 ****
  # -----------------------------------------------------------------------
  # $Log$
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
  #
- # Revision 1.17  2004/07/10 12:33:41  dischi
- # header cleanup
- #
- # Revision 1.16  2004/02/01 17:51:14  dischi
- # respect item.rotation of images
- #
  # -----------------------------------------------------------------------
  # Freevo - A Home Theater PC framework
--- 10,19 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2004/07/24 12:21:31  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.1  2004/07/22 21:13:39  dischi
  # move skin code to gui, update to new interface started
  #
  # -----------------------------------------------------------------------
  # Freevo - A Home Theater PC framework
***************
*** 41,53 ****
  
  
! import pygame
! from pygame.locals import *
! import ImageFile
! 
! import osd
  import os
  import util
  
- osd = osd.get_singleton()
  
  format_imagecache = util.objectcache.ObjectCache(30, desc='format_image')
--- 38,46 ----
  
  
! import ImageFile # from PIL
  import os
+ 
  import util
  
  
  format_imagecache = util.objectcache.ObjectCache(30, desc='format_image')
***************
*** 55,59 ****
  
  
! def format_image(settings, item, width, height, force=0):
      try:
          type = item.display_type
--- 48,52 ----
  
  
! def format_image(renderer, settings, item, width, height, force=0):
      try:
          type = item.display_type
***************
*** 65,81 ****
  
      
!     cname = '%s-%s-%s-%s-%s-%s-%s' % (settings.icon_dir, item.image, type,
                                        item.type, width, height, force)
  
      if item['rotation']:
!         cname = '%s-%s' % (cname, item['rotation'])
              
      if item.media and item.media.item == item:
!         cname = '%s-%s' % (cname, item.media)
          
!     cimage = format_imagecache[cname]
  
!     if cimage:
!         return cimage
  
      image     = None
--- 58,74 ----
  
      
!     key = '%s-%s-%s-%s-%s-%s-%s' % (settings.icon_dir, item.image, type,
                                        item.type, width, height, force)
  
      if item['rotation']:
!         key = '%s-%s' % (key, item['rotation'])
              
      if item.media and item.media.item == item:
!         key = '%s-%s' % (key, item.media)
          
!     image = format_imagecache[key]
  
!     if image:
!         return image
  
      image     = None
***************
*** 84,96 ****
      if item.image:
          if isinstance(item.image, ImageFile.ImageFile):
!             image = osd.loadbitmap(item.image)
          else:
!             image = load_imagecache['thumb://%s' % item.image]
!             if not image:
!                 image = osd.loadbitmap('thumb://%s' % item.image)
!                 load_imagecache['thumb://%s' % item.image] = image
  
          if item['rotation']:
!             image = pygame.transform.rotate(image, item['rotation'])
              
      if not image:
--- 77,86 ----
      if item.image:
          if isinstance(item.image, ImageFile.ImageFile):
!             image = renderer.loadbitmap(item.image)
          else:
!             image = renderer.loadbitmap('thumb://%s' % item.image, load_imagecache)
  
          if item['rotation']:
!             image = renderer.zoombitmap(image, rotation=item['rotation'])
              
      if not image:
***************
*** 131,138 ****
              return None, 0, 0
  
!         image = load_imagecache['thumb://%s' % imagefile]
!         if not image:
!             image = osd.loadbitmap('thumb://%s' % imagefile)
!             load_imagecache['thumb://%s' % imagefile] = image
  
          if not image:
--- 121,125 ----
              return None, 0, 0
  
!         image = renderer.loadbitmap('thumb://%s' % imagefile, load_imagecache)
  
          if not image:
***************
*** 164,174 ****
          height = int(float(width * i_h) / i_w)
  
!     cimage = pygame.transform.scale(image, (width, height))
  
!     format_imagecache[cname] = cimage, width, height
!     return cimage, width, height
      
  
! def text_or_icon(settings, string, x, width, font):
      l = string.split('_')
      if len(l) != 4:
--- 151,162 ----
          height = int(float(width * i_h) / i_w)
  
!     image = renderer.resizebitmap(image, width=width, height=height)
  
!     format_imagecache[key] = image, width, height
!     return image, width, height
      
  
! 
! def text_or_icon(settings, string, x, width, font, renderer):
      l = string.split('_')
      if len(l) != 4:
***************
*** 184,193 ****
              image = None
          if image:
!             cname = '%s-%s-%s-%s-%s' % (image, x, l[2], width, height)
!             cimage = format_imagecache[cname]
              if cimage:
                  return cimage
  
!             image = osd.loadbitmap(image)
              if not image:
                  raise KeyError
--- 172,181 ----
              image = None
          if image:
!             key = '%s-%s-%s-%s-%s' % (image, x, l[2], width, height)
!             cimage = format_imagecache[key]
              if cimage:
                  return cimage
  
!             image = renderer.loadbitmap(image)
              if not image:
                  raise KeyError
***************
*** 199,204 ****
                  height = int(float(width * i_h) / i_w)
          
!             cimage = pygame.transform.scale(image, (width, height))
!             cimage.set_alpha(cimage.get_alpha(), RLEACCEL)
              x_mod = 0
              if l[1] == 'CENTER':
--- 187,192 ----
                  height = int(float(width * i_h) / i_w)
          
!             cimage = renderer.resizebitmap(image, width, height)
! 
              x_mod = 0
              if l[1] == 'CENTER':
***************
*** 206,211 ****
              if l[1] == 'RIGHT':
                  x_mod = original_width - width
!             format_imagecache[cname] = x_mod, cimage
              return x_mod, cimage
      except KeyError:
          _debug_('no image %s' % l[2])
--- 194,200 ----
              if l[1] == 'RIGHT':
                  x_mod = original_width - width
!             format_imagecache[key] = x_mod, cimage
              return x_mod, cimage
+ 
      except KeyError:
          _debug_('no image %s' % l[2])

Index: __init__.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/gui/areas/__init__.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __init__.py 23 Jul 2004 19:43:31 -0000      1.2
--- __init__.py 24 Jul 2004 12:21:30 -0000      1.3
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.3  2004/07/24 12:21:30  dischi
+ # use new renderer and screen features
+ #
  # Revision 1.2  2004/07/23 19:43:31  dischi
  # move most of the settings code out of the skin engine
***************
*** 47,54 ****
  
  # Bad: import back in directory tree
- from gui import GUIObject
  from gui import fxdparser as fxdparser
  
! class Skin:
      """
      main skin class
--- 50,56 ----
  
  # Bad: import back in directory tree
  from gui import fxdparser as fxdparser
  
! class AreaHandler:
      """
      main skin class
***************
*** 65,69 ****
          self.settings      = settings
          self.display_style = { 'menu' : 0 }
-         self.force_redraw  = True
          self.last_draw     = None, None, None
          self.screen        = None
--- 67,70 ----
***************
*** 211,215 ****
          """
          self.screen.clear()
!         self.force_redraw = True
          if osd_update:
              self.screen.show()
--- 212,217 ----
          """
          self.screen.clear()
!         for a in self.all_areas:
!             a.clear()
          if osd_update:
              self.screen.show()
***************
*** 234,237 ****
--- 236,241 ----
              return
          
+         # FIXME: 
+         from gui import GUIObject
          if isinstance(object, GUIObject):
              # handling for gui objects: are they visible? what about children?
***************
*** 244,248 ****
  
              if not draw_allowed:
-                 self.force_redraw = True
                  return
  
--- 248,251 ----
***************
*** 268,272 ****
  
          if self.last_draw[0] != type:
-             self.force_redraw = True
              areas = getattr(self, '%s_areas' % type)
              for a in self.all_areas:
--- 271,274 ----
***************
*** 280,291 ****
  
          try:
-             if self.force_redraw:
-                 self.screen.clear()
-                 for a in self.all_areas:
-                     a.clear()
              for a in self.all_areas:
!                 a.draw(settings, object, menu, style, type, self.force_redraw)
              self.screen.show()
!             self.force_redraw = False
          except UnicodeError, e:
              print 
'******************************************************************'
--- 282,289 ----
  
          try:
              for a in self.all_areas:
!                 a.draw(settings, object, menu, style, type)
              self.screen.show()
! 
          except UnicodeError, e:
              print 
'******************************************************************'



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to