    def _draw_cursor(self, char, frame_no, x, y):
        """
        Draw a flashing cursor for this widget.

        :param char: The character to use for the cursor (when not a block)
        :param frame_no: The current frame number.
        :param x: The x coordinate for the cursor.
        :param y: The y coordinate for the cursor.
        """
        (colour, attr, background) = self._pick_colours("readonly" if self._readonly else "edit_text")
        if frame_no % 10 < 5 or self._frame.reduce_cpu:
            attr |= Screen.A_REVERSE
        self._frame.canvas.print_at(char, x, y, colour, attr, background)
Draw a flashing cursor for this widget.

:param char: The character to use for the cursor (when not a block)
:param frame_no: The current frame number.
:param x: The x coordinate for the cursor.
:param y: The y coordinate for the cursor.
asciimatics/widgets/widget.py