@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.
- package/dist/phaser.cjs.LICENSE.txt +1 -1
- package/dist/phaser.js.LICENSE.txt +1 -1
- package/package.json +2 -3
- package/src/index.js +99 -0
- package/src/phaser/core/animation.js +355 -0
- package/src/phaser/core/animation_manager.js +238 -0
- package/src/phaser/core/animation_parser.js +130 -0
- package/src/phaser/core/array_set.js +108 -0
- package/src/phaser/core/cache.js +558 -0
- package/src/phaser/core/const.js +106 -0
- package/src/phaser/core/device.js +67 -0
- package/src/phaser/core/device_util.js +386 -0
- package/src/phaser/core/dom.js +207 -0
- package/src/phaser/core/event_manager.js +243 -0
- package/src/phaser/core/factory.js +74 -0
- package/src/phaser/core/frame.js +75 -0
- package/src/phaser/core/frame_data.js +84 -0
- package/src/phaser/core/frame_util.js +31 -0
- package/src/phaser/core/game.js +412 -0
- package/src/phaser/core/input.js +401 -0
- package/src/phaser/core/input_button.js +102 -0
- package/src/phaser/core/input_handler.js +687 -0
- package/src/phaser/core/input_mouse.js +289 -0
- package/src/phaser/core/input_mspointer.js +197 -0
- package/src/phaser/core/input_pointer.js +427 -0
- package/src/phaser/core/input_touch.js +157 -0
- package/src/phaser/core/loader.js +946 -0
- package/src/phaser/core/loader_parser.js +105 -0
- package/src/phaser/core/raf.js +46 -0
- package/src/phaser/core/raf_fb.js +75 -0
- package/src/phaser/core/raf_to.js +34 -0
- package/src/phaser/core/scale_manager.js +806 -0
- package/src/phaser/core/scene.js +66 -0
- package/src/phaser/core/scene_manager.js +310 -0
- package/src/phaser/core/signal.js +175 -0
- package/src/phaser/core/signal_binding.js +69 -0
- package/src/phaser/core/sound.js +538 -0
- package/src/phaser/core/sound_manager.js +365 -0
- package/src/phaser/core/stage.js +108 -0
- package/src/phaser/core/time.js +203 -0
- package/src/phaser/core/timer.js +276 -0
- package/src/phaser/core/timer_event.js +21 -0
- package/src/phaser/core/tween.js +329 -0
- package/src/phaser/core/tween_data.js +258 -0
- package/src/phaser/core/tween_easing.js +316 -0
- package/src/phaser/core/tween_manager.js +185 -0
- package/src/phaser/core/world.js +18 -0
- package/src/phaser/display/bitmap_text.js +322 -0
- package/src/phaser/display/button.js +194 -0
- package/src/phaser/display/canvas/buffer.js +36 -0
- package/src/phaser/display/canvas/graphics.js +227 -0
- package/src/phaser/display/canvas/masker.js +39 -0
- package/src/phaser/display/canvas/pool.js +121 -0
- package/src/phaser/display/canvas/renderer.js +123 -0
- package/src/phaser/display/canvas/tinter.js +141 -0
- package/src/phaser/display/canvas/util.js +151 -0
- package/src/phaser/display/display_object.js +597 -0
- package/src/phaser/display/graphics.js +723 -0
- package/src/phaser/display/graphics_data.js +27 -0
- package/src/phaser/display/graphics_data_util.js +14 -0
- package/src/phaser/display/group.js +227 -0
- package/src/phaser/display/image.js +288 -0
- package/src/phaser/display/sprite_batch.js +15 -0
- package/src/phaser/display/sprite_util.js +248 -0
- package/src/phaser/display/text.js +1089 -0
- package/src/phaser/display/webgl/abstract_filter.js +25 -0
- package/src/phaser/display/webgl/base_texture.js +68 -0
- package/src/phaser/display/webgl/blend_manager.js +35 -0
- package/src/phaser/display/webgl/earcut.js +647 -0
- package/src/phaser/display/webgl/earcut_node.js +28 -0
- package/src/phaser/display/webgl/fast_sprite_batch.js +242 -0
- package/src/phaser/display/webgl/filter_manager.js +46 -0
- package/src/phaser/display/webgl/filter_texture.js +61 -0
- package/src/phaser/display/webgl/graphics.js +618 -0
- package/src/phaser/display/webgl/graphics_data.js +42 -0
- package/src/phaser/display/webgl/mask_manager.js +36 -0
- package/src/phaser/display/webgl/render_texture.js +81 -0
- package/src/phaser/display/webgl/renderer.js +234 -0
- package/src/phaser/display/webgl/shader/complex.js +74 -0
- package/src/phaser/display/webgl/shader/fast.js +97 -0
- package/src/phaser/display/webgl/shader/normal.js +225 -0
- package/src/phaser/display/webgl/shader/primitive.js +72 -0
- package/src/phaser/display/webgl/shader/strip.js +77 -0
- package/src/phaser/display/webgl/shader_manager.js +89 -0
- package/src/phaser/display/webgl/sprite_batch.js +320 -0
- package/src/phaser/display/webgl/stencil_manager.js +170 -0
- package/src/phaser/display/webgl/texture.js +117 -0
- package/src/phaser/display/webgl/texture_util.js +32 -0
- package/src/phaser/display/webgl/util.js +74 -0
- package/src/phaser/geom/circle.js +186 -0
- package/src/phaser/geom/ellipse.js +65 -0
- package/src/phaser/geom/line.js +190 -0
- package/src/phaser/geom/matrix.js +147 -0
- package/src/phaser/geom/point.js +164 -0
- package/src/phaser/geom/polygon.js +141 -0
- package/src/phaser/geom/rectangle.js +306 -0
- package/src/phaser/geom/rounded_rectangle.js +36 -0
- package/src/phaser/geom/util/circle.js +115 -0
- package/src/phaser/geom/util/ellipse.js +30 -0
- package/src/phaser/geom/util/line.js +130 -0
- package/src/phaser/geom/util/matrix.js +48 -0
- package/src/phaser/geom/util/point.js +276 -0
- package/src/phaser/geom/util/polygon.js +24 -0
- package/src/phaser/geom/util/rectangle.js +212 -0
- package/src/phaser/geom/util/rounded_rectangle.js +28 -0
- package/src/phaser/util/math.js +279 -0
- 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
|
+
}
|