1
0
Fork 0

wasp: template: Implement optional application methods

This commit is contained in:
Daniel Thompson 2020-04-12 08:41:31 +01:00
parent 80d518b75b
commit b649cd1b24

View file

@ -1,5 +1,7 @@
# SPDX-License-Identifier: LGPL-3.0-or-later # SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson # Copyright (C) 2020 Daniel Thompson
"""Template application implementing all application method calls.
"""
import wasp import wasp
import icons import icons
@ -11,6 +13,7 @@ class TemplateApp():
ICON = icons.app ICON = icons.app
def __init__(self): def __init__(self):
"""Initialize the application."""
pass pass
def foreground(self): def foreground(self):
@ -19,19 +22,39 @@ class TemplateApp():
wasp.system.request_event(wasp.EventMask.TOUCH | wasp.system.request_event(wasp.EventMask.TOUCH |
wasp.EventMask.SWIPE_UPDOWN | wasp.EventMask.SWIPE_UPDOWN |
wasp.EventMask.BUTTON) wasp.EventMask.BUTTON)
wasp.system.request_tick(1000)
def background(self):
"""De-activate the application."""
pass
def sleep(self):
"""Notify the application the device is about to sleep."""
return False
def wake(self):
"""Notify the application the device is waking up."""
pass
def press(self, button, state): def press(self, button, state):
"""Notify the application of a button-press event."""
draw = wasp.watch.drawable draw = wasp.watch.drawable
draw.string('Button', 0, 108, width=240) draw.string('Button', 0, 108, width=240)
def swipe(self, event): def swipe(self, event):
"""Notify the application of a touchscreen swipe event."""
draw = wasp.watch.drawable draw = wasp.watch.drawable
if event[0] == wasp.EventType.UP: if event[0] == wasp.EventType.UP:
draw.string('Swipe up', 0, 108, width=240) draw.string('Swipe up', 0, 108, width=240)
else: else:
draw.string('Swipe down', 0, 108, width=240) draw.string('Swipe down', 0, 108, width=240)
def tick(self, ticks):
"""Notify the application that its periodic tick is due."""
pass
def touch(self, event): def touch(self, event):
"""Notify the application of a touchscreen touch event."""
draw = wasp.watch.drawable draw = wasp.watch.drawable
wasp.watch.drawable.string('({}, {})'.format( wasp.watch.drawable.string('({}, {})'.format(
event[1], event[2]), 0, 108, width=240) event[1], event[2]), 0, 108, width=240)
@ -40,4 +63,9 @@ class TemplateApp():
"""Draw the display from scratch.""" """Draw the display from scratch."""
draw = wasp.watch.drawable draw = wasp.watch.drawable
draw.fill() draw.fill()
draw.string('Template', 0, 6, width=240) draw.string(self.NAME, 0, 6, width=240)
self._update()
def _update(self):
"""Update the dynamic parts of the application display
pass