1
0
Fork 0
wasp-os/wasp/apps/testapp.py
Daniel Thompson 5413d826d7 wasp: Re-factor how Draw565 is used.
Moving it from applications into the watch is useful for two reasons.
Firstly it means applications don't need to know as much about the
display color depth and secondly it makes it easier to replace the
drawing routines with wasptool.
2020-03-08 23:16:30 +00:00

62 lines
1.8 KiB
Python

import watch
import widgets
import manager
import machine
class TestApp():
"""Simple test application.
"""
def __init__(self):
self.tests = ('Touch', 'String')
self.test = self.tests[0]
def foreground(self, system, effect=None):
"""Activate the application."""
self.on_screen = ( -1, -1, -1, -1, -1, -1 )
self.draw(effect)
system.request_event(manager.EVENT_TOUCH | manager.EVENT_SWIPE_LEFTRIGHT)
def background(self):
"""De-activate the application (without losing state)."""
pass
def sleep(self):
return False
def swipe(self, event):
tests = self.tests
i = tests.index(self.test) + 1
if i >= len(tests):
i = 0
self.test = tests[i]
self.draw()
def touch(self, event):
draw = watch.drawable
if self.test == 'Touch':
draw.string('({}, {})'.format(event[1], event[2]),
0, 108, width=240)
elif self.test == 'String':
watch.display.fill(0, 0, 30, 240, 240-30)
t = machine.Timer(id=1, period=8000000)
t.start()
draw.string("The quick brown", 12, 24+24)
draw.string("fox jumped over", 12, 24+48)
draw.string("the lazy dog.", 12, 24+72)
draw.string("0123456789", 12, 24+120)
draw.string('!"£$%^&*()', 12, 24+144)
elapsed = t.time()
t.stop()
del t
draw.string('{}s'.format(elapsed / 1000000), 12, 24+192)
return True
def draw(self, effect=None):
"""Redraw the display from scratch."""
watch.display.mute(True)
watch.display.fill(0)
watch.drawable.string('{} test'.format(self.test),
0, 6, width=240)
watch.display.mute(False)