abstract sclass DynImageSurface extends DynModule { transient ImageSurface imageSurface; transient BufferedImage image; visualize { ret jscroll_center(imageSurface = imageSurface(image)); } // hold image during reload (not during reboot yet) O _getReloadData() { ret image; } void _setReloadData(BufferedImage image) { this.image = image; } // API void setImage(MakesBufferedImage image) { setImage(image == null ? null : image.getBufferedImage()); } void setImage(BufferedImage image) { this.image = image; if (imageSurface != null) imageSurface.setImage(image); } BufferedImage getImage() { ret image; } bool hasImage() { ret image != null; } }