def populate_mime_data_for_drag(self, mime_data, size: Geometry.IntSize): if self.__display_item: mime_data.set_data_as_string(MimeTypes.DISPLAY_ITEM_MIME_TYPE, str(self.__display_item.uuid)) rgba_image_data = self.__thumbnail_source.thumbnail_data thumbnail = Image.get_rgba_data_from_rgba(Image.scaled(Image.get_rgba_view_from_rgba_data(rgba_image_data), (size.width, size.height))) if rgba_image_data is not None else None return True, thumbnail return False, None
def drag_started(self, ui: UserInterface.UserInterface, x: int, y: int, modifiers: UserInterface.KeyboardModifiers) -> typing.Tuple[typing.Optional[UserInterface.MimeData], typing.Optional[numpy.ndarray]]: if self.__display_item: mime_data = self.ui.create_mime_data() if self.__display_item: MimeTypes.mime_data_put_display_item(mime_data, self.__display_item) thumbnail_data = self.calculate_thumbnail_data() if thumbnail_data is not None: # scaling is very slow thumbnail_data = Image.get_rgba_data_from_rgba(Image.scaled(Image.get_rgba_view_from_rgba_data(thumbnail_data), Geometry.IntSize(w=80, h=80))) return mime_data, thumbnail_data return None, None
def populate_mime_data_for_drag(self, mime_data: UserInterface.MimeData, size: Geometry.IntSize): if self.__display_item: MimeTypes.mime_data_put_display_item(mime_data, self.__display_item) rgba_image_data = self.__thumbnail_source.thumbnail_data thumbnail = Image.get_rgba_data_from_rgba( Image.scaled( Image.get_rgba_view_from_rgba_data(rgba_image_data), (size.width, size.height))) if rgba_image_data is not None else None return True, thumbnail return False, None
def populate_mime_data_for_drag( self, mime_data: UserInterface.MimeData, size: Geometry.IntSize ) -> typing.Tuple[bool, typing.Optional[_NDArray]]: if self.__display_item: MimeTypes.mime_data_put_display_item(mime_data, self.__display_item) rgba_image_data = self.__thumbnail_source.thumbnail_data if self.__thumbnail_source else None thumbnail = Image.get_rgba_data_from_rgba( Image.scaled( Image.get_rgba_view_from_rgba_data(rgba_image_data), (80, 80))) if rgba_image_data is not None else None return True, thumbnail return False, None