from JyModule import *

x = 0
def draw():
    beginpage()
    center()
    scale(50)

    gsave()
    newpath()
    for i in range(-4, 5):
        moveto(-4, i)
        lineto(4, i)
        moveto(i, -4)
        lineto(i, 4)
    stroke(0.6)
    grestore()

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

    newpath()
    circle(0, 0, 1)
    stroke(1, 0, 0)

    gsave()
    newpath()
    setdeg()
    moveto(0, 0)
    term = 1
    for i in range(1, 15):
        lineto(term, 0)
        translate(term, 0)
        rotate(90)
        term *= x/float(i)
    stroke(0, 0, 1)
    grestore()
    endpage()

def step():
    global x
    x += 0.02
    if x > 3:
        x = 3
        stoptimer()
    refresh()
settimer(25, step)
def begin():
    starttimer()
def pause():
    stoptimer()
def reset():
    global x
    x = 0
    refresh()
addbutton('Start', begin)
addbutton('Stop', pause)
addbutton('Reset', reset)

openframe(300, 300, draw)
