add pallete BoolPalette to support color on monochrome

pull/48/head
Joe Freeman 2023-02-13 06:38:26 -05:00
rodzic 41d695b4d7
commit 92e087fbff
1 zmienionych plików z 8 dodań i 6 usunięć

Wyświetl plik

@ -75,6 +75,7 @@
from micropython import const from micropython import const
import utime as time import utime as time
import framebuf import framebuf
from drivers.boolpalette import BoolPalette
# a few register definitions # a few register definitions
@ -106,18 +107,19 @@ class SH1106(framebuf.FrameBuffer):
self.pages_to_update = 0 self.pages_to_update = 0
if self.rotate90: if self.rotate90:
# decouple renderbuf and displaybuf
self.displaybuf = bytearray(self.bufsize) self.displaybuf = bytearray(self.bufsize)
# HMSB is required to keep the bit order in the render buffer # HMSB is required to keep the bit order in the render buffer
# compatible with byte-for-byte remapping to the display buffer, # compatible with byte-for-byte remapping to the display buffer,
# which is in VLSB. Else we'd have to copy bit-by-bit! # which is in VLSB. Else we'd have to copy bit-by-bit!
super().__init__( mode = framebuf.MONO_HMSB
self.renderbuf, self.height, self.width, framebuf.MONO_HMSB self.palette = BoolPalette(mode)
) super().__init__(self.renderbuf, self.height, self.width, mode)
else: else:
self.displaybuf = self.renderbuf self.displaybuf = self.renderbuf
super().__init__( mode = framebuf.MONO_VLSB
self.renderbuf, self.width, self.height, framebuf.MONO_VLSB self.palette = BoolPalette(mode)
) super().__init__(self.renderbuf, self.width, self.height, mode)
# flip() was called rotate() once, provide backwards compatibility. # flip() was called rotate() once, provide backwards compatibility.
self.rotate = self.flip self.rotate = self.flip