1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.FrameContext = undefined;
|
7 |
|
8 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
9 |
|
10 | var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
11 |
|
12 | var _utils = require('../utils');
|
13 |
|
14 | var _scope = require('../scope');
|
15 |
|
16 | var _core = require('../core');
|
17 |
|
18 | var _defaults2 = require('./defaults');
|
19 |
|
20 | var _defaults = _interopRequireWildcard(_defaults2);
|
21 |
|
22 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
23 |
|
24 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
25 |
|
26 | function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
27 |
|
28 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
29 |
|
30 | var FrameContext = exports.FrameContext = function (_Component) {
|
31 | _inherits(FrameContext, _Component);
|
32 |
|
33 | _createClass(FrameContext, null, [{
|
34 | key: 'defaults',
|
35 | value: function defaults() {
|
36 | return _extends({}, _defaults);
|
37 | }
|
38 | }]);
|
39 |
|
40 | function FrameContext(ctx) {
|
41 | var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
42 |
|
43 | _classCallCheck(this, FrameContext);
|
44 |
|
45 | (0, _utils.assignDefaults)(initialState, FrameContext.defaults());
|
46 | return _possibleConstructorReturn(this, (FrameContext.__proto__ || Object.getPrototypeOf(FrameContext)).call(this, ctx, initialState, new _scope.ScopedContext(ctx, {
|
47 | // props
|
48 | regl: function regl() {
|
49 | return ctx ? ctx.regl : null;
|
50 | },
|
51 | gl: function gl() {
|
52 | return ctx ? ctx.gl : null;
|
53 | },
|
54 |
|
55 |
|
56 | // functions
|
57 | cancel: function cancel(_ref) {
|
58 | var frame = _ref.frame,
|
59 | frames = _ref.frames;
|
60 |
|
61 | return function () {
|
62 | if (frame) {
|
63 | frame.cancel();
|
64 | frames.splice(frames.indexOf(frame), 1);
|
65 | }
|
66 | };
|
67 | },
|
68 | clear: function clear(ctx, args) {
|
69 | return function (clear) {
|
70 | ctx.regl.clear(_extends({}, clear || (0, _utils.get)('clear', [args, initialState])));
|
71 | };
|
72 | },
|
73 | cancelAll: function cancelAll(_ref2) {
|
74 | var frames = _ref2.frames,
|
75 | frame = _ref2.frame,
|
76 | loop = _ref2.loop;
|
77 |
|
78 | return function () {
|
79 | if (frames) {
|
80 | var _iteratorNormalCompletion = true;
|
81 | var _didIteratorError = false;
|
82 | var _iteratorError = undefined;
|
83 |
|
84 | try {
|
85 | for (var _iterator = frames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
86 | var f = _step.value;
|
87 | f.cancel();
|
88 | }
|
89 | } catch (err) {
|
90 | _didIteratorError = true;
|
91 | _iteratorError = err;
|
92 | } finally {
|
93 | try {
|
94 | if (!_iteratorNormalCompletion && _iterator.return) {
|
95 | _iterator.return();
|
96 | }
|
97 | } finally {
|
98 | if (_didIteratorError) {
|
99 | throw _iteratorError;
|
100 | }
|
101 | }
|
102 | }
|
103 |
|
104 | frames.splice(0, frames.length);
|
105 | }
|
106 | if (loop) {
|
107 | loop.cancel();
|
108 | loop = null;
|
109 | }
|
110 | };
|
111 | }
|
112 | })));
|
113 | }
|
114 |
|
115 | return FrameContext;
|
116 | }(_core.Component);
|
117 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcmFtZS9jb250ZXh0LmpzIl0sIm5hbWVzIjpbImRlZmF1bHRzIiwiRnJhbWVDb250ZXh0IiwiY3R4IiwiaW5pdGlhbFN0YXRlIiwicmVnbCIsImdsIiwiY2FuY2VsIiwiZnJhbWUiLCJmcmFtZXMiLCJzcGxpY2UiLCJpbmRleE9mIiwiY2xlYXIiLCJhcmdzIiwiY2FuY2VsQWxsIiwibG9vcCIsImYiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0lBQVlBLFM7Ozs7Ozs7Ozs7SUFFQ0MsWSxXQUFBQSxZOzs7OzsrQkFDTztBQUFFLDBCQUFZRCxTQUFaO0FBQXdCOzs7QUFDNUMsd0JBQVlFLEdBQVosRUFBb0M7QUFBQSxRQUFuQkMsWUFBbUIsdUVBQUosRUFBSTs7QUFBQTs7QUFDbEMsK0JBQWVBLFlBQWYsRUFBNkJGLGFBQWFELFFBQWIsRUFBN0I7QUFEa0MsdUhBRTVCRSxHQUY0QixFQUV2QkMsWUFGdUIsRUFHaEMseUJBQWtCRCxHQUFsQixFQUF1QjtBQUNyQjtBQUNBRSxVQUZxQixrQkFFZDtBQUFFLGVBQU9GLE1BQU1BLElBQUlFLElBQVYsR0FBaUIsSUFBeEI7QUFBOEIsT0FGbEI7QUFHckJDLFFBSHFCLGdCQUdoQjtBQUFFLGVBQU9ILE1BQU1BLElBQUlHLEVBQVYsR0FBZSxJQUF0QjtBQUE0QixPQUhkOzs7QUFLckI7QUFDQUMsWUFOcUIsd0JBTUc7QUFBQSxZQUFoQkMsS0FBZ0IsUUFBaEJBLEtBQWdCO0FBQUEsWUFBVEMsTUFBUyxRQUFUQSxNQUFTOztBQUN0QixlQUFPLFlBQU07QUFDWCxjQUFJRCxLQUFKLEVBQVc7QUFDVEEsa0JBQU1ELE1BQU47QUFDQUUsbUJBQU9DLE1BQVAsQ0FBY0QsT0FBT0UsT0FBUCxDQUFlSCxLQUFmLENBQWQsRUFBcUMsQ0FBckM7QUFDRDtBQUNGLFNBTEQ7QUFNRCxPQWJvQjtBQWVyQkksV0FmcUIsaUJBZWZULEdBZmUsRUFlVlUsSUFmVSxFQWVKO0FBQ2YsZUFBTyxVQUFDRCxLQUFELEVBQVc7QUFDaEJULGNBQUlFLElBQUosQ0FBU08sS0FBVCxjQUNNQSxTQUFTLGdCQUFJLE9BQUosRUFBYSxDQUFDQyxJQUFELEVBQU9ULFlBQVAsQ0FBYixDQURmO0FBR0QsU0FKRDtBQUtELE9BckJvQjtBQXVCckJVLGVBdkJxQiw0QkF1Qlk7QUFBQSxZQUF0QkwsTUFBc0IsU0FBdEJBLE1BQXNCO0FBQUEsWUFBZEQsS0FBYyxTQUFkQSxLQUFjO0FBQUEsWUFBUE8sSUFBTyxTQUFQQSxJQUFPOztBQUMvQixlQUFPLFlBQU07QUFDWCxjQUFJTixNQUFKLEVBQVk7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFDVixtQ0FBZ0JBLE1BQWhCLDhIQUF3QjtBQUFBLG9CQUFiTyxDQUFhO0FBQUVBLGtCQUFFVCxNQUFGO0FBQVk7QUFENUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFVkUsbUJBQU9DLE1BQVAsQ0FBYyxDQUFkLEVBQWlCRCxPQUFPUSxNQUF4QjtBQUNEO0FBQ0QsY0FBSUYsSUFBSixFQUFVO0FBQ1JBLGlCQUFLUixNQUFMO0FBQ0FRLG1CQUFPLElBQVA7QUFDRDtBQUNGLFNBVEQ7QUFVRDtBQWxDb0IsS0FBdkIsQ0FIZ0M7QUF3Q25DIiwiZmlsZSI6ImNvbnRleHQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NpZ25EZWZhdWx0cywgZ2V0IH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBTY29wZWRDb250ZXh0IH0gZnJvbSAnLi4vc2NvcGUnXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlJ1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cydcblxuZXhwb3J0IGNsYXNzIEZyYW1lQ29udGV4dCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0cygpIHsgcmV0dXJuIHsgLi4uZGVmYXVsdHMgfSB9XG4gIGNvbnN0cnVjdG9yKGN0eCwgaW5pdGlhbFN0YXRlID0ge30pIHtcbiAgICBhc3NpZ25EZWZhdWx0cyhpbml0aWFsU3RhdGUsIEZyYW1lQ29udGV4dC5kZWZhdWx0cygpKVxuICAgIHN1cGVyKGN0eCwgaW5pdGlhbFN0YXRlLFxuICAgICAgbmV3IFNjb3BlZENvbnRleHQoY3R4LCB7XG4gICAgICAgIC8vIHByb3BzXG4gICAgICAgIHJlZ2woKSB7IHJldHVybiBjdHggPyBjdHgucmVnbCA6IG51bGwgfSxcbiAgICAgICAgZ2woKSB7IHJldHVybiBjdHggPyBjdHguZ2wgOiBudWxsIH0sXG5cbiAgICAgICAgLy8gZnVuY3Rpb25zXG4gICAgICAgIGNhbmNlbCh7ZnJhbWUsIGZyYW1lc30pIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZyYW1lKSB7XG4gICAgICAgICAgICAgIGZyYW1lLmNhbmNlbCgpXG4gICAgICAgICAgICAgIGZyYW1lcy5zcGxpY2UoZnJhbWVzLmluZGV4T2YoZnJhbWUpLCAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICBjbGVhcihjdHgsIGFyZ3MpIHtcbiAgICAgICAgICByZXR1cm4gKGNsZWFyKSA9PiB7XG4gICAgICAgICAgICBjdHgucmVnbC5jbGVhcih7XG4gICAgICAgICAgICAgIC4uLihjbGVhciB8fCBnZXQoJ2NsZWFyJywgW2FyZ3MsIGluaXRpYWxTdGF0ZV0pKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2FuY2VsQWxsKHtmcmFtZXMsIGZyYW1lLCBsb29wfSkge1xuICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZnJhbWVzKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgZiBvZiBmcmFtZXMpIHsgZi5jYW5jZWwoKSB9XG4gICAgICAgICAgICAgIGZyYW1lcy5zcGxpY2UoMCwgZnJhbWVzLmxlbmd0aClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsb29wKSB7XG4gICAgICAgICAgICAgIGxvb3AuY2FuY2VsKClcbiAgICAgICAgICAgICAgbG9vcCA9IG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG59XG5cbiJdfQ== |
\ | No newline at end of file |