def cursor_change(w: Gtk.Widget, evt: Gdk.EventCrossing): cursor = None if evt.get_event_type() == Gdk.EventType.ENTER_NOTIFY: cursor = Gdk.Cursor.new_from_name(w.get_display(), "pointer") elif evt.get_event_type() == Gdk.EventType.LEAVE_NOTIFY: cursor = Gdk.Cursor.new_from_name(w.get_display(), "default") if cursor: w.get_window().set_cursor(cursor)
def get_surface_for_pixbuf(widget: Gtk.Widget, pixbuf: Optional[GdkPixbuf.Pixbuf])\ -> Optional[cairo.Surface]: """:returns: a cairo surface, if possible""" if not pixbuf: return None scale_factor = widget.get_scale_factor() return Gdk.cairo_surface_create_from_pixbuf(pixbuf, scale_factor, widget.get_window())
def on__leave_notify_event__pointer(self, w: Gtk.Widget, evt: Gdk.EventCrossing): w.get_window().set_cursor(Gdk.Cursor.new_from_name(w.get_display(), 'default'))