summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/framebuf4.py
diff options
context:
space:
mode:
authorOleg Korsak <kamikaze.is.waiting.you@gmail.com>2017-01-12 03:29:23 +0200
committerDamien George <damien.p.george@gmail.com>2017-01-25 23:20:19 +1100
commit406fb3cb6084e5b3c6489a99b30affd35330d3fd (patch)
treea34d5d2f3b96369468fcf3790e3f364006a7e53d /tests/extmod/framebuf4.py
parentfd99690f1859a46aee690355170ad13eed9f0122 (diff)
downloadmicropython-406fb3cb6084e5b3c6489a99b30affd35330d3fd.tar.gz
micropython-406fb3cb6084e5b3c6489a99b30affd35330d3fd.zip
tests/extmod/framebuf4: Add tests for GS4_HMSB framebuf format.
Diffstat (limited to 'tests/extmod/framebuf4.py')
-rw-r--r--tests/extmod/framebuf4.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/extmod/framebuf4.py b/tests/extmod/framebuf4.py
new file mode 100644
index 0000000000..641f5bfc59
--- /dev/null
+++ b/tests/extmod/framebuf4.py
@@ -0,0 +1,54 @@
+try:
+ import framebuf
+except ImportError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+def printbuf():
+ print("--8<--")
+ for y in range(h):
+ print(buf[y * w // 2:(y + 1) * w // 2])
+ print("-->8--")
+
+w = 16
+h = 8
+buf = bytearray(w * h // 2)
+fbuf = framebuf.FrameBuffer(buf, w, h, framebuf.GS4_HMSB)
+
+# fill
+fbuf.fill(0x0f)
+printbuf()
+fbuf.fill(0xa0)
+printbuf()
+
+# put pixel
+fbuf.pixel(0, 0, 0x01)
+printbuf()
+fbuf.pixel(w-1, 0, 0x02)
+printbuf()
+fbuf.pixel(w-1, h-1, 0x03)
+printbuf()
+fbuf.pixel(0, h-1, 0x04)
+printbuf()
+
+# get pixel
+print(fbuf.pixel(0, 0), fbuf.pixel(w-1, 0), fbuf.pixel(w-1, h-1), fbuf.pixel(0, h-1))
+print(fbuf.pixel(1, 0), fbuf.pixel(w-2, 0), fbuf.pixel(w-2, h-1), fbuf.pixel(1, h-1))
+
+# fill rect
+fbuf.fill_rect(0, 0, w, h, 0x0f)
+printbuf()
+fbuf.fill_rect(0, 0, w, h, 0xf0)
+fbuf.fill_rect(1, 0, w//2+1, 1, 0xf1)
+printbuf()
+fbuf.fill_rect(1, 0, w//2+1, 1, 0x10)
+fbuf.fill_rect(1, 0, w//2, 1, 0xf1)
+printbuf()
+fbuf.fill_rect(1, 0, w//2, 1, 0x10)
+fbuf.fill_rect(0, h-4, w//2+1, 4, 0xaf)
+printbuf()
+fbuf.fill_rect(0, h-4, w//2+1, 4, 0xb0)
+fbuf.fill_rect(0, h-4, w//2, 4, 0xaf)
+printbuf()
+fbuf.fill_rect(0, h-4, w//2, 4, 0xb0)