From c8020dce6b614ba31848a663756e9b85f9579b9b Mon Sep 17 00:00:00 2001 From: Dave Astels Date: Fri, 5 Jul 2019 18:21:20 -0400 Subject: [PATCH] Add cursor bitmap manipulation --- adafruit_cursorcontrol/cursorcontrol.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/adafruit_cursorcontrol/cursorcontrol.py b/adafruit_cursorcontrol/cursorcontrol.py index 865fc24..ffe36bd 100644 --- a/adafruit_cursorcontrol/cursorcontrol.py +++ b/adafruit_cursorcontrol/cursorcontrol.py @@ -73,8 +73,11 @@ def __init__(self, display=None, display_group=None, bmp=None, is_hidden=False, self._is_hidden = is_hidden self._display_grp = display_group self._disp_sz = display.height - 1, display.width - 1 + self._cur_sprite = None if bmp is None: - bmp = self._default_cursor_bitmap() + self._cursor_bitmap = self._default_cursor_bitmap() + else: + self._cursor_bitmap = bmp self.generate_cursor(bmp) # pylint: enable=too-many-arguments,line-too-long @@ -208,6 +211,23 @@ def _default_cursor_bitmap(self): return bmp #pylint:enable=no-self-use + @property + def cursor_bitmap(self): + """Return the cursor bitmap.""" + return self._cursor_bitmap + + @cursor_bitmap.setter + def cursor_bitmap(self, bmp): + """Set a new cursor bitmap. + + :param bmp: A Bitmap to use for the cursor + """ + self._cursor_bitmap = bmp + self._cursor_grp.remove(self._cur_sprite) + self._cur_sprite = displayio.TileGrid(bmp, + pixel_shader=self._cur_palette) + self._cursor_grp.append(self._cur_sprite) + def generate_cursor(self, bmp): """Generates a cursor icon""" self._is_deinited()