!7 module OCR { transient ImageSurface is; start { setMainDesktopPane(null); // separate frames is less confusing } visual withCenteredButtons( jscroll(is = imageSurfaceWithStandardOperations()), "Invert", rThread { invertImageSurface(is) }, "Recognize", rThread recognize); void recognize { new OCRRecognizeAndTeach(is.getImage()); } // API SimpleRecognizer recognizer() enter { ret filledSimpleRecognizer_cached(); } }