summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/framebuf_palette.py
blob: ad1af2cf4c46d90aff75c870d6300a125920e0fa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Test blit between different color spaces
try:
    import framebuf, sys
except ImportError:
    print("SKIP")
    raise SystemExit

# Monochrome glyph/icon
w = 8
h = 8
cbuf = bytearray(w * h // 8)
fbc = framebuf.FrameBuffer(cbuf, w, h, framebuf.MONO_HLSB)
fbc.line(0, 0, 7, 7, 1)

# RGB565 destination
wd = 16
hd = 16
dest = bytearray(wd * hd * 2)
fbd = framebuf.FrameBuffer(dest, wd, hd, framebuf.RGB565)

wp = 2
bg = 0x1234
fg = 0xF800
pal = bytearray(wp * 2)
palette = framebuf.FrameBuffer(pal, wp, 1, framebuf.RGB565)
palette.pixel(0, 0, bg)
palette.pixel(1, 0, fg)

fbd.blit(fbc, 0, 0, -1, palette)

print(fbd.pixel(0, 0) == fg)
print(fbd.pixel(7, 7) == fg)
print(fbd.pixel(8, 8) == 0)  # Outside blit
print(fbd.pixel(0, 1) == bg)
print(fbd.pixel(1, 0) == bg)