# -*- coding: utf-8 -*- from api.Label import CLabel from Mouse import CMouse class CButton(CLabel): """ a button based on the label same properties as label + mactive: True if user is clicking on sprite False if user is not currently clicking mclicked: True when user releases mouse over a currently active button """ def __init__(self): CLabel.__init__(self) self.mactive = False self.mclicked = False self.bgColor = (0xCC, 0xCC, 0xCC) self.set_text('Button') def clicked(self): return self.mclicked def active(self): return self.mactive def mouseOver(self): if not CMouse().pressed(): if self.rect.collidepoint(CMouse().getPos()): return True else: return False else: return False def update(self): CLabel.update(self) self.mclicked = False if CMouse().firstPress(): if self.rect.collidepoint(CMouse().getPos()): #print "first press in button" self.mactive = True #check for mouse release if self.mactive == True: if CMouse().release(): self.mactive = False if self.rect.collidepoint(CMouse().getPos()): #print "release in button" self.mclicked = True