code: def draw(self):
          
          if not self.visible:
              return
  
          # Blit the button's current appearance to the surface.
          if self.isEnabled:
              if self.mouseIsDown:
                  if self.mouseOverButton and self.lastMouseDownOverButton:
                      self.window.blit(self.surfaceDown, self.loc)
                  else:
                      self.window.blit(self.surfaceUp, self.loc)
              else:  # mouse is up
                  if self.mouseOverButton:
                      self.window.blit(self.surfaceOver, self.loc)
                  else:
                      self.window.blit(self.surfaceUp, self.loc)
  
          else:
              self.window.blit(self.surfaceDisabled, self.loc)
docs: Draws the button in its current state.
  
          Should be called every time through the main loop