!7 static ScreenLens lens; static JTextArea taResult; static new SingleThread singleThread; static long time; p-substance { lens = new ScreenLens().start(); taResult = jTextArea(); addToWindow(lens.is, withTopMargin(jMinHeight(100, wrap(taResult)))); lens.onImageChange = r { //if (time != 0) print((sysNow()-time) + " ms"); //time = sysNow(); singleThread.run(r { setText(taResult, analyze(lens.is.getImage())) }); }; } static S analyze(BufferedImage img) { //RGBImage rgb = new RGBImage(img); BWImage bw = new BWImage(img); ret "Color at pointer: " + colorAtMousePointer() + "\nBrightness: " + bw.averageBrightness(); }