wasp: draw565: Automatic RLE format conversion
From here we can also bring colour to the launcher!
This commit is contained in:
parent
906c313e49
commit
22ca8886c2
7 changed files with 139 additions and 67 deletions
Binary file not shown.
Before Width: | Height: | Size: 965 B After Width: | Height: | Size: 5.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 7.4 KiB |
Binary file not shown.
Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 5 KiB |
|
@ -66,7 +66,7 @@ class LauncherApp():
|
|||
if not app:
|
||||
return
|
||||
draw.set_color(0xffff)
|
||||
draw.rleblit(app.ICON, (x+13, y+12))
|
||||
draw.blit(app.ICON, x+13, y+12)
|
||||
draw.set_color(0xbdb6)
|
||||
draw.string(app.NAME, x, y+120-30, 120)
|
||||
|
||||
|
|
|
@ -11,42 +11,8 @@ class TestApp():
|
|||
NAME = 'Self Test'
|
||||
ICON = icons.app
|
||||
|
||||
# 2-bit RLE, generated from res/app_icon.png, 457 bytes
|
||||
RLE_2BIT = (
|
||||
96, 64,
|
||||
b'\x1e@md<d<d;f?X\xec2\xf0/'
|
||||
b'\xf2-\xf4,\xc3.\xc3,\xc3.\xc3,\xc3.\xc3,'
|
||||
b'\xc3.\xc3,\xc3.\xc3,\xc3\x0c\x80\xfc\x83\x10\xc0]'
|
||||
b'\xc3\x0c@\xffC,C\n\x87\x0c\xc7\nC,C\t'
|
||||
b'\x83\x02\x84\n\xc4\x02\xc3\tC,C\x08\x82\x07\x82\x08'
|
||||
b'\xc2\x07\xc2\x08C,C\x07\x82\t\x82\x06\xc2\t\xc2\x07'
|
||||
b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06'
|
||||
b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x05\x82\x0c\x82\x04'
|
||||
b'\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04\xc2\x0c\xc2\x05'
|
||||
b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x06'
|
||||
b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06\x82\x0b\x82\x04'
|
||||
b'\xc2\x0b\xc1\x07C,C\x07\x82\n\x82\x04\xc2\n\xc2\x07'
|
||||
b'C+D\x08\x82\t\x82\x04\xc2\t\xc2\x08C*E\t'
|
||||
b'\x8c\x04\xcc\tC*E\n\x8b\x04\xcb\nC*E.'
|
||||
b'C*E.C*E.C*E.C*E\n'
|
||||
b'\x80\xe9\x8b\x04\xc0o\xcb\nC+D\t\x8c\x04\xcc\t'
|
||||
b'C,C\x08\x82\t\x82\x04\xc2\t\xc2\x08C,C\x07'
|
||||
b'\x82\n\x82\x04\xc2\n\xc2\x07C,C\x06\x82\x0b\x82\x04'
|
||||
b'\xc2\x0b\xc1\x07C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06'
|
||||
b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x05'
|
||||
b'\x82\x0c\x82\x04\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04'
|
||||
b'\xc2\x0c\xc2\x05C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06'
|
||||
b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x07'
|
||||
b'\x82\t\x82\x06\xc2\t\xc2\x07C,C\x08\x82\x07\x82\x08'
|
||||
b'\xc2\x07\xc2\x08C,C\t\x83\x02\x84\n\xc4\x02\xc3\t'
|
||||
b'C,C\n\x86\x0e\xc6\nC,C\x0c\x83\x10\xc3\x0c'
|
||||
b'C,C.C,C.C,C.C,C.'
|
||||
b'C,C.C,t-r/p2l?X@'
|
||||
b'mf;d<d<d\x1e'
|
||||
)
|
||||
|
||||
def __init__(self):
|
||||
self.tests = ('Touch', 'String', 'Button', 'Crash', '1-bit RLE', '2-bit RLE')
|
||||
self.tests = ('Touch', 'String', 'Button', 'Crash', 'RLE')
|
||||
self.test = self.tests[0]
|
||||
self.scroll = wasp.widgets.ScrollIndicator()
|
||||
|
||||
|
@ -90,32 +56,17 @@ class TestApp():
|
|||
event[1], event[2]), 0, 108, width=240)
|
||||
elif self.test == 'String':
|
||||
self.benchmark_string()
|
||||
elif self.test == '1-bit RLE':
|
||||
self.benchmark_rle_1bit()
|
||||
elif self.test == '2-bit RLE':
|
||||
self.benchmark_rle_2bit()
|
||||
elif self.test == 'RLE':
|
||||
self.benchmark_rle()
|
||||
|
||||
def benchmark_rle_1bit(self):
|
||||
def benchmark_rle(self):
|
||||
draw = wasp.watch.drawable
|
||||
draw.fill(0, 0, 30, 240, 240-30)
|
||||
self.scroll.draw()
|
||||
t = machine.Timer(id=1, period=8000000)
|
||||
t.start()
|
||||
for i in range(0, 128, 16):
|
||||
draw.rleblit(self.ICON, (i, 30 + i))
|
||||
elapsed = t.time()
|
||||
t.stop()
|
||||
del t
|
||||
draw.string('{}s'.format(elapsed / 1000000), 12, 24+192)
|
||||
|
||||
def benchmark_rle_2bit(self):
|
||||
draw = wasp.watch.drawable
|
||||
draw.fill(0, 0, 30, 240, 240-30)
|
||||
self.scroll.draw()
|
||||
t = machine.Timer(id=1, period=8000000)
|
||||
t.start()
|
||||
for i in range(0, 128, 16):
|
||||
draw.rle2bit(self.RLE_2BIT, i, 30 + i)
|
||||
draw.blit(self.ICON, i+16, i+32)
|
||||
elapsed = t.time()
|
||||
t.stop()
|
||||
del t
|
||||
|
@ -149,9 +100,7 @@ class TestApp():
|
|||
if self.test == 'Crash':
|
||||
draw.string("Press button to", 12, 24+24)
|
||||
draw.string("throw exception.", 12, 24+48)
|
||||
elif self.test == '1-bit RLE':
|
||||
draw.rleblit(self.ICON, (120-48, 120-32))
|
||||
elif self.test == '2-bit RLE':
|
||||
draw.rle2bit(self.RLE_2BIT, 120-48, 120-32)
|
||||
elif self.test == 'RLE':
|
||||
draw.blit(self.ICON, 120-48, 120-32)
|
||||
|
||||
wasp.watch.display.mute(False)
|
||||
|
|
|
@ -105,6 +105,15 @@ class Draw565(object):
|
|||
bg = self._bgfg >> 16
|
||||
self._display.fill(bg, x, y, w, h)
|
||||
|
||||
@micropython.native
|
||||
def blit(self, image, x, y):
|
||||
if len(image) == 3:
|
||||
# Legacy 1-bit image
|
||||
self.rleblit(image, (x, y))
|
||||
else: #elif image[0] == 2:
|
||||
# 2-bit RLE image, (255x255, v1)
|
||||
self._rle2bit(image, x, y)
|
||||
|
||||
@micropython.native
|
||||
def rleblit(self, image, pos=(0, 0), fg=0xffff, bg=0):
|
||||
"""Decode and draw a 1-bit RLE image."""
|
||||
|
@ -135,14 +144,20 @@ class Draw565(object):
|
|||
color = bg
|
||||
|
||||
@micropython.native
|
||||
def rle2bit(self, image, x, y):
|
||||
def _rle2bit(self, image, x, y):
|
||||
"""Decode and draw a 2-bit RLE image."""
|
||||
display = self._display
|
||||
quick_write = display.quick_write
|
||||
(sx, sy, rle) = image
|
||||
sx = image[1]
|
||||
sy = image[2]
|
||||
rle = memoryview(image)[3:]
|
||||
|
||||
display.set_window(x, y, sx, sy)
|
||||
|
||||
if sx <= (len(display.linebuffer) / 2) and not bool(sy & 1):
|
||||
sx *= 2
|
||||
sy /= 2
|
||||
|
||||
palette = array.array('H', (0, 0xfffe, 0x7bef, 0xffff))
|
||||
next_color = 1
|
||||
rl = 0
|
||||
|
|
120
wasp/icons.py
120
wasp/icons.py
|
@ -4,17 +4,125 @@
|
|||
# 1-bit RLE, generated from res/battery.png, 189 bytes
|
||||
battery = (36, 48, b'\x97\x0e\x14\x12\x11\x14\x10\x14\x0c\x08\x0c\x08\x08\x08\x0c\x08\x08\x08\x0c\x08\x08\x08\x0c\x08\x08\x04\x14\x04\x08\x04\x14\x04\x08\x04\x0c\x04\x04\x04\x08\x04\x0b\x05\x04\x04\x08\x04\n\x06\x04\x04\x08\x04\t\x07\x04\x04\x08\x04\x08\x07\x05\x04\x08\x04\x07\x07\x06\x04\x08\x04\x06\x07\x07\x04\x08\x04\x05\x07\x08\x04\x08\x04\x04\x0e\x02\x04\x08\x04\x03\x0f\x02\x04\x08\x04\x02\x10\x02\x04\x08\x04\x02\x10\x02\x04\x08\x04\x02\x0f\x03\x04\x08\x04\x02\x0e\x04\x04\x08\x04\x08\x07\x05\x04\x08\x04\x07\x07\x06\x04\x08\x04\x06\x07\x07\x04\x08\x04\x05\x07\x08\x04\x08\x04\x04\x07\t\x04\x08\x04\x04\x06\n\x04\x08\x04\x04\x05\x0b\x04\x08\x04\x04\x04\x0c\x04\x08\x04\x14\x04\x08\x04\x14\x04\x08\x04\x14\x04\x08\x04\x14\x04\x08\x1c\x08\x1c\x08\x1c\x08\x1c\x98')
|
||||
|
||||
# 1-bit RLE, generated from res/app_icon.png, 441 bytes
|
||||
app = (96, 64, b'\x1e$<$<$;&\x97,20/2-4,\x03.\x03,\x03.\x03,\x03.\x03,\x03.\x03,\x03.\x03,\x03\x0c\x03\x10\x03\x0c\x03,\x03\n\x07\x0c\x07\n\x03,\x03\t\x03\x02\x04\n\x04\x02\x03\t\x03,\x03\x08\x02\x07\x02\x08\x02\x07\x02\x08\x03,\x03\x07\x02\t\x02\x06\x02\t\x02\x07\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x05\x02\x0c\x02\x04\x02\x0c\x02\x05\x03,\x03\x05\x02\x0c\x02\x04\x02\x0c\x02\x05\x03,\x03\x05\x03\x0b\x02\x04\x02\x0b\x03\x05\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x01\x07\x03,\x03\x07\x02\n\x02\x04\x02\n\x02\x07\x03+\x04\x08\x02\t\x02\x04\x02\t\x02\x08\x03*\x05\t\x0c\x04\x0c\t\x03*\x05\n\x0b\x04\x0b\n\x03*\x05.\x03*\x05.\x03*\x05.\x03*\x05.\x03*\x05\n\x0b\x04\x0b\n\x03+\x04\t\x0c\x04\x0c\t\x03,\x03\x08\x02\t\x02\x04\x02\t\x02\x08\x03,\x03\x07\x02\n\x02\x04\x02\n\x02\x07\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x01\x07\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x05\x03\x0b\x02\x04\x02\x0b\x03\x05\x03,\x03\x05\x02\x0c\x02\x04\x02\x0c\x02\x05\x03,\x03\x05\x02\x0c\x02\x04\x02\x0c\x02\x05\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x06\x02\x0b\x02\x04\x02\x0b\x02\x06\x03,\x03\x07\x02\t\x02\x06\x02\t\x02\x07\x03,\x03\x08\x02\x07\x02\x08\x02\x07\x02\x08\x03,\x03\t\x03\x02\x04\n\x04\x02\x03\t\x03,\x03\n\x06\x0e\x06\n\x03,\x03\x0c\x03\x10\x03\x0c\x03,\x03.\x03,\x03.\x03,\x03.\x03,\x03.\x03,\x03.\x03,4-2/02,\x97&;$<$<$\x1e')
|
||||
# 2-bit RLE, generated from res/app_icon.png, 460 bytes
|
||||
app = (
|
||||
b'\x02'
|
||||
b'`@'
|
||||
b'\x1e@md<d<d;f?X\xec2\xf0/'
|
||||
b'\xf2-\xf4,\xc3.\xc3,\xc3.\xc3,\xc3.\xc3,'
|
||||
b'\xc3.\xc3,\xc3.\xc3,\xc3\x0c\x80\xfc\x83\x10\xc0]'
|
||||
b'\xc3\x0c@\xffC,C\n\x87\x0c\xc7\nC,C\t'
|
||||
b'\x83\x02\x84\n\xc4\x02\xc3\tC,C\x08\x82\x07\x82\x08'
|
||||
b'\xc2\x07\xc2\x08C,C\x07\x82\t\x82\x06\xc2\t\xc2\x07'
|
||||
b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06'
|
||||
b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x05\x82\x0c\x82\x04'
|
||||
b'\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04\xc2\x0c\xc2\x05'
|
||||
b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x06'
|
||||
b'\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x06\x82\x0b\x82\x04'
|
||||
b'\xc2\x0b\xc1\x07C,C\x07\x82\n\x82\x04\xc2\n\xc2\x07'
|
||||
b'C+D\x08\x82\t\x82\x04\xc2\t\xc2\x08C*E\t'
|
||||
b'\x8c\x04\xcc\tC*E\n\x8b\x04\xcb\nC*E.'
|
||||
b'C*E.C*E.C*E.C*E\n'
|
||||
b'\x80\xe9\x8b\x04\xc0o\xcb\nC+D\t\x8c\x04\xcc\t'
|
||||
b'C,C\x08\x82\t\x82\x04\xc2\t\xc2\x08C,C\x07'
|
||||
b'\x82\n\x82\x04\xc2\n\xc2\x07C,C\x06\x82\x0b\x82\x04'
|
||||
b'\xc2\x0b\xc1\x07C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06'
|
||||
b'C,C\x05\x83\x0b\x82\x04\xc2\x0b\xc3\x05C,C\x05'
|
||||
b'\x82\x0c\x82\x04\xc2\x0c\xc2\x05C,C\x05\x82\x0c\x82\x04'
|
||||
b'\xc2\x0c\xc2\x05C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06'
|
||||
b'C,C\x06\x82\x0b\x82\x04\xc2\x0b\xc2\x06C,C\x07'
|
||||
b'\x82\t\x82\x06\xc2\t\xc2\x07C,C\x08\x82\x07\x82\x08'
|
||||
b'\xc2\x07\xc2\x08C,C\t\x83\x02\x84\n\xc4\x02\xc3\t'
|
||||
b'C,C\n\x86\x0e\xc6\nC,C\x0c\x83\x10\xc3\x0c'
|
||||
b'C,C.C,C.C,C.C,C.'
|
||||
b'C,C.C,t-r/p2l?X@'
|
||||
b'mf;d<d<d\x1e'
|
||||
)
|
||||
|
||||
# 1-bit RLE, generated from res/clock_icon.png, 301 bytes
|
||||
clock = (96, 64, b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xcd\x06\r\x06!\x05\x0b\x08\x0c\x08\x0b\n\x1d\t\x07\x0c\n\x08\n\x0c\x1b\x0b\x06\x0e\x08\x03\x02\x03\n\x04\x05\x04\x1a\x04\x03\x04\x06\x02\x08\x04\r\x03\t\x04\x07\x03\x19\x04\x05\x04\x10\x04\x0c\x03\t\x03\t\x02\x19\x03\x07\x03\x11\x03\x0c\x03\t\x03\t\x03\n\x04\t\x04\x07\x04\x10\x03\x0c\x03\t\x03\t\x03\n\x04\t\x03\t\x03\x10\x03\x0c\x03\t\x03\t\x03\n\x04\t\x03\t\x03\x10\x03\x0c\x03\t\x04\x07\x04\n\x04\t\x03\t\x03\x0f\x04\x0c\x03\n\x04\x05\x05\n\x04\t\x03\x03\x02\x04\x03\x0e\x04\r\x03\n\n\x01\x03\x17\x03\x02\x04\x03\x03\r\x05\r\x03\x0b\t\x01\x03\x17\x03\x02\x03\x04\x03\x0c\x05\x0e\x03\r\x05\x03\x03\x17\x03\t\x03\x0b\x05\x0f\x03\x15\x03\x17\x03\t\x03\n\x05\x10\x03\x14\x04\x17\x03\t\x03\t\x05\x11\x03\x14\x03\x18\x04\x07\x04\x08\x04\x13\x03\x14\x03\x19\x03\x07\x03\x08\x04\x14\x03\x13\x04\x0b\x04\n\x03\x06\x04\x07\x04\x15\x03\x0b\x01\x05\x05\x0c\x04\x0b\x04\x03\x04\x07\x03\x12\r\x06\n\r\x04\x0b\x0b\x06\x0f\x07\r\x06\t\x0e\x04\x0c\t\x07\x0f\x07\r\x07\x06\x10\x04\x0e\x05\t\x0f\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xaa')
|
||||
# 2-bit RLE, generated from res/clock_icon.png, 288 bytes
|
||||
clock = (
|
||||
b'\x02'
|
||||
b'`@'
|
||||
b'?\xff\xff\xff\xff\xff\xff\x8e@\xb6F\r\xc6!E\x0b'
|
||||
b'\xc8\x0cH\x0b\xca\x1dI\x07\xcc\nH\n\xcc\x1bK\x06'
|
||||
b'\xce\x08C\x02C\n\xc4\x05\xc4\x1aD\x03D\x06\xc2\x08'
|
||||
b'\xc4\rC\t\xc4\x07\xc3\x19D\x05D\x10\xc4\x0cC\t'
|
||||
b'\xc3\t\xc2\x19C\x07C\x11\xc3\x0cC\t\xc3\t\xc3\n'
|
||||
b'D\tD\x07D\x10\xc3\x0cC\t\xc3\t\xc3\nD\t'
|
||||
b'C\tC\x10\xc3\x0cC\t\xc3\t\xc3\nD\tC\t'
|
||||
b'C\x10\xc3\x0cC\t\xc4\x07\xc4\nD\tC\tC\x0f'
|
||||
b'\xc4\x0cC\n\xc4\x05\xc5\nD\tC\tC\x0e\xc4\r'
|
||||
b'C\n\xca\x01\xc3\x17C\tC\r\xc5\rC\x0b\xc9\x01'
|
||||
b'\xc3\x17C\tC\x0c\xc5\x0eC\r\xc5\x03\xc3\x17C\t'
|
||||
b'C\x0b\xc5\x0fC\x15\xc3\x17C\tC\n\xc5\x10C\x14'
|
||||
b'\xc4\x17C\tC\t\xc5\x11C\x14\xc3\x18D\x07D\x08'
|
||||
b'\xc4\x13C\x14\xc3\x19C\x07C\x08\xc4\x14C\x13\xc4\x0b'
|
||||
b'D\nC\x06D\x07\xc4\x15C\x0b\xc1\x05\xc5\x0cD\x0b'
|
||||
b'D\x03D\x07\xc3\x12M\x06\xca\rD\x0bK\x06\xcf\x07'
|
||||
b'M\x06\xc9\x0eD\x0cI\x07\xcf\x07M\x07\xc6\x10D\x0e'
|
||||
b'E\t\xcf?\xff\xff\xff\xff\xff\xff\xff\xffk'
|
||||
)
|
||||
|
||||
# 1-bit RLE, generated from res/torch_icon.png, 283 bytes
|
||||
torch = (96, 64, b'\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00e\x06W\nT\x04\x06\x02S\x03\x07\x02S\x02\n\x01\x0b\x029\x05\x08\x02\t\x02\x08\x03:\x07\x06\x02\x0b\x01\x06\x02$(\n\x02\x03\x03%(\x0c\x01+\x02%\x01\x0b\x02+\x02%\x01\x0c\x01+\x02\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x0b\x02+\x02\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x0c\x01+\x02%\x01\x0b\x02\x03\n\x1e\x02\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x0c\x01+\x02\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x0b\x02+\x02%\x01\x0c\x01+\x02%\x01\x0b\x02+(\x0c\x01,(\n\x02\x03\x03L\x02\x0b\x01\x06\x02K\x02\t\x02\x08\x03H\x02\n\x01\x0b\x02G\x03\x07\x02U\x04\x06\x02V\nY\x06\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xe2')
|
||||
# 2-bit RLE, generated from res/settings_icon.png, 472 bytes
|
||||
settings = (
|
||||
b'\x02'
|
||||
b'`@'
|
||||
b'\x1e@md<d<d;f?X\xec2\xf0/'
|
||||
b'\xf2-\xf4,\xc3.\xc3,\xc3.\xc3,\xc3.\xc3,'
|
||||
b'\xc3\x14\x80\xb7\x86\x14\xc3,\xc3\x13\x88\x13\xc3,\xc3\x13'
|
||||
b'\x88\x13\xc3,\xc3\x12\x83\x04\x83\x12\xc3,\xc3\n\x84\x04'
|
||||
b'\x83\x04\x83\x04\x84\n\xc3,\xc3\t\x86\x01\x85\x04\x85\x01'
|
||||
b'\x86\t\xc3,\xc3\x08\x8c\x05\x8d\x08\xc3,\xc3\x07\x84\x02'
|
||||
b'\x86\x08\x86\x02\x84\x07\xc3,\xc3\x07\x83\x05\x81\x0e\x81\x05'
|
||||
b'\x83\x07\xc3,\xc3\x07\x83\x1a\x83\x07\xc3,\xc3\x07\x84\x18'
|
||||
b'\x84\x07\xc3,\xc3\x08\x83\n\xc0o\xc4\n\x83\x08@\xff'
|
||||
b'C,C\t\x83\x06\xca\x06\x83\tC,C\x08\x83\x06'
|
||||
b'\xcc\x06\x83\x08C,C\x08\x83\x05\xc4\x06\xc4\x05\x83\x08'
|
||||
b'C+D\x06\x85\x04\xc4\x08\xc4\x04\x85\x06C*E\x04'
|
||||
b'\x86\x05\xc3\n\xc3\x05\x86\x04C*E\x03\x87\x05\xc2\x0c'
|
||||
b'\xc2\x05\x87\x03C*E\x03\x83\x08\xc3\x0c\xc3\x08\x83\x03'
|
||||
b'C*E\x03\x83\x08\xc3\x0c\xc3\x08\x83\x03C*E\x03'
|
||||
b'\x83\x08\xc3\x0c\xc3\x08\x83\x03C*E\x03\x83\x08\xc3\x0c'
|
||||
b'\xc3\x08\x83\x03C*E\x03\x86\x06\xc2\x0c\xc2\x05\x87\x03'
|
||||
b'C+D\x04\x86\x05\xc3\n\xc3\x05\x86\x04C,C\x05'
|
||||
b'\x86\x04\xc4\x08\xc4\x04\x85\x06C,C\x08\x83\x05\xc4\x06'
|
||||
b'\xc4\x05\x83\x08C,C\x08\x83\x06\xcc\x06\x83\x08C,'
|
||||
b'C\t\x83\x06\xca\x06\x83\tC,C\x08\x83\n\xc4\n'
|
||||
b'\x83\x08C,C\x07\x84\x18\x84\x07C,C\x07\x83\x1a'
|
||||
b'\x83\x07C,C\x07\x83\x05\x81\x0e\x81\x05\x83\x07C,'
|
||||
b'C\x07\x84\x03\x85\x08\x86\x02\x84\x07C,C\x08\x8d\x04'
|
||||
b'\x8d\x08C,C\t\x86\x01\x85\x04\x85\x01\x86\tC,'
|
||||
b'C\n\x84\x04\x83\x04\x83\x04\x84\nC,C\x12\x83\x04'
|
||||
b'\x83\x12C,C\x13\x88\x13C,C\x13\x88\x13C,'
|
||||
b'C\x14\x86\x14C,C.C,C.C,C.'
|
||||
b'C,t-r/p2l?X\x80m\xa6;\xa4'
|
||||
b'<\xa4<\xa4\x1e'
|
||||
)
|
||||
# 2-bit RLE, generated from res/torch_icon.png, 247 bytes
|
||||
torch = (
|
||||
b'\x02'
|
||||
b'`@'
|
||||
b'?\xff\xff\xff\xff\xff\xff\xff&\xc6\x0c@\xfdB?\n'
|
||||
b'\xca\tD?\x08\xc4\x06\xc2\x07F?\x07\xc3\x07\xc2\x06'
|
||||
b'H?\x06\xc2\n\xc1\x04G\xc2A8\xc5\x08\xc2\t\xc2'
|
||||
b'\x02F\xc3C7\xc7\x06\xc2\x0b\xc1F\xc2F\x1e\xe8\n'
|
||||
b'\xc2C\xc3H\x1d\xe8\x0c\xc1N\x1d\xc2%\xc1\x0b\xc2N'
|
||||
b'\x1d\xc2%\xc1\x0c\xc1N\x1d\xc2\x04\x80m\x9d\x04\xc1\x0b'
|
||||
b'\xc2N\x1d\xc2\x06\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81'
|
||||
b'\x03\x81\x06\xc1\x0c\xc1N\x1d\xc2\x04\x9d\x04\xc1\x0b\xc2C'
|
||||
b'\xcaA\x1d\xc2\x06\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81'
|
||||
b'\x03\x81\x06\xc1\x0c\xc1N\x1d\xc2\x04\x9d\x04\xc1\x0b\xc2N'
|
||||
b'\x1d\xc2%\xc1\x0c\xc1N\x1d\xc2%\xc1\x0b\xc2N\x1d\xe8'
|
||||
b'\x0c\xc1N\x1e\xe8\n\xc2C\xc3H?\x05\xc2\x0b\xc1F'
|
||||
b'\xc2F?\x06\xc2\t\xc2\x02F\xc3C?\x06\xc2\n\xc1'
|
||||
b'\x04G\xc2A?\x07\xc3\x07\xc2\x06H?\x08\xc4\x06\xc2'
|
||||
b'\x07F?\n\xca\tD?\r\xc6\x0cB?\xff\xff\xff'
|
||||
b'\xff\xff\xff\x95'
|
||||
)
|
||||
|
||||
# 1-bit RLE, generated from res/up_arrow.png, 16 bytes
|
||||
up_arrow = (16, 9, b'\x07\x02\r\x04\x0b\x06\t\x08\x07\n\x05\x0c\x03\x0e\x01 ')
|
||||
|
||||
# 1-bit RLE, generated from res/down_arrow.png, 17 bytes
|
||||
down_arrow = (16, 9, b'\x00 \x01\x0e\x03\x0c\x05\n\x07\x08\t\x06\x0b\x04\r\x02\x07')
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue