sclass ScreenCamStream extends SourceTriggeredStream is Steppable { settable volatile Rect area = screenBounds(0); public bool step() { if (ended()) false; catchError(lambda0 shootImpl); true; } long frameCount() { ret elementCount(); } void shootImpl { var img = shootScreenWithMeta(area).image; assertInstanceOf(ScreenShotMeta, getMetaSrc(img)); newElement(img); } void useScreen(int iScreen) { area = screenBounds_safe(iScreen); } }