3dc324d3f1
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
112 lines
2.1 KiB
Python
112 lines
2.1 KiB
Python
try:
|
|
import framebuf
|
|
except ImportError:
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
w = 5
|
|
h = 16
|
|
size = w * h // 8
|
|
buf = bytearray(size)
|
|
maps = {
|
|
framebuf.MONO_VLSB: "MONO_VLSB",
|
|
framebuf.MONO_HLSB: "MONO_HLSB",
|
|
framebuf.MONO_HMSB: "MONO_HMSB",
|
|
}
|
|
|
|
for mapping in maps.keys():
|
|
for x in range(size):
|
|
buf[x] = 0
|
|
fbuf = framebuf.FrameBuffer(buf, w, h, mapping)
|
|
print(maps[mapping])
|
|
# access as buffer
|
|
print(memoryview(fbuf)[0])
|
|
|
|
# fill
|
|
fbuf.fill(1)
|
|
print(buf)
|
|
fbuf.fill(0)
|
|
print(buf)
|
|
|
|
# put pixel
|
|
fbuf.pixel(0, 0, 1)
|
|
fbuf.pixel(4, 0, 1)
|
|
fbuf.pixel(0, 15, 1)
|
|
fbuf.pixel(4, 15, 1)
|
|
print(buf)
|
|
|
|
# clear pixel
|
|
fbuf.pixel(4, 15, 0)
|
|
print(buf)
|
|
|
|
# get pixel
|
|
print(fbuf.pixel(0, 0), fbuf.pixel(1, 1))
|
|
|
|
# hline
|
|
fbuf.fill(0)
|
|
fbuf.hline(0, 1, w, 1)
|
|
print("hline", buf)
|
|
|
|
# vline
|
|
fbuf.fill(0)
|
|
fbuf.vline(1, 0, h, 1)
|
|
print("vline", buf)
|
|
|
|
# rect
|
|
fbuf.fill(0)
|
|
fbuf.rect(1, 1, 3, 3, 1)
|
|
print("rect", buf)
|
|
|
|
# fill rect
|
|
fbuf.fill(0)
|
|
fbuf.fill_rect(0, 0, 0, 3, 1) # zero width, no-operation
|
|
fbuf.fill_rect(1, 1, 3, 3, 1)
|
|
print("fill_rect", buf)
|
|
|
|
# line
|
|
fbuf.fill(0)
|
|
fbuf.line(1, 1, 3, 3, 1)
|
|
print("line", buf)
|
|
|
|
# line steep negative gradient
|
|
fbuf.fill(0)
|
|
fbuf.line(3, 3, 2, 1, 1)
|
|
print("line", buf)
|
|
|
|
# scroll
|
|
fbuf.fill(0)
|
|
fbuf.pixel(2, 7, 1)
|
|
fbuf.scroll(0, 1)
|
|
print(buf)
|
|
fbuf.scroll(0, -2)
|
|
print(buf)
|
|
fbuf.scroll(1, 0)
|
|
print(buf)
|
|
fbuf.scroll(-1, 0)
|
|
print(buf)
|
|
fbuf.scroll(2, 2)
|
|
print(buf)
|
|
|
|
# print text
|
|
fbuf.fill(0)
|
|
fbuf.text("hello", 0, 0, 1)
|
|
print(buf)
|
|
fbuf.text("hello", 0, 0, 0) # clear
|
|
print(buf)
|
|
|
|
# char out of font range set to chr(127)
|
|
fbuf.text(str(chr(31)), 0, 0)
|
|
print(buf)
|
|
print()
|
|
|
|
# test invalid constructor, and stride argument
|
|
try:
|
|
fbuf = framebuf.FrameBuffer(buf, w, h, -1, w)
|
|
except ValueError:
|
|
print("ValueError")
|
|
|
|
# test legacy constructor
|
|
fbuf = framebuf.FrameBuffer1(buf, w, h)
|
|
fbuf = framebuf.FrameBuffer1(buf, w, h, w)
|
|
print(framebuf.MVLSB == framebuf.MONO_VLSB)
|