@vpmedia/phaser 1.0.1 → 1.0.3

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 (112) hide show
  1. package/README.md +20 -3
  2. package/dist/phaser.cjs +1 -1
  3. package/dist/phaser.cjs.LICENSE.txt +1 -1
  4. package/dist/phaser.cjs.map +1 -1
  5. package/dist/phaser.js +1 -1
  6. package/dist/phaser.js.LICENSE.txt +1 -1
  7. package/dist/phaser.js.map +1 -1
  8. package/package.json +23 -17
  9. package/src/index.js +142 -0
  10. package/src/phaser/core/animation.js +355 -0
  11. package/src/phaser/core/animation_manager.js +238 -0
  12. package/src/phaser/core/animation_parser.js +133 -0
  13. package/src/phaser/core/array_set.js +107 -0
  14. package/src/phaser/core/cache.js +558 -0
  15. package/src/phaser/core/const.js +106 -0
  16. package/src/phaser/core/device.js +67 -0
  17. package/src/phaser/core/device_util.js +388 -0
  18. package/src/phaser/core/dom.js +207 -0
  19. package/src/phaser/core/event_manager.js +243 -0
  20. package/src/phaser/core/factory.js +74 -0
  21. package/src/phaser/core/frame.js +75 -0
  22. package/src/phaser/core/frame_data.js +84 -0
  23. package/src/phaser/core/frame_util.js +33 -0
  24. package/src/phaser/core/game.js +412 -0
  25. package/src/phaser/core/input.js +401 -0
  26. package/src/phaser/core/input_button.js +102 -0
  27. package/src/phaser/core/input_handler.js +687 -0
  28. package/src/phaser/core/input_mouse.js +289 -0
  29. package/src/phaser/core/input_mspointer.js +197 -0
  30. package/src/phaser/core/input_pointer.js +427 -0
  31. package/src/phaser/core/input_touch.js +157 -0
  32. package/src/phaser/core/loader.js +1057 -0
  33. package/src/phaser/core/loader_parser.js +109 -0
  34. package/src/phaser/core/raf.js +46 -0
  35. package/src/phaser/core/raf_fb.js +75 -0
  36. package/src/phaser/core/raf_to.js +34 -0
  37. package/src/phaser/core/scale_manager.js +806 -0
  38. package/src/phaser/core/scene.js +65 -0
  39. package/src/phaser/core/scene_manager.js +309 -0
  40. package/src/phaser/core/signal.js +175 -0
  41. package/src/phaser/core/signal_binding.js +69 -0
  42. package/src/phaser/core/sound.js +538 -0
  43. package/src/phaser/core/sound_manager.js +364 -0
  44. package/src/phaser/core/stage.js +108 -0
  45. package/src/phaser/core/time.js +203 -0
  46. package/src/phaser/core/timer.js +276 -0
  47. package/src/phaser/core/timer_event.js +21 -0
  48. package/src/phaser/core/tween.js +329 -0
  49. package/src/phaser/core/tween_data.js +258 -0
  50. package/src/phaser/core/tween_easing.js +341 -0
  51. package/src/phaser/core/tween_manager.js +185 -0
  52. package/src/phaser/core/world.js +18 -0
  53. package/src/phaser/display/bitmap_text.js +322 -0
  54. package/src/phaser/display/button.js +194 -0
  55. package/src/phaser/display/canvas/buffer.js +36 -0
  56. package/src/phaser/display/canvas/graphics.js +227 -0
  57. package/src/phaser/display/canvas/masker.js +39 -0
  58. package/src/phaser/display/canvas/pool.js +126 -0
  59. package/src/phaser/display/canvas/renderer.js +123 -0
  60. package/src/phaser/display/canvas/tinter.js +144 -0
  61. package/src/phaser/display/canvas/util.js +159 -0
  62. package/src/phaser/display/display_object.js +597 -0
  63. package/src/phaser/display/graphics.js +723 -0
  64. package/src/phaser/display/graphics_data.js +27 -0
  65. package/src/phaser/display/graphics_data_util.js +15 -0
  66. package/src/phaser/display/group.js +227 -0
  67. package/src/phaser/display/image.js +288 -0
  68. package/src/phaser/display/sprite_batch.js +15 -0
  69. package/src/phaser/display/sprite_util.js +250 -0
  70. package/src/phaser/display/text.js +1089 -0
  71. package/src/phaser/display/webgl/abstract_filter.js +25 -0
  72. package/src/phaser/display/webgl/base_texture.js +68 -0
  73. package/src/phaser/display/webgl/blend_manager.js +35 -0
  74. package/src/phaser/display/webgl/earcut.js +662 -0
  75. package/src/phaser/display/webgl/earcut_node.js +28 -0
  76. package/src/phaser/display/webgl/fast_sprite_batch.js +242 -0
  77. package/src/phaser/display/webgl/filter_manager.js +46 -0
  78. package/src/phaser/display/webgl/filter_texture.js +61 -0
  79. package/src/phaser/display/webgl/graphics.js +624 -0
  80. package/src/phaser/display/webgl/graphics_data.js +42 -0
  81. package/src/phaser/display/webgl/mask_manager.js +36 -0
  82. package/src/phaser/display/webgl/render_texture.js +81 -0
  83. package/src/phaser/display/webgl/renderer.js +234 -0
  84. package/src/phaser/display/webgl/shader/complex.js +74 -0
  85. package/src/phaser/display/webgl/shader/fast.js +97 -0
  86. package/src/phaser/display/webgl/shader/normal.js +225 -0
  87. package/src/phaser/display/webgl/shader/primitive.js +72 -0
  88. package/src/phaser/display/webgl/shader/strip.js +77 -0
  89. package/src/phaser/display/webgl/shader_manager.js +89 -0
  90. package/src/phaser/display/webgl/sprite_batch.js +320 -0
  91. package/src/phaser/display/webgl/stencil_manager.js +170 -0
  92. package/src/phaser/display/webgl/texture.js +117 -0
  93. package/src/phaser/display/webgl/texture_util.js +34 -0
  94. package/src/phaser/display/webgl/util.js +78 -0
  95. package/src/phaser/geom/circle.js +186 -0
  96. package/src/phaser/geom/ellipse.js +65 -0
  97. package/src/phaser/geom/line.js +190 -0
  98. package/src/phaser/geom/matrix.js +147 -0
  99. package/src/phaser/geom/point.js +164 -0
  100. package/src/phaser/geom/polygon.js +140 -0
  101. package/src/phaser/geom/rectangle.js +306 -0
  102. package/src/phaser/geom/rounded_rectangle.js +36 -0
  103. package/src/phaser/geom/util/circle.js +122 -0
  104. package/src/phaser/geom/util/ellipse.js +34 -0
  105. package/src/phaser/geom/util/line.js +135 -0
  106. package/src/phaser/geom/util/matrix.js +53 -0
  107. package/src/phaser/geom/util/point.js +296 -0
  108. package/src/phaser/geom/util/polygon.js +28 -0
  109. package/src/phaser/geom/util/rectangle.js +229 -0
  110. package/src/phaser/geom/util/rounded_rectangle.js +32 -0
  111. package/src/phaser/util/math.js +297 -0
  112. package/src/phaser/util/string.js +32 -0
@@ -0,0 +1,159 @@
1
+ /**
2
+ * @author Andras Csizmadia <andras@vpmedia.hu>
3
+ * @author Richard Davey <rich@photonstorm.com>
4
+ * @author Mat Groves http://matgroves.com/ @Doormat23
5
+ * @copyright Copyright (c) 2018-present Richard Davey, Photon Storm Ltd., Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)
6
+ */
7
+ import { create as createCanvas } from './pool';
8
+
9
+ /**
10
+ *
11
+ * @param {object} parent TBD
12
+ * @param {number} width TBD
13
+ * @param {number} height TBD
14
+ * @param {string} id TBD
15
+ * @param {boolean} skipPool TBD
16
+ * @returns {object} TBD
17
+ */
18
+ export function create(parent, width, height, id, skipPool) {
19
+ width = width || 256;
20
+ height = height || 256;
21
+ const canvas = (skipPool) ? document.createElement('canvas') : createCanvas(parent, width, height);
22
+ if (typeof id === 'string' && id !== '') {
23
+ canvas.id = id;
24
+ }
25
+ canvas.width = width;
26
+ canvas.height = height;
27
+ canvas.style.display = 'block';
28
+ return canvas;
29
+ }
30
+
31
+ /**
32
+ *
33
+ * @param {object} canvas TBD
34
+ * @param {string} color TBD
35
+ * @returns {object} TBD
36
+ */
37
+ export function setBackgroundColor(canvas, color) {
38
+ color = color || 'rgb(0,0,0)';
39
+ canvas.style.backgroundColor = color;
40
+ return canvas;
41
+ }
42
+
43
+ /**
44
+ *
45
+ * @param {object} canvas TBD
46
+ * @param {string} value TBD
47
+ * @returns {object} TBD
48
+ */
49
+ export function setTouchAction(canvas, value) {
50
+ value = value || 'none';
51
+ canvas.style.msTouchAction = value;
52
+ canvas.style['ms-touch-action'] = value;
53
+ canvas.style['touch-action'] = value;
54
+ return canvas;
55
+ }
56
+
57
+ /**
58
+ *
59
+ * @param {object} canvas TBD
60
+ * @param {string} value TBD
61
+ * @returns {object} TBD
62
+ */
63
+ export function setUserSelect(canvas, value) {
64
+ value = value || 'none';
65
+ canvas.style['-webkit-touch-callout'] = value;
66
+ canvas.style['-webkit-user-select'] = value;
67
+ canvas.style['-khtml-user-select'] = value;
68
+ canvas.style['-moz-user-select'] = value;
69
+ canvas.style['-ms-user-select'] = value;
70
+ canvas.style['user-select'] = value;
71
+ canvas.style['-webkit-tap-highlight-color'] = 'rgba(0, 0, 0, 0)';
72
+ return canvas;
73
+ }
74
+
75
+ /**
76
+ *
77
+ * @param {object} canvas TBD
78
+ * @param {object} parent TBD
79
+ * @param {boolean} overflowHidden TBD
80
+ * @returns {object} TBD
81
+ */
82
+ export function addToDOM(canvas, parent, overflowHidden = true) {
83
+ let target;
84
+ if (parent) {
85
+ if (typeof parent === 'string') {
86
+ // hopefully an element ID
87
+ target = document.getElementById(parent);
88
+ } else if (typeof parent === 'object' && parent.nodeType === 1) {
89
+ // quick test for a HTMLelement
90
+ target = parent;
91
+ }
92
+ }
93
+ // Fallback, covers an invalid ID and a non HTMLelement object
94
+ if (!target) {
95
+ target = document.body;
96
+ }
97
+ if (overflowHidden && target.style) {
98
+ target.style.overflow = 'hidden';
99
+ }
100
+ target.appendChild(canvas);
101
+ return canvas;
102
+ }
103
+
104
+ /**
105
+ *
106
+ * @param {object} canvas TBD
107
+ */
108
+ export function removeFromDOM(canvas) {
109
+ if (canvas.parentNode) {
110
+ canvas.parentNode.removeChild(canvas);
111
+ }
112
+ }
113
+
114
+ /**
115
+ *
116
+ * @param {object} context TBD
117
+ * @param {number} translateX TBD
118
+ * @param {number} translateY TBD
119
+ * @param {number} scaleX TBD
120
+ * @param {number} scaleY TBD
121
+ * @param {number} skewX TBD
122
+ * @param {number} skewY TBD
123
+ * @returns {object} TBD
124
+ */
125
+ export function setTransform(context, translateX, translateY, scaleX, scaleY, skewX, skewY) {
126
+ context.setTransform(scaleX, skewX, skewY, scaleY, translateX, translateY);
127
+ return context;
128
+ }
129
+
130
+ /**
131
+ *
132
+ * @param {object} context TBD
133
+ * @returns {object} TBD
134
+ */
135
+ export function getSmoothingPrefix(context) {
136
+ const VENDORS = ['i', 'webkitI', 'msI', 'mozI', 'oI'];
137
+ for (let i = 0; i < VENDORS.length; i += 1) {
138
+ const prefix = VENDORS[i];
139
+ const s = VENDORS[prefix] + 'mageSmoothingEnabled';
140
+ if (context && context[s]) {
141
+ return s;
142
+ }
143
+ }
144
+ return null;
145
+ }
146
+
147
+ /**
148
+ *
149
+ * @param {object} context TBD
150
+ * @param {number} value TBD
151
+ * @returns {object} TBD
152
+ */
153
+ export function setSmoothingEnabled(context, value) {
154
+ const s = getSmoothingPrefix(context);
155
+ if (s) {
156
+ context[s] = value;
157
+ }
158
+ return context;
159
+ }