diff options
author | TPReal <tpreal@gmail.com> | 2022-11-26 13:22:34 +0100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2022-12-09 16:47:08 +1100 |
commit | 002f54ab4edcc334b9641148dde94a6d7673c0fd (patch) | |
tree | a4bfb44e129013abcff93fb7d4fc845124409bc1 /tests/extmod/framebuf_scroll.py | |
parent | b042fd5120e5c0b0ef2b5bebf2c00aa12e5a0fb0 (diff) |
tests/extmod/framebuf_scroll: Add tests for FrameBuffer scrolling.
Includes a currently-failing test of scrolling by at least the size of the
buffer.
Diffstat (limited to 'tests/extmod/framebuf_scroll.py')
-rw-r--r-- | tests/extmod/framebuf_scroll.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/extmod/framebuf_scroll.py b/tests/extmod/framebuf_scroll.py new file mode 100644 index 000000000..db9b6ea1e --- /dev/null +++ b/tests/extmod/framebuf_scroll.py @@ -0,0 +1,45 @@ +try: + import framebuf +except ImportError: + print("SKIP") + raise SystemExit + + +def printbuf(): + print("--8<--") + bytes_per_row = w // 2 + for y in range(h): + for x in range(bytes_per_row): + print("%02x" % buf[(x + y * bytes_per_row)], end="") + print() + print("-->8--") + + +w = 10 +h = 10 +buf = bytearray(w * h // 2) +fbuf = framebuf.FrameBuffer(buf, w, h, framebuf.GS4_HMSB) + + +def prepare_buffer(): + fbuf.fill(0) + fbuf.rect(2, 0, 6, 10, 0x07, True) + fbuf.rect(0, 2, 10, 6, 0x01, True) + + +prepare_buffer() +printbuf() + +fbuf.scroll(5, -1) +printbuf() + +prepare_buffer() +fbuf.scroll(-5, 5) +printbuf() + +prepare_buffer() +# Scrolling by at least the size of buffer, no change to buffer. +fbuf.scroll(15, 7) +fbuf.scroll(10, -1) +fbuf.scroll(1, -10) +printbuf() |