diff options
author | Walter Bender <walter@walter-laptop.(none)> | 2009-12-23 12:40:07 (GMT) |
---|---|---|
committer | Walter Bender <walter@walter-laptop.(none)> | 2009-12-23 12:40:07 (GMT) |
commit | 81218718ceafaa22f71a4c97d81f395c0773a9fc (patch) | |
tree | 2efec8011f52e6200b6f733bb9d2e439a7306965 /sprites.py | |
parent | 2b6be3b9b819f7c1e8bb23a7f9d565291caf81dd (diff) |
more label support
Diffstat (limited to 'sprites.py')
-rw-r--r-- | sprites.py | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -33,7 +33,6 @@ class Sprites: self.area = self.canvas.window self.gc = self.area.new_gc() self.cm = self.gc.get_colormap() - self.color = self.cm.alloc_color('black') self.fd = pango.FontDescription('Sans') self.list = [] @@ -75,6 +74,7 @@ class Sprites: class Sprite: def __init__(self, sprites, x, y, image): + self.sprites = sprites self.x = x self.y = y self.layer = 100 @@ -82,8 +82,8 @@ class Sprite: self.scale = 12 self.horiz_align = "center" self.vert_align = "middle" + self.color = self.sprites.cm.alloc_color('black') self.set_image(image) - self.sprites = sprites self.sprites.append_to_list(self) def set_image(self, image): @@ -122,6 +122,9 @@ class Sprite: self.label = str(label) self.inval() + def set_label_color(self, r, g, b): + self.color = self.sprites.cm.alloc_color(r, g, b) + def set_label_attributes(self, scale, horiz_align="center", vert_align="middle"): self.scale = scale @@ -165,6 +168,7 @@ class Sprite: self.sprites.fd.set_size(int(self.scale*pango.SCALE)) pl.set_font_description(self.sprites.fd) w = pl.get_size()[0]/pango.SCALE + # check to see if w excedes self.width, in which case, rescale if self.horiz_align == "center": x = int(self.x+(self.width-w)/2) elif self.horiz_align == 'left': @@ -178,5 +182,5 @@ class Sprite: y = self.y else: # bottom align y = int(self.y+self.height-h) - self.sprites.gc.set_foreground(self.sprites.color) + self.sprites.gc.set_foreground(self.color) self.sprites.area.draw_layout(self.sprites.gc, x, y, pl) |