From 8abb6f3f4ddf658c70788c028c6bde156bb018ea Mon Sep 17 00:00:00 2001 From: Daniel Thompson Date: Mon, 28 Dec 2020 11:12:16 +0000 Subject: [PATCH] widgets: Reduce the size of the battery icon Currently the battery icon is overlarge compared to other status bar icons such as the BT and notification icons (both of which are 32px high). Fix this by redrawing the battery artwork and updating the widgets in the status bar. Signed-off-by: Daniel Thompson --- TODO.rst | 2 +- res/battery.png | Bin 3471 -> 5757 bytes wasp/icons.py | 14 ++++++++++++-- wasp/widgets.py | 39 ++++++++++++++++++--------------------- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/TODO.rst b/TODO.rst index 78c9fe4..9cff137 100644 --- a/TODO.rst +++ b/TODO.rst @@ -39,7 +39,7 @@ Wasp-os * [ ] Introduce fwd/back/vol+/vol- buttons to the music player * [ ] Update icon for Alarm app * [ ] Update art work for buttons in Confirmation view - * [ ] Reduce the size of the battery charge icon slightly (match bell) + * [X] Reduce the size of the battery charge icon slightly (match bell) * [ ] Applications diff --git a/res/battery.png b/res/battery.png index d272dbf538eb16039dbd3c6e6159ac81affcd954..e579e94fa4e28530709f495418279819d5ec148f 100644 GIT binary patch literal 5757 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 96: - h = 24 - rgb = 0x07e0 - else: - h = level // 4 - green = level // 3 - red = 31-green - rgb = (red << 11) + (green << 6) + green = level // 3 + if green > 31: + green = 31 + red = 31-green + rgb = (red << 11) + (green << 6) if self.level < 0 or ((level > 5) ^ (self.level > 5)): if level > 5: - draw.rleblit(icon, pos=(239-icon[0], 0), + draw.blit(icon, 239-icon[1], 0, fg=wasp.system.theme('battery')) else: rgb = 0xf800 - draw.rleblit(icon, pos=(239-icon[0], 0), fg=0xf800) + draw.blit(icon, 239-icon[1], 0, fg=0xf800) - x = 239 - 30 - w = 16 - if 24 - h: - draw.fill(0, x, 14, w, 24 - h) + w = icon[1] - 10 + x = 239 - 5 - w + h = 2*level // 11 + if 18 - h: + draw.fill(0, x, 9, w, 18 - h) if h: - draw.fill(rgb, x, 38 - h, w, h) + draw.fill(rgb, x, 27 - h, w, h) self.level = level @@ -111,14 +109,14 @@ class Clock: draw = wasp.watch.drawable draw.set_font(fonts.sans28) draw.set_color(wasp.system.theme('status-clock')) - draw.string(t1, 52, 12, 138) + draw.string(t1, 52, 4, 138) self.on_screen = now return now class NotificationBar: """Show BT status and if there are pending notifications.""" - def __init__(self, x=2, y=8): + def __init__(self, x=0, y=0): self._pos = (x, y) def draw(self): @@ -213,10 +211,9 @@ class ScrollIndicator: color = wasp.system.theme('scroll-indicator') if self.up: - draw.rleblit(icons.up_arrow, pos=self._pos, fg=color) + draw.blit(icons.up_arrow, self._pos[0], self._pos[1], fg=color) if self.down: - draw.rleblit(icons.down_arrow, pos=(self._pos[0], self._pos[1] + 13), - fg=color) + draw.blit(icons.down_arrow, self._pos[0], self._pos[1]+13, fg=color) _SLIDER_KNOB_DIAMETER = const(40) _SLIDER_KNOB_RADIUS = const(_SLIDER_KNOB_DIAMETER // 2)