@vpmedia/phaser 1.0.1 → 1.0.2

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