Open
Description
Expected behaviour
If only a small area of the screen got changed, write only that area rather than the entire screen. E.g. find a writeable bounding box of the modified pixels and update just that portion onthe screen.
Actual behaviour
I wrote a small program that updates a numeric field on a SH1106 OLED and it works well (thanks). I did observed though that even ifI change only a small area of the screen, the entire screen is written on each update.
My question is, does Luma support incremental updates? And if not, please add it to your feature request list.
My drawing code:
i = 0
while True:
with canvas(oled) as draw:
print(f"Drawing {i}", flush=True)
# draw.rectangle(oled.bounding_box, outline="white", fill="black")
# draw.text((19, 15), f"Hello I2C Adapter", fill="white")
draw.text((47, 42), f"{i:05d}", fill="white")
i += 1
time.sleep(1.0)
Full program at https://github.com/zapta/i2c_adapter/blob/main/examples/oled_demo.py