!7 !include early #1033506 // Compact Module Include Gazelle V module GazelleScreenCam > DynEnabled { int screenNr; transient ImageSurface imageSurface; transient new ScreenCamStream images; transient new BWIntegralImageStream integralImages; start { images.directlyFeedInto(integralImages); integralImages.onNewElement(ii -> imageSurface?.setImage( posterizeBWImage_withMeta(8, scaledBWImageFromBWIntegralImage_withMeta(100, ii)))); // 20 Hz is enough for everyone dm_doEvery(1000/20.0, r { if (enabled) images.step(); }); } visual centerAndSouth( withMargin(jscroll(imageSurface = jImageSurface())), super); }