!7 module Grayscale extends DynImageSurface { start { ownResource(onClipboardImage(voidfunc(final BufferedImage img) { temp enter(); thread { setImage(new BWImage(img)); } })); } BWImage getBWImage() { ret toBWImage(getImage()); } visualize { ret withCenteredButtons(super.visualize(), "Auto-contrast", rThread { setImage(bwAutoContrast(getBWImage())) }, "Contrast+", rThread { setImage(bwContrast(1.1, getBWImage())) } ); } }