import runtime import uiconfig import widget import utils import status class Cursor(widget.Widget): def __init__(self, edit): widget.Widget.__init__(self) self._edit = edit self._rect = runtime.evas.rectangle() self._rect.layer_set(99) self._rect.color = uiconfig.cursor_color self._blink_tag = None self._blink_show = True self._update_tag = None def free(self): widget.Widget.free(self) self._blink_tag = None self._update_tag = None self._edit = None self._rect.free() self._rect = None def queue_update(self): def update(): x,y,height = self._edit.cursor_pos_height() width = 2 self._rect.pos = x,y self._rect.size = width, height self.move(x,y) self._rect.show() runtime.evas.render() self._update_tag = None return False if not self.hidden: update() def blink_cb(self): if status.slideshow_running == True: self._rect.hide() return True self._blink_show = not self._blink_show if self._blink_show: self._rect.show() else: self._rect.hide() #Roxia Begin smyook 06.06.19 runtime.evas.render_now() #Roxia End smyook return True def show(self): widget.Widget.show(self) self._blink_tag = utils.Timer(500, self.blink_cb) self.queue_update() def hide(self): widget.Widget.hide(self) self._rect.hide() self._blink_tag = None self._update_tag = None def move(self, x, y): self._rect.move(x,y)