From dcbed64aa9b08e2e9362f7e40949f81be8ca94d8 Mon Sep 17 00:00:00 2001 From: "regicidal.plutophage" <36969337+regicidalplutophage@users.noreply.github.com> Date: Mon, 27 Feb 2023 15:29:08 +0300 Subject: [PATCH] Improved text handling This change allows for more precise control over the position of text labels --- kmk/extensions/oled.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kmk/extensions/oled.py b/kmk/extensions/oled.py index cf8eccf..4107fc7 100644 --- a/kmk/extensions/oled.py +++ b/kmk/extensions/oled.py @@ -10,8 +10,6 @@ from kmk.extensions import Extension from kmk.handlers.stock import passthrough as handler_passthrough from kmk.keys import make_key -DISPLAY_OFFSET = 4 # Used to calculate a new zero level since SSD1306 is clipped. - class OledEntryType: TXT = 0 @@ -27,13 +25,15 @@ class OledData: self.data = entries @staticmethod - def oled_text_entry(x=0, y=0, text='', layer=None): + def oled_text_entry(x=0, y=0, x_anchor=0.0, y_anchor=0.0, text='', layer=None): return { 0: text, 1: x, 2: y, 3: layer, 4: OledEntryType.TXT, + 5: x_anchor, + 6: y_anchor, } @staticmethod @@ -88,8 +88,8 @@ class Oled(Extension): terminalio.FONT, text=view[0], color=0xFFFFFF, - x=view[1], - y=view[2] + DISPLAY_OFFSET, + anchor_point=(view[5],view[6]), + anchored_position = (view[1],view[2]), ) ) elif view[4] == OledEntryType.IMG: @@ -98,7 +98,7 @@ class Oled(Extension): view[0], pixel_shader=view[0].pixel_shader, x=view[1], - y=view[2] + DISPLAY_OFFSET, + y=view[2], ) ) gc.collect()