def __init__(self, context): self.overlays = {} self.defaults = {} for name, system in get_system_items(context): if "grid/overlay" in system.images: path = system.images["grid/overlay"] try: self.overlays[name] = load_image(path) except ImageLoadError as e: Logger("emulator").error(str(e)) if "grid/rom-default" in system.images: self.defaults[name] = system.images["grid/rom-default"] def get_image_path(rom): if "images" in rom and "grid" in rom["images"]: return rom["images"]["grid"] return self.defaults.get(rom["system"], None) def post_process(image, rom): if not rom["system"] in self.overlays: return image image = image.copy() overlay = self.overlays[rom["system"]].copy() overlay = scale(overlay, image.get_size(), False) image.blit(overlay, (0, 0)) return image super().__init__(context, "emulator", get_image_path, post_process)
def callback(result, song): if "filename" in result and self.status.current == song: image = load_image(result["filename"]) self._update_background_image(image, song) image_holder = self.dialog.get_widget("image") image_holder.set(image)