from JyModule import *

def draw():
    beginpage()

    center()
    scale(75)
    newpath()
    gsave()
    for i in range(-2, 3):
        moveto(i, -2)
        lineto(i, 2)
        moveto(-2, i)
        lineto(2, i)
    stroke(0.6)
    grestore()

    gsave()
    newpath()
    setlinewidth(2)
    moveto(-2, 0)
    lineto(2, 0)
    moveto(0, -2)
    lineto(0, 2)
    stroke()
    grestore()

    gsave()
    newpath()
    graph(lambda x: x**3 + c*x, -2, 2)
    setlinewidth(2)
    stroke(0, 0, 1)
    grestore()

    endpage()

c = -1
def step():
    global c
    c += 0.02
    if c > 1:
        c = 1
        stoptimer()
    refresh()

settimer(25, step)

def begin():
    starttimer()
def pause():
    stoptimer()
def reset():
    global c
    c = -1
    refresh()
addbutton("Start", begin)
addbutton("Stop", pause)
addbutton("Reset", reset)

openframe(300, 300, draw)
