Update of /cvsroot/freevo/freevo/skins/main1
In directory sc8-pr-cvs1:/tmp/cvs-serv6888
Modified Files:
area.py skin_main1.py xml_skin.py
Log Message:
created a special area for plugins to draw
Index: area.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/main1/area.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** area.py 10 Jul 2003 20:01:11 -0000 1.14
--- area.py 12 Jul 2003 17:16:30 -0000 1.15
***************
*** 28,31 ****
--- 28,34 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.15 2003/07/12 17:16:30 dischi
+ # created a special area for plugins to draw
+ #
# Revision 1.14 2003/07/10 20:01:11 dischi
# small bugfix for blue_round1
***************
*** 308,312 ****
self.display_style = display_style
!
if widget_type == 'menu':
self.menuw = obj
--- 311,316 ----
self.display_style = display_style
! self.xml_settings = settings
!
if widget_type == 'menu':
self.menuw = obj
***************
*** 362,372 ****
self.objects = SkinObjects()
! if not area.visible or not self.layout:
! self.objects = SkinObjects()
! return
!
! self.tmp_objects = SkinObjects()
! self.draw_background()
# dependencies haven't changed
if not self.redraw:
--- 366,379 ----
self.objects = SkinObjects()
! if not self.area_name == 'plugin':
! if not area.visible or not self.layout:
! self.objects = SkinObjects()
! return
+ self.tmp_objects = SkinObjects()
+ self.draw_background()
+ else:
+ self.tmp_objects = SkinObjects()
+
# dependencies haven't changed
if not self.redraw:
***************
*** 629,637 ****
area = area[0]
! try:
! area = getattr(area, self.area_name)
! except AttributeError:
! area = xml_skin.XML_area(self.area_name)
! area.visible = FALSE
--- 636,651 ----
area = area[0]
! if self.area_name == 'plugin':
! if not self.area_val:
! self.area_val = xml_skin.XML_area(self.area_name)
! self.area_val.visible = TRUE
! self.area_val.r = (0, 0, osd.width, osd.height)
! return TRUE
! else:
! try:
! area = getattr(area, self.area_name)
! except AttributeError:
! area = xml_skin.XML_area(self.area_name)
! area.visible = FALSE
***************
*** 723,730 ****
in a variable. The real drawing is done inside draw()
"""
!
! self.tmp_objects.rectangles.append(( x, y, x + width, y + height,
rect.bgcolor,
! rect.size, rect.color, rect.radius ))
!
# Draws a text inside a frame based on the settings in the XML file
--- 737,746 ----
in a variable. The real drawing is done inside draw()
"""
! try:
! self.tmp_objects.rectangles.append(( x, y, x + width, y + height,
rect.bgcolor,
! rect.size, rect.color, rect.radius
))
! except AttributeError:
! self.tmp_objects.rectangles.append(( x, y, x + width, y + height,
rect[0],
! rect[1], rect[2], rect[3] ))
# Draws a text inside a frame based on the settings in the XML file
***************
*** 780,784 ****
if not cimage:
try:
! image = pygame.transform.scale(osd.loadbitmap(image), (w, h))
self.imagecache[cname] = image
except:
--- 796,802 ----
if not cimage:
try:
! image = osd.loadbitmap(image)
! if w > 0 and h > 0:
! image = pygame.transform.scale(image, (w, h))
self.imagecache[cname] = image
except:
***************
*** 796,811 ****
if not image:
! return
if isinstance(image, str):
! image = self.load_image(image, val)
!
if not image:
! return
if isinstance(val, tuple):
self.tmp_objects.images.append((val[0], val[1], val[0] +
image.get_width(),
val[1] + image.get_height(), image))
! return
try:
--- 814,832 ----
if not image:
! return 0,0
if isinstance(image, str):
! if isinstance(val, tuple):
! image = self.load_image(image, val[2:])
! else:
! image = self.load_image(image, val)
!
if not image:
! return 0,0
if isinstance(val, tuple):
self.tmp_objects.images.append((val[0], val[1], val[0] +
image.get_width(),
val[1] + image.get_height(), image))
! return image.get_width(), image.get_height()
try:
***************
*** 813,817 ****
self.tmp_objects.bgimages.append((val.x, val.y, val.x + val.width,
val.y + val.height, image))
! return
except:
pass
--- 834,838 ----
self.tmp_objects.bgimages.append((val.x, val.y, val.x + val.width,
val.y + val.height, image))
! return val.width, val.height
except:
pass
***************
*** 819,820 ****
--- 840,843 ----
self.tmp_objects.images.append((val.x, val.y, val.x + val.width,
val.y + val.height, image))
+ return val.width, val.height
+
Index: skin_main1.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/main1/skin_main1.py,v
retrieving revision 1.105
retrieving revision 1.106
diff -C2 -d -r1.105 -r1.106
*** skin_main1.py 10 Jul 2003 20:01:11 -0000 1.105
--- skin_main1.py 12 Jul 2003 17:16:30 -0000 1.106
***************
*** 10,13 ****
--- 10,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.106 2003/07/12 17:16:30 dischi
+ # created a special area for plugins to draw
+ #
# Revision 1.105 2003/07/10 20:01:11 dischi
# small bugfix for blue_round1
***************
*** 215,218 ****
--- 218,257 ----
+ class Plugin_Area(Skin_Area):
+ """
+ in this area all plugins can draw
+ """
+ def __init__(self, parent, screen):
+ Skin_Area.__init__(self, 'plugin', screen)
+ self.plugins = None
+ self.x = config.OVERSCAN_X
+ self.y = config.OVERSCAN_Y
+ self.width = osd.width - 2 * config.OVERSCAN_X
+ self.height = osd.height - 2 * config.OVERSCAN_Y
+
+ def get_font(self, name):
+ try:
+ return self.xml_settings.font[name]
+ except:
+ return self.xml_settings.font['default']
+
+ def update_content_needed(self):
+ """
+ this area needs never a content update
+ """
+ return TRUE
+
+ def update_content(self):
+ """
+ there is no content in this area
+ """
+ if self.plugins == None:
+ self.plugins = plugin.get('daemon_draw')
+
+ for p in self.plugins:
+ p.draw((type, object), self)
+
+
+
###############################################################################
***************
*** 237,241 ****
self.tv_areas = []
! for a in ( 'screen', 'title', 'subtitle', 'view', 'listing', 'info'):
o = eval('%s%s_Area(self, self.screen)' % (a[0].upper(), a[1:]))
self.normal_areas.append(o)
--- 276,280 ----
self.tv_areas = []
! for a in ( 'screen', 'title', 'subtitle', 'view', 'listing', 'info',
'plugin'):
o = eval('%s%s_Area(self, self.screen)' % (a[0].upper(), a[1:]))
self.normal_areas.append(o)
***************
*** 262,267 ****
break
- self.plugin_refresh = None
-
def LoadSettings(self, dir, copy_content = 1):
--- 301,304 ----
***************
*** 468,474 ****
self.settings.prepare()
- if self.plugin_refresh == None:
- self.plugin_refresh = plugin.get('daemon_draw')
-
menu = None
if type == 'menu':
--- 505,508 ----
***************
*** 527,533 ****
self.screen.show(self.force_redraw)
-
- for p in self.plugin_refresh:
- p.draw((type, object))
osd.update()
--- 561,564 ----
Index: xml_skin.py
===================================================================
RCS file: /cvsroot/freevo/freevo/skins/main1/xml_skin.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** xml_skin.py 11 Jul 2003 19:44:18 -0000 1.13
--- xml_skin.py 12 Jul 2003 17:16:30 -0000 1.14
***************
*** 10,13 ****
--- 10,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.14 2003/07/12 17:16:30 dischi
+ # created a special area for plugins to draw
+ #
# Revision 1.13 2003/07/11 19:44:18 dischi
# close file after parsing
***************
*** 883,896 ****
self.player = copy.deepcopy(self._player)
! font = copy.deepcopy(self._font)
layout = copy.deepcopy(self._layout)
search_dirs = self.skin_directories + [ 'skins/images', self.icon_dir, '.' ]
! for f in font:
! font[f].prepare(self._color, scale=self.font_scale)
for l in layout:
! layout[l].prepare(font, self._color, search_dirs, self._images)
for menu in self.menu:
self.menu[menu].prepare(self._menuset, layout)
--- 886,899 ----
self.player = copy.deepcopy(self._player)
! self.font = copy.deepcopy(self._font)
layout = copy.deepcopy(self._layout)
search_dirs = self.skin_directories + [ 'skins/images', self.icon_dir, '.' ]
! for f in self.font:
! self.font[f].prepare(self._color, scale=self.font_scale)
for l in layout:
! layout[l].prepare(self.font, self._color, search_dirs, self._images)
for menu in self.menu:
self.menu[menu].prepare(self._menuset, layout)
-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog