pts 0.10.12 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/{pts.d.ts → index.d.ts} +1248 -1206
  2. package/dist/index.js +6825 -6660
  3. package/dist/index.mjs +6785 -0
  4. package/package.json +15 -33
  5. package/dist/es2015/Canvas.js +0 -684
  6. package/dist/es2015/Canvas.js.map +0 -1
  7. package/dist/es2015/Color.js +0 -337
  8. package/dist/es2015/Color.js.map +0 -1
  9. package/dist/es2015/Create.js +0 -275
  10. package/dist/es2015/Create.js.map +0 -1
  11. package/dist/es2015/Dom.js +0 -448
  12. package/dist/es2015/Dom.js.map +0 -1
  13. package/dist/es2015/Form.js +0 -80
  14. package/dist/es2015/Form.js.map +0 -1
  15. package/dist/es2015/Image.js +0 -220
  16. package/dist/es2015/Image.js.map +0 -1
  17. package/dist/es2015/LinearAlgebra.js +0 -286
  18. package/dist/es2015/LinearAlgebra.js.map +0 -1
  19. package/dist/es2015/Num.js +0 -477
  20. package/dist/es2015/Num.js.map +0 -1
  21. package/dist/es2015/Op.js +0 -978
  22. package/dist/es2015/Op.js.map +0 -1
  23. package/dist/es2015/Physics.js +0 -383
  24. package/dist/es2015/Physics.js.map +0 -1
  25. package/dist/es2015/Play.js +0 -339
  26. package/dist/es2015/Play.js.map +0 -1
  27. package/dist/es2015/Pt.js +0 -463
  28. package/dist/es2015/Pt.js.map +0 -1
  29. package/dist/es2015/Space.js +0 -331
  30. package/dist/es2015/Space.js.map +0 -1
  31. package/dist/es2015/Svg.js +0 -367
  32. package/dist/es2015/Svg.js.map +0 -1
  33. package/dist/es2015/Types.js +0 -3
  34. package/dist/es2015/Types.js.map +0 -1
  35. package/dist/es2015/Typography.js +0 -40
  36. package/dist/es2015/Typography.js.map +0 -1
  37. package/dist/es2015/UI.js +0 -273
  38. package/dist/es2015/UI.js.map +0 -1
  39. package/dist/es2015/Util.js +0 -200
  40. package/dist/es2015/Util.js.map +0 -1
  41. package/dist/es2015/_lib.js +0 -45
  42. package/dist/es2015/_lib.js.map +0 -1
  43. package/dist/es2015/_module.js +0 -18
  44. package/dist/es2015/_module.js.map +0 -1
  45. package/dist/es2015/uheprng.js +0 -69
  46. package/dist/es2015/uheprng.js.map +0 -1
  47. package/dist/index.js.map +0 -1
  48. package/webpack.es5.js +0 -82
@@ -1,448 +0,0 @@
1
- /*! Pts.js is licensed under Apache License 2.0. Copyright © 2017-current William Ngan and contributors. (https://github.com/williamngan/pts) */
2
- import { MultiTouchSpace } from './Space';
3
- import { VisualForm, Font } from "./Form";
4
- import { Util } from './Util';
5
- import { Pt, Bound } from './Pt';
6
- export class DOMSpace extends MultiTouchSpace {
7
- constructor(elem, callback) {
8
- super();
9
- this.id = "domspace";
10
- this._autoResize = true;
11
- this._bgcolor = "#e1e9f0";
12
- this._css = {};
13
- var _selector = null;
14
- var _existed = false;
15
- this.id = "pts";
16
- if (elem instanceof Element) {
17
- _selector = elem;
18
- this.id = "pts_existing_space";
19
- }
20
- else {
21
- _selector = document.querySelector(elem);
22
- _existed = true;
23
- this.id = elem.substr(1);
24
- }
25
- if (!_selector) {
26
- this._container = DOMSpace.createElement("div", "pts_container");
27
- this._canvas = DOMSpace.createElement("div", "pts_element");
28
- this._container.appendChild(this._canvas);
29
- document.body.appendChild(this._container);
30
- _existed = false;
31
- }
32
- else {
33
- this._canvas = _selector;
34
- this._container = _selector.parentElement;
35
- }
36
- setTimeout(this._ready.bind(this, callback), 50);
37
- }
38
- static createElement(elem = "div", id, appendTo) {
39
- let d = document.createElement(elem);
40
- if (id)
41
- d.setAttribute("id", id);
42
- if (appendTo && appendTo.appendChild)
43
- appendTo.appendChild(d);
44
- return d;
45
- }
46
- _ready(callback) {
47
- if (!this._container)
48
- throw new Error(`Cannot initiate #${this.id} element`);
49
- this._isReady = true;
50
- this._resizeHandler(null);
51
- this.clear(this._bgcolor);
52
- this._canvas.dispatchEvent(new Event("ready"));
53
- for (let k in this.players) {
54
- if (this.players.hasOwnProperty(k)) {
55
- if (this.players[k].start)
56
- this.players[k].start(this.bound.clone(), this);
57
- }
58
- }
59
- this._pointer = this.center;
60
- this.refresh(false);
61
- if (callback)
62
- callback(this.bound, this._canvas);
63
- }
64
- setup(opt) {
65
- if (opt.bgcolor) {
66
- this._bgcolor = opt.bgcolor;
67
- }
68
- this.autoResize = (opt.resize != undefined) ? opt.resize : false;
69
- return this;
70
- }
71
- getForm() {
72
- return null;
73
- }
74
- set autoResize(auto) {
75
- this._autoResize = auto;
76
- if (auto) {
77
- window.addEventListener('resize', this._resizeHandler.bind(this));
78
- }
79
- else {
80
- delete this._css['width'];
81
- delete this._css['height'];
82
- window.removeEventListener('resize', this._resizeHandler.bind(this));
83
- }
84
- }
85
- get autoResize() { return this._autoResize; }
86
- resize(b, evt) {
87
- this.bound = b;
88
- this.styles({ width: `${b.width}px`, height: `${b.height}px` }, true);
89
- for (let k in this.players) {
90
- if (this.players.hasOwnProperty(k)) {
91
- let p = this.players[k];
92
- if (p.resize)
93
- p.resize(this.bound, evt);
94
- }
95
- }
96
- return this;
97
- }
98
- _resizeHandler(evt) {
99
- let b = Bound.fromBoundingRect(this._container.getBoundingClientRect());
100
- if (this._autoResize) {
101
- this.styles({ width: "100%", height: "100%" }, true);
102
- }
103
- else {
104
- this.styles({ width: `${b.width}px`, height: `${b.height}px` }, true);
105
- }
106
- this.resize(b, evt);
107
- }
108
- get element() {
109
- return this._canvas;
110
- }
111
- get parent() {
112
- return this._container;
113
- }
114
- get ready() { return this._isReady; }
115
- clear(bg) {
116
- if (bg)
117
- this.background = bg;
118
- this._canvas.innerHTML = "";
119
- return this;
120
- }
121
- set background(bg) {
122
- this._bgcolor = bg;
123
- this._container.style.backgroundColor = this._bgcolor;
124
- }
125
- get background() { return this._bgcolor; }
126
- style(key, val, update = false) {
127
- this._css[key] = val;
128
- if (update)
129
- this._canvas.style[key] = val;
130
- return this;
131
- }
132
- styles(styles, update = false) {
133
- for (let k in styles) {
134
- if (styles.hasOwnProperty(k))
135
- this.style(k, styles[k], update);
136
- }
137
- return this;
138
- }
139
- static setAttr(elem, data) {
140
- for (let k in data) {
141
- if (data.hasOwnProperty(k)) {
142
- elem.setAttribute(k, data[k]);
143
- }
144
- }
145
- return elem;
146
- }
147
- static getInlineStyles(data) {
148
- let str = "";
149
- for (let k in data) {
150
- if (data.hasOwnProperty(k)) {
151
- if (data[k])
152
- str += `${k}: ${data[k]}; `;
153
- }
154
- }
155
- return str;
156
- }
157
- dispose() {
158
- window.removeEventListener('resize', this._resizeHandler.bind(this));
159
- this.stop();
160
- this.removeAll();
161
- return this;
162
- }
163
- }
164
- export class HTMLSpace extends DOMSpace {
165
- getForm() {
166
- return new HTMLForm(this);
167
- }
168
- static htmlElement(parent, name, id, autoClass = true) {
169
- if (!parent || !parent.appendChild)
170
- throw new Error("parent is not a valid DOM element");
171
- let elem = document.querySelector(`#${id}`);
172
- if (!elem) {
173
- elem = document.createElement(name);
174
- elem.setAttribute("id", id);
175
- if (autoClass)
176
- elem.setAttribute("class", id.substring(0, id.indexOf("-")));
177
- parent.appendChild(elem);
178
- }
179
- return elem;
180
- }
181
- remove(player) {
182
- let temp = this._container.querySelectorAll("." + HTMLForm.scopeID(player));
183
- temp.forEach((el) => {
184
- el.parentNode.removeChild(el);
185
- });
186
- return super.remove(player);
187
- }
188
- removeAll() {
189
- this._container.innerHTML = "";
190
- return super.removeAll();
191
- }
192
- }
193
- export class HTMLForm extends VisualForm {
194
- constructor(space) {
195
- super();
196
- this._style = {
197
- "filled": true,
198
- "stroked": true,
199
- "background": "#f03",
200
- "border-color": "#fff",
201
- "color": "#000",
202
- "border-width": "1px",
203
- "border-radius": "0",
204
- "border-style": "solid",
205
- "opacity": 1,
206
- "position": "absolute",
207
- "top": 0,
208
- "left": 0,
209
- "width": 0,
210
- "height": 0
211
- };
212
- this._ctx = {
213
- group: null,
214
- groupID: "pts",
215
- groupCount: 0,
216
- currentID: "pts0",
217
- currentClass: "",
218
- style: {},
219
- };
220
- this._ready = false;
221
- this._space = space;
222
- this._space.add({ start: () => {
223
- this._ctx.group = this._space.element;
224
- this._ctx.groupID = "pts_dom_" + (HTMLForm.groupID++);
225
- this._ctx.style = Object.assign({}, this._style);
226
- this._ready = true;
227
- } });
228
- }
229
- get space() { return this._space; }
230
- styleTo(k, v, unit = '') {
231
- if (this._ctx.style[k] === undefined)
232
- throw new Error(`${k} style property doesn't exist`);
233
- this._ctx.style[k] = `${v}${unit}`;
234
- }
235
- alpha(a) {
236
- this.styleTo("opacity", a);
237
- return this;
238
- }
239
- fill(c) {
240
- if (typeof c == "boolean") {
241
- this.styleTo("filled", c);
242
- if (!c)
243
- this.styleTo("background", "transparent");
244
- }
245
- else {
246
- this.styleTo("filled", true);
247
- this.styleTo("background", c);
248
- }
249
- return this;
250
- }
251
- stroke(c, width, linejoin, linecap) {
252
- if (typeof c == "boolean") {
253
- this.styleTo("stroked", c);
254
- if (!c)
255
- this.styleTo("border-width", 0);
256
- }
257
- else {
258
- this.styleTo("stroked", true);
259
- this.styleTo("border-color", c);
260
- this.styleTo("border-width", (width || 1) + "px");
261
- }
262
- return this;
263
- }
264
- fillText(c) {
265
- this.styleTo("color", c);
266
- return this;
267
- }
268
- cls(c) {
269
- if (typeof c == "boolean") {
270
- this._ctx.currentClass = "";
271
- }
272
- else {
273
- this._ctx.currentClass = c;
274
- }
275
- return this;
276
- }
277
- font(sizeOrFont, weight, style, lineHeight, family) {
278
- if (typeof sizeOrFont == "number") {
279
- this._font.size = sizeOrFont;
280
- if (family)
281
- this._font.face = family;
282
- if (weight)
283
- this._font.weight = weight;
284
- if (style)
285
- this._font.style = style;
286
- if (lineHeight)
287
- this._font.lineHeight = lineHeight;
288
- }
289
- else {
290
- this._font = sizeOrFont;
291
- }
292
- this._ctx.style['font'] = this._font.value;
293
- return this;
294
- }
295
- reset() {
296
- this._ctx.style = Object.assign({}, this._style);
297
- this._font = new Font(10, "sans-serif");
298
- this._ctx.style['font'] = this._font.value;
299
- return this;
300
- }
301
- updateScope(group_id, group) {
302
- this._ctx.group = group;
303
- this._ctx.groupID = group_id;
304
- this._ctx.groupCount = 0;
305
- this.nextID();
306
- return this._ctx;
307
- }
308
- scope(item) {
309
- if (!item || item.animateID == null)
310
- throw new Error("item not defined or not yet added to Space");
311
- return this.updateScope(HTMLForm.scopeID(item), this.space.element);
312
- }
313
- nextID() {
314
- this._ctx.groupCount++;
315
- this._ctx.currentID = `${this._ctx.groupID}-${this._ctx.groupCount}`;
316
- return this._ctx.currentID;
317
- }
318
- static getID(ctx) {
319
- return ctx.currentID || `p-${HTMLForm.domID++}`;
320
- }
321
- static scopeID(item) {
322
- return `item-${item.animateID}`;
323
- }
324
- static style(elem, styles) {
325
- let st = [];
326
- if (!styles["filled"])
327
- st.push("background: none");
328
- if (!styles["stroked"])
329
- st.push("border: none");
330
- for (let k in styles) {
331
- if (styles.hasOwnProperty(k) && k != "filled" && k != "stroked") {
332
- let v = styles[k];
333
- if (v) {
334
- if (!styles["filled"] && k.indexOf('background') === 0) {
335
- continue;
336
- }
337
- else if (!styles["stroked"] && k.indexOf('border-width') === 0) {
338
- continue;
339
- }
340
- else {
341
- st.push(`${k}: ${v}`);
342
- }
343
- }
344
- }
345
- }
346
- return HTMLSpace.setAttr(elem, { style: st.join(";") });
347
- }
348
- static rectStyle(ctx, pt, size) {
349
- ctx.style["left"] = pt[0] + "px";
350
- ctx.style["top"] = pt[1] + "px";
351
- ctx.style["width"] = size[0] + "px";
352
- ctx.style["height"] = size[1] + "px";
353
- return ctx;
354
- }
355
- static textStyle(ctx, pt) {
356
- ctx.style["left"] = pt[0] + "px";
357
- ctx.style["top"] = pt[1] + "px";
358
- return ctx;
359
- }
360
- static point(ctx, pt, radius = 5, shape = "square") {
361
- if (shape === "circle") {
362
- return HTMLForm.circle(ctx, pt, radius);
363
- }
364
- else {
365
- return HTMLForm.square(ctx, pt, radius);
366
- }
367
- }
368
- point(pt, radius = 5, shape = "square") {
369
- this.nextID();
370
- if (shape == "circle")
371
- this.styleTo("border-radius", "100%");
372
- HTMLForm.point(this._ctx, pt, radius, shape);
373
- return this;
374
- }
375
- static circle(ctx, pt, radius = 10) {
376
- let elem = HTMLSpace.htmlElement(ctx.group, "div", HTMLForm.getID(ctx));
377
- HTMLSpace.setAttr(elem, { class: `pts-form pts-circle ${ctx.currentClass}` });
378
- HTMLForm.rectStyle(ctx, new Pt(pt).$subtract(radius), new Pt(radius * 2, radius * 2));
379
- HTMLForm.style(elem, ctx.style);
380
- return elem;
381
- }
382
- circle(pts) {
383
- this.nextID();
384
- this.styleTo("border-radius", "100%");
385
- HTMLForm.circle(this._ctx, pts[0], pts[1][0]);
386
- return this;
387
- }
388
- static square(ctx, pt, halfsize) {
389
- let elem = HTMLSpace.htmlElement(ctx.group, "div", HTMLForm.getID(ctx));
390
- HTMLSpace.setAttr(elem, { class: `pts-form pts-square ${ctx.currentClass}` });
391
- HTMLForm.rectStyle(ctx, new Pt(pt).$subtract(halfsize), new Pt(halfsize * 2, halfsize * 2));
392
- HTMLForm.style(elem, ctx.style);
393
- return elem;
394
- }
395
- square(pt, halfsize) {
396
- this.nextID();
397
- HTMLForm.square(this._ctx, pt, halfsize);
398
- return this;
399
- }
400
- static rect(ctx, pts) {
401
- let p = Util.iterToArray(pts);
402
- if (!Util.arrayCheck(p))
403
- return;
404
- let elem = HTMLSpace.htmlElement(ctx.group, "div", HTMLForm.getID(ctx));
405
- HTMLSpace.setAttr(elem, { class: `pts-form pts-rect ${ctx.currentClass}` });
406
- HTMLForm.rectStyle(ctx, p[0], p[1]);
407
- HTMLForm.style(elem, ctx.style);
408
- return elem;
409
- }
410
- rect(pts) {
411
- this.nextID();
412
- this.styleTo("border-radius", "0");
413
- HTMLForm.rect(this._ctx, pts);
414
- return this;
415
- }
416
- static text(ctx, pt, txt) {
417
- let elem = HTMLSpace.htmlElement(ctx.group, "div", HTMLForm.getID(ctx));
418
- HTMLSpace.setAttr(elem, { class: `pts-form pts-text ${ctx.currentClass}` });
419
- elem.textContent = txt;
420
- HTMLForm.textStyle(ctx, pt);
421
- HTMLForm.style(elem, ctx.style);
422
- return elem;
423
- }
424
- text(pt, txt) {
425
- this.nextID();
426
- HTMLForm.text(this._ctx, pt, txt);
427
- return this;
428
- }
429
- log(txt) {
430
- this.fill("#000").stroke("#fff", 0.5).text([10, 14], txt);
431
- return this;
432
- }
433
- arc(pt, radius, startAngle, endAngle, cc) {
434
- Util.warn("arc is not implemented in HTMLForm");
435
- return this;
436
- }
437
- line(pts) {
438
- Util.warn("line is not implemented in HTMLForm");
439
- return this;
440
- }
441
- polygon(pts) {
442
- Util.warn("polygon is not implemented in HTMLForm");
443
- return this;
444
- }
445
- }
446
- HTMLForm.groupID = 0;
447
- HTMLForm.domID = 0;
448
- //# sourceMappingURL=Dom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dom.js","sourceRoot":"","sources":["../../src/Dom.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- /*! Pts.js is licensed under Apache License 2.0. Copyright © 2017-current William Ngan and contributors. (https://github.com/williamngan/pts) */
2
- export class Form {
3
- constructor() {
4
- this._ready = false;
5
- }
6
- get ready() { return this._ready; }
7
- }
8
- export class VisualForm extends Form {
9
- constructor() {
10
- super(...arguments);
11
- this._filled = true;
12
- this._stroked = true;
13
- this._font = new Font(14, "sans-serif");
14
- }
15
- get filled() { return this._filled; }
16
- set filled(b) { this._filled = b; }
17
- get stroked() { return this._stroked; }
18
- set stroked(b) { this._stroked = b; }
19
- get currentFont() { return this._font; }
20
- _multiple(groups, shape, ...rest) {
21
- if (!groups)
22
- return this;
23
- for (let i = 0, len = groups.length; i < len; i++) {
24
- this[shape](groups[i], ...rest);
25
- }
26
- return this;
27
- }
28
- alpha(a) {
29
- return this;
30
- }
31
- fill(c) {
32
- return this;
33
- }
34
- fillOnly(c) {
35
- this.stroke(false);
36
- return this.fill(c);
37
- }
38
- stroke(c, width, linejoin, linecap) {
39
- return this;
40
- }
41
- strokeOnly(c, width, linejoin, linecap) {
42
- this.fill(false);
43
- return this.stroke(c, width, linejoin, linecap);
44
- }
45
- points(pts, radius, shape) {
46
- if (!pts)
47
- return;
48
- for (let i = 0, len = pts.length; i < len; i++) {
49
- this.point(pts[i], radius, shape);
50
- }
51
- return this;
52
- }
53
- circles(groups) {
54
- return this._multiple(groups, "circle");
55
- }
56
- squares(groups) {
57
- return this._multiple(groups, "square");
58
- }
59
- lines(groups) {
60
- return this._multiple(groups, "line");
61
- }
62
- polygons(groups) {
63
- return this._multiple(groups, "polygon");
64
- }
65
- rects(groups) {
66
- return this._multiple(groups, "rect");
67
- }
68
- }
69
- export class Font {
70
- constructor(size = 12, face = "sans-serif", weight = "", style = "", lineHeight = 1.5) {
71
- this.size = size;
72
- this.face = face;
73
- this.style = style;
74
- this.weight = weight;
75
- this.lineHeight = lineHeight;
76
- }
77
- get value() { return `${this.style} ${this.weight} ${this.size}px/${this.lineHeight} ${this.face}`; }
78
- toString() { return this.value; }
79
- }
80
- //# sourceMappingURL=Form.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/Form.ts"],"names":[],"mappings":"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"}