from graphics import *
pixels = 100
win = GraphWin("Button Test ",pixels,pixels)

class Button :
    def __init__(self, center, text) :
        width = len(text)*5                # 5 pixels per letter
        self.text = text
        self.t1 = Text(center, text)
        self.c1 = center.clone(); self.c1.move(-width,-12)
        self.c2 = center.clone(); self.c2.move( width, 10)
        self.r1 = Rectangle(self.c1, self.c2); self.r1.setFill("red")

    def draw(self,win) :
        self.r1.draw(win)
        self.t1.draw(win)

    def inside(self,p) :
        inside = p.x > self.c1.x and p.x < self.c2.x and \
                 p.y > self.c1.y and p.y < self.c2.y
        return inside

def test() :
    but = Button(Point(50,50), "whatever")
    but.draw(win)
    for i in range(5) :
        p = win.getMouse()
        print(but.inside(p))
