()
| 2170 | } |
| 2171 | |
| 2172 | function nextFrame() { |
| 2173 | opt.onFrame && opt.onFrame(_frameNumber); |
| 2174 | |
| 2175 | if (pauseAt != null && _frameNumber === pauseAt) { |
| 2176 | setRunning(false); |
| 2177 | pauseAt = null; |
| 2178 | } |
| 2179 | infoEl.innerHTML = 'Frame: ' + _frameNumber + ' ( ' + (_running ? 'Running' : 'Paused') + ' )'; |
| 2180 | buttons[0].el.innerHTML = getRunBtnText(); |
| 2181 | |
| 2182 | _mounted = false; |
| 2183 | var pending = _pendingCbList; |
| 2184 | _pendingCbList = []; |
| 2185 | for (var i = 0; i < pending.length; i++) { |
| 2186 | pending[i](); |
| 2187 | } |
| 2188 | _frameNumber++; |
| 2189 | } |
| 2190 | |
| 2191 | function addOrRemoveMask(addOrRemove) { |
| 2192 | if (addOrRemove && !_mask) { |
no test coverage detected