sclass ScreenCamStream { volatile Rect area = screenArea(); DoneFlag ended = new(true); public bool step() { if (ended.isDone()) false; catchError(ended, -> shootScreen(area)); true; } void useScreen(int iScreen) { area = screenBounds_safe(iScreen); } void end { ended.raise(); } }