You draw directly on canvas, ignoring system screen redraw callback. The white screen is caused by system redraw. Try something around this code:
Code:
def cb_redraw(dummy=(0, 0, 0, 0)):
''' Overwrite default screen redraw event handler '''
if img:
canvas.blit(img)
def draw():
''' Custom screen update routine '''
img.clear(RGB_RED)
img.ellipse(width=5, outline=RGB_BLACK)
cb_redraw()
canvas = appuifw.Canvas(redraw_callback = cb_redraw)
appuifw.app.body = canvas
...please note that this code does not work, it's there just to give you the idea about how to do it...
Cheers,
--jouni