view gamelib/hand.py @ 41:ad6f56bfa8b7

Cryo door, titanium leg and some interaction prototypes.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 23 Aug 2010 00:49:22 +0200
parents 31a431f795e1
children 79062a225703
line wrap: on
line source

# Button for the hand image

from albow.controls import ImageButton
from albow.resource import get_image
from albow.utils import frame_rect
from pygame.color import Color

class HandButton(ImageButton):
   """The fancy hand button for the widget"""

   sel_colour = Color('red')
   sel_width = 2

   def __init__(self, action):
      # FIXME: Yes, please.
      this_image = get_image('items', 'square.png')
      ImageButton.__init__(self, image=this_image, action=action)
      self.selected = False # Flag if we're selected

   def draw(self, surface):
      """Draw the widget"""
      print 'drawing widget', self.selected
      ImageButton.draw(self, surface)
      if self.selected:
         rect = surface.get_rect().inflate(-self.sel_width, -self.sel_width)
         frame_rect(surface, self.sel_colour, rect, self.sel_width)

   def toggle_selected(self):
      self.selected = not self.selected

   def unselect(self):
       self.selected = False