You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
795 B
45 lines
795 B
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()
|
|
|