""" test canvas draw methods implemented in release 1.1.3 and above
    Jean-Claude Rimbault (pynokio.org, 2005) """

import appuifw
import e32
from math import pi

def quit():
    appuifw.app.exit_key_handler = None
    lock.signal()

lock = e32.Ao_lock()
old_screen=appuifw.app.screen
old_body=appuifw.app.body
appuifw.app.exit_key_handler = quit
appuifw.app.screen='full'
canvas=appuifw.Canvas()
appuifw.app.body=canvas
canvas.clear((255,255,255))
canvas.rectangle([50,20,150,200], outline=0x448844, fill=0x00ff00)
canvas.line([20,10,100,100], 0x0000ff, width=2)
canvas.point((5,5),0xff0000,width=4)
canvas.ellipse([20,50,60,90], outline=0x0000ff, fill=0x00ffff, width=3)
canvas.polygon([10,10,10,40,40,10], outline=0xfff000, fill=0xfffccc)
canvas.arc([100,120,160,180], 0, pi/3, outline=0xff0000)
canvas.pieslice([100,120,160,180], pi/2, pi, outline=0xff0000, fill=0xffeecc)
canvas.text((30,40), u"Text", (0,0,0))
lock.wait()
canvas=None
appuifw.app.body=old_body
appuifw.app.screen=old_screen

