diff options
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() |
