melonjs 15.3.0 → 15.4.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 (287) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  5. package/dist/melonjs.mjs/application/application.js +53 -5
  6. package/dist/melonjs.mjs/application/header.js +2 -2
  7. package/dist/melonjs.mjs/application/resize.js +4 -8
  8. package/dist/melonjs.mjs/application/settings.js +5 -5
  9. package/dist/melonjs.mjs/audio/audio.js +4 -6
  10. package/dist/melonjs.mjs/camera/camera2d.js +12 -14
  11. package/dist/melonjs.mjs/const.js +1 -1
  12. package/dist/melonjs.mjs/entity/entity.js +3 -4
  13. package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
  14. package/dist/melonjs.mjs/geometries/line.js +18 -25
  15. package/dist/melonjs.mjs/geometries/path2d.js +16 -13
  16. package/dist/melonjs.mjs/geometries/point.js +8 -16
  17. package/dist/melonjs.mjs/geometries/poly.js +40 -97
  18. package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
  19. package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
  20. package/dist/melonjs.mjs/index.js +6 -6
  21. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  22. package/dist/melonjs.mjs/input/input.js +1 -1
  23. package/dist/melonjs.mjs/input/keyboard.js +3 -3
  24. package/dist/melonjs.mjs/input/pointer.js +4 -4
  25. package/dist/melonjs.mjs/input/pointerevent.js +6 -7
  26. package/dist/melonjs.mjs/lang/console.js +1 -1
  27. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  28. package/dist/melonjs.mjs/level/level.js +1 -1
  29. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +16 -33
  31. package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
  32. package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
  33. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
  34. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
  35. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  36. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +26 -29
  37. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  44. package/dist/melonjs.mjs/loader/cache.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +1 -1
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/loader/parser.js +4 -5
  49. package/dist/melonjs.mjs/loader/settings.js +1 -1
  50. package/dist/melonjs.mjs/math/color.js +2 -2
  51. package/dist/melonjs.mjs/math/math.js +1 -1
  52. package/dist/melonjs.mjs/math/matrix2.js +5 -59
  53. package/dist/melonjs.mjs/math/matrix3.js +82 -141
  54. package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
  55. package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
  56. package/dist/melonjs.mjs/math/vector2.js +7 -91
  57. package/dist/melonjs.mjs/math/vector3.js +6 -90
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  65. package/dist/melonjs.mjs/particles/particle.js +2 -2
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +22 -20
  68. package/dist/melonjs.mjs/physics/bounds.js +27 -33
  69. package/dist/melonjs.mjs/physics/collision.js +5 -5
  70. package/dist/melonjs.mjs/physics/detector.js +10 -10
  71. package/dist/melonjs.mjs/physics/quadtree.js +5 -5
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +3 -4
  74. package/dist/melonjs.mjs/physics/world.js +6 -9
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
  78. package/dist/melonjs.mjs/renderable/container.js +25 -25
  79. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  80. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  81. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
  82. package/dist/melonjs.mjs/renderable/light2d.js +3 -3
  83. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  84. package/dist/melonjs.mjs/renderable/renderable.js +26 -26
  85. package/dist/melonjs.mjs/renderable/sprite.js +3 -3
  86. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
  87. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
  88. package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
  89. package/dist/melonjs.mjs/renderable/text/text.js +422 -0
  90. package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
  91. package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
  92. package/dist/melonjs.mjs/renderable/trigger.js +10 -10
  93. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
  94. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
  95. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
  96. package/dist/melonjs.mjs/state/stage.js +2 -2
  97. package/dist/melonjs.mjs/state/state.js +1 -38
  98. package/dist/melonjs.mjs/system/device.js +49 -10
  99. package/dist/melonjs.mjs/system/dom.js +1 -1
  100. package/dist/melonjs.mjs/system/event.js +24 -2
  101. package/dist/melonjs.mjs/system/platform.js +18 -18
  102. package/dist/melonjs.mjs/system/pooling.js +10 -10
  103. package/dist/melonjs.mjs/system/save.js +1 -1
  104. package/dist/melonjs.mjs/system/timer.js +1 -1
  105. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
  107. package/dist/melonjs.mjs/text/glyph.js +1 -1
  108. package/dist/melonjs.mjs/text/text.js +1 -1
  109. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  110. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  111. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  112. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  113. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  114. package/dist/melonjs.mjs/utils/agent.js +1 -1
  115. package/dist/melonjs.mjs/utils/array.js +1 -1
  116. package/dist/melonjs.mjs/utils/file.js +1 -1
  117. package/dist/melonjs.mjs/utils/function.js +2 -3
  118. package/dist/melonjs.mjs/utils/string.js +1 -1
  119. package/dist/melonjs.mjs/utils/utils.js +1 -1
  120. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +3 -7
  121. package/dist/melonjs.mjs/video/renderer.js +16 -16
  122. package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
  123. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  124. package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
  125. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  126. package/dist/melonjs.mjs/video/video.js +4 -4
  127. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  128. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
  129. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  130. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
  131. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
  138. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  139. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +50 -52
  142. package/dist/melonjs.module.js +1137 -1576
  143. package/dist/types/application/application.d.ts +28 -4
  144. package/dist/types/application/header.d.ts +2 -2
  145. package/dist/types/application/settings.d.ts +23 -23
  146. package/dist/types/audio/audio.d.ts +3 -5
  147. package/dist/types/camera/camera2d.d.ts +13 -16
  148. package/dist/types/entity/entity.d.ts +0 -1
  149. package/dist/types/geometries/ellipse.d.ts +18 -50
  150. package/dist/types/geometries/path2d.d.ts +1 -1
  151. package/dist/types/geometries/point.d.ts +5 -13
  152. package/dist/types/geometries/poly.d.ts +26 -75
  153. package/dist/types/geometries/rectangle.d.ts +12 -58
  154. package/dist/types/geometries/roundrect.d.ts +2 -11
  155. package/dist/types/index.d.ts +3 -3
  156. package/dist/types/input/gamepad.d.ts +31 -31
  157. package/dist/types/input/keyboard.d.ts +105 -105
  158. package/dist/types/input/pointer.d.ts +21 -21
  159. package/dist/types/input/pointerevent.d.ts +6 -6
  160. package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
  161. package/dist/types/math/matrix2.d.ts +9 -63
  162. package/dist/types/math/matrix3.d.ts +9 -68
  163. package/dist/types/math/observable_vector2.d.ts +2 -2
  164. package/dist/types/math/observable_vector3.d.ts +2 -2
  165. package/dist/types/math/vector2.d.ts +8 -92
  166. package/dist/types/math/vector3.d.ts +8 -92
  167. package/dist/types/particles/settings.d.ts +29 -29
  168. package/dist/types/physics/body.d.ts +10 -8
  169. package/dist/types/physics/bounds.d.ts +24 -30
  170. package/dist/types/physics/collision.d.ts +12 -12
  171. package/dist/types/physics/detector.d.ts +1 -1
  172. package/dist/types/physics/world.d.ts +4 -7
  173. package/dist/types/renderable/container.d.ts +19 -19
  174. package/dist/types/renderable/imagelayer.d.ts +6 -6
  175. package/dist/types/renderable/light2d.d.ts +7 -7
  176. package/dist/types/renderable/renderable.d.ts +9 -16
  177. package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
  178. package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
  179. package/dist/types/renderable/text/glyph.d.ts +28 -0
  180. package/dist/types/renderable/text/text.d.ts +159 -0
  181. package/dist/types/renderable/text/textmetrics.d.ts +47 -0
  182. package/dist/types/renderable/text/textstyle.d.ts +5 -0
  183. package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
  184. package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
  185. package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
  186. package/dist/types/state/state.d.ts +11 -11
  187. package/dist/types/system/device.d.ts +15 -9
  188. package/dist/types/system/event.d.ts +20 -0
  189. package/dist/types/system/platform.d.ts +17 -17
  190. package/dist/types/utils/function.d.ts +1 -2
  191. package/dist/types/video/renderer.d.ts +13 -13
  192. package/dist/types/video/texture/canvas_texture.d.ts +14 -14
  193. package/dist/types/video/video.d.ts +2 -2
  194. package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
  195. package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
  196. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
  197. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
  198. package/dist/types/video/webgl/utils/precision.d.ts +1 -1
  199. package/dist/types/video/webgl/webgl_renderer.d.ts +47 -50
  200. package/package.json +15 -15
  201. package/src/application/application.js +51 -3
  202. package/src/application/header.js +1 -1
  203. package/src/application/resize.js +3 -7
  204. package/src/application/settings.js +4 -4
  205. package/src/audio/audio.js +3 -5
  206. package/src/camera/camera2d.js +11 -13
  207. package/src/entity/entity.js +2 -3
  208. package/src/geometries/ellipse.js +25 -58
  209. package/src/geometries/line.js +17 -24
  210. package/src/geometries/path2d.js +15 -12
  211. package/src/geometries/point.js +7 -15
  212. package/src/geometries/poly.js +39 -96
  213. package/src/geometries/rectangle.js +36 -90
  214. package/src/geometries/roundrect.js +25 -34
  215. package/src/index.js +4 -4
  216. package/src/input/keyboard.js +2 -2
  217. package/src/input/pointer.js +3 -3
  218. package/src/input/pointerevent.js +5 -6
  219. package/src/lang/deprecated.js +1 -1
  220. package/src/level/tiled/TMXLayer.js +15 -32
  221. package/src/level/tiled/TMXObject.js +2 -3
  222. package/src/level/tiled/TMXTile.js +3 -3
  223. package/src/level/tiled/TMXTileMap.js +2 -2
  224. package/src/level/tiled/TMXTileset.js +3 -6
  225. package/src/level/tiled/TMXTilesetGroup.js +1 -1
  226. package/src/level/tiled/TMXUtils.js +25 -28
  227. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  228. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  229. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  230. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  231. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  232. package/src/loader/parser.js +3 -4
  233. package/src/math/color.js +1 -1
  234. package/src/math/matrix2.js +4 -58
  235. package/src/math/matrix3.js +81 -140
  236. package/src/math/observable_vector2.js +6 -6
  237. package/src/math/observable_vector3.js +4 -4
  238. package/src/math/vector2.js +6 -90
  239. package/src/math/vector3.js +5 -89
  240. package/src/particles/emitter.js +1 -1
  241. package/src/particles/particle.js +1 -1
  242. package/src/physics/body.js +21 -19
  243. package/src/physics/bounds.js +26 -32
  244. package/src/physics/collision.js +4 -4
  245. package/src/physics/detector.js +9 -9
  246. package/src/physics/quadtree.js +4 -4
  247. package/src/physics/sat.js +2 -3
  248. package/src/physics/world.js +5 -8
  249. package/src/polyfill/roundrect.js +163 -163
  250. package/src/renderable/collectable.js +1 -1
  251. package/src/renderable/colorlayer.js +3 -3
  252. package/src/renderable/container.js +24 -24
  253. package/src/renderable/imagelayer.js +3 -3
  254. package/src/renderable/light2d.js +2 -2
  255. package/src/renderable/nineslicesprite.js +1 -1
  256. package/src/renderable/renderable.js +25 -25
  257. package/src/renderable/sprite.js +2 -2
  258. package/src/{text → renderable/text}/bitmaptext.js +8 -8
  259. package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
  260. package/src/{text → renderable/text}/glyph.js +1 -1
  261. package/src/{text → renderable/text}/text.js +16 -17
  262. package/src/{text → renderable/text}/textmetrics.js +2 -2
  263. package/src/renderable/trigger.js +9 -9
  264. package/src/renderable/ui/uibaseelement.js +6 -6
  265. package/src/renderable/ui/uispriteelement.js +6 -6
  266. package/src/renderable/ui/uitextbutton.js +2 -2
  267. package/src/state/stage.js +1 -1
  268. package/src/state/state.js +0 -49
  269. package/src/system/device.js +48 -9
  270. package/src/system/event.js +22 -0
  271. package/src/system/platform.js +18 -18
  272. package/src/system/pooling.js +9 -9
  273. package/src/tweens/tween.js +1 -1
  274. package/src/utils/function.js +1 -2
  275. package/src/video/canvas/canvas_renderer.js +2 -6
  276. package/src/video/renderer.js +15 -15
  277. package/src/video/texture/atlas.js +12 -12
  278. package/src/video/texture/canvas_texture.js +14 -14
  279. package/src/video/video.js +3 -3
  280. package/src/video/webgl/buffer/vertex.js +2 -2
  281. package/src/video/webgl/compositors/compositor.js +12 -13
  282. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  283. package/src/video/webgl/compositors/quad_compositor.js +1 -2
  284. package/src/video/webgl/glshader.js +1 -1
  285. package/src/video/webgl/utils/precision.js +3 -3
  286. package/src/video/webgl/webgl_renderer.js +49 -51
  287. /package/src/{text → renderable/text}/textstyle.js +0 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * a glyph representing a single character in a font
3
+ * @ignore
4
+ */
5
+ export default class Glyph {
6
+ id: number;
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ u: number;
12
+ v: number;
13
+ u2: number;
14
+ v2: number;
15
+ xoffset: number;
16
+ yoffset: number;
17
+ xadvance: number;
18
+ fixedWidth: boolean;
19
+ /**
20
+ * @ignore
21
+ */
22
+ getKerning(ch: any): any;
23
+ /**
24
+ * @ignore
25
+ */
26
+ setKerning(ch: any, value: any): void;
27
+ kerning: {} | undefined;
28
+ }
@@ -0,0 +1,159 @@
1
+ /**
2
+ * @classdesc
3
+ * a generic system font object.
4
+ * @augments Renderable
5
+ */
6
+ export default class Text extends Renderable {
7
+ /**
8
+ * @param {number} x - position of the text object
9
+ * @param {number} y - position of the text object
10
+ * @param {object} settings - the text configuration
11
+ * @param {string} settings.font - a CSS family font name
12
+ * @param {number|string} settings.size - size, or size + suffix (px, em, pt)
13
+ * @param {Color|string} [settings.fillStyle="#000000"] - a CSS color value
14
+ * @param {Color|string} [settings.strokeStyle="#000000"] - a CSS color value
15
+ * @param {number} [settings.lineWidth=0] - line width, in pixels, when drawing stroke
16
+ * @param {string} [settings.textAlign="left"] - horizontal text alignment
17
+ * @param {string} [settings.textBaseline="top"] - the text baseline
18
+ * @param {number} [settings.lineHeight=1.0] - line spacing height
19
+ * @param {Vector2d} [settings.anchorPoint={x:0.0, y:0.0}] - anchor point to draw the text at
20
+ * @param {number} [settings.wordWrapWidth] - the maximum length in CSS pixel for a single segment of text
21
+ * @param {(string|string[])} [settings.text=""] - a string, or an array of strings
22
+ * @example
23
+ * let font = new me.Text(0, 0, {font: "Arial", size: 8, fillStyle: this.color});
24
+ */
25
+ constructor(x: number, y: number, settings: {
26
+ font: string;
27
+ size: number | string;
28
+ fillStyle?: string | Color | undefined;
29
+ strokeStyle?: string | Color | undefined;
30
+ lineWidth?: number | undefined;
31
+ textAlign?: string | undefined;
32
+ textBaseline?: string | undefined;
33
+ lineHeight?: number | undefined;
34
+ anchorPoint?: any;
35
+ wordWrapWidth?: number | undefined;
36
+ text?: string | string[] | undefined;
37
+ });
38
+ /** @ignore */
39
+ onResetEvent(x: any, y: any, settings: any): void;
40
+ fillStyle: any;
41
+ strokeStyle: any;
42
+ /**
43
+ * sets the current line width, in pixels, when drawing stroke
44
+ * @public
45
+ * @type {number}
46
+ * @default 0
47
+ */
48
+ public lineWidth: number | undefined;
49
+ /**
50
+ * Set the default text alignment (or justification),<br>
51
+ * possible values are "left", "right", and "center".<br>
52
+ * @public
53
+ * @type {string}
54
+ * @default "left"
55
+ */
56
+ public textAlign: string | undefined;
57
+ /**
58
+ * Set the text baseline (e.g. the Y-coordinate for the draw operation), <br>
59
+ * possible values are "top", "hanging, "middle, "alphabetic, "ideographic, "bottom"<br>
60
+ * @public
61
+ * @type {string}
62
+ * @default "top"
63
+ */
64
+ public textBaseline: string | undefined;
65
+ /**
66
+ * Set the line spacing height (when displaying multi-line strings). <br>
67
+ * Current font height will be multiplied with this value to set the line height.
68
+ * @public
69
+ * @type {number}
70
+ * @default 1.0
71
+ */
72
+ public lineHeight: number | undefined;
73
+ /**
74
+ * the maximum length in CSS pixel for a single segment of text.
75
+ * (use -1 to disable word wrapping)
76
+ * @public
77
+ * @type {number}
78
+ * @default -1
79
+ */
80
+ public wordWrapWidth: number | undefined;
81
+ /**
82
+ * the text to be displayed
83
+ * @private
84
+ */
85
+ private _text;
86
+ /**
87
+ * the font size (in px)
88
+ * @public
89
+ * @type {number}
90
+ * @default 10
91
+ */
92
+ public fontSize: number | undefined;
93
+ canvasTexture: object | undefined;
94
+ metrics: TextMetrics | undefined;
95
+ /**
96
+ * make the font bold
97
+ * @returns {Text} this object for chaining
98
+ */
99
+ bold(): Text;
100
+ font: any;
101
+ /**
102
+ * make the font italic
103
+ * @returns {Text} this object for chaining
104
+ */
105
+ italic(): Text;
106
+ /**
107
+ * set the font family and size
108
+ * @param {string} font - a CSS font name
109
+ * @param {number|string} [size=10] - size in px, or size + suffix (px, em, pt)
110
+ * @returns {Text} this object for chaining
111
+ * @example
112
+ * font.setFont("Arial", 20);
113
+ * font.setFont("Arial", "1.5em");
114
+ */
115
+ setFont(font: string, size?: string | number | undefined): Text;
116
+ /**
117
+ * change the text to be displayed
118
+ * @param {number|string|string[]} value - a string, or an array of strings
119
+ * @returns {Text} this object for chaining
120
+ */
121
+ setText(value?: number | string | string[]): Text;
122
+ glTextureUnit: any;
123
+ /**
124
+ * measure the given text size in pixels
125
+ * @param {CanvasRenderer|WebGLRenderer} renderer - reference to the active renderer
126
+ * @param {string} [text] - the text to be measured
127
+ * @returns {TextMetrics} a TextMetrics object defining the dimensions of the given piece of text
128
+ */
129
+ measureText(renderer: CanvasRenderer | WebGLRenderer, text?: string | undefined): TextMetrics;
130
+ /**
131
+ * draw a text at the specified coord
132
+ * @param {CanvasRenderer|WebGLRenderer} renderer - Reference to the destination renderer instance
133
+ * @param {string} [text]
134
+ * @param {number} [x]
135
+ * @param {number} [y]
136
+ */
137
+ draw(renderer: CanvasRenderer | WebGLRenderer, text?: string | undefined, x?: number | undefined, y?: number | undefined): void;
138
+ /**
139
+ * draw a stroke text at the specified coord, as defined by the `lineWidth` and `fillStroke` properties.
140
+ * @deprecated since 15.0.0
141
+ * @param {CanvasRenderer|WebGLRenderer} renderer - Reference to the destination renderer instance
142
+ * @param {string} text
143
+ * @param {number} x
144
+ * @param {number} y
145
+ */
146
+ drawStroke(renderer: CanvasRenderer | WebGLRenderer, text: string, x: number, y: number): void;
147
+ /**
148
+ * @ignore
149
+ */
150
+ _drawFont(context: any, text: any, x: any, y: any): TextMetrics | undefined;
151
+ /**
152
+ * Destroy function
153
+ * @ignore
154
+ */
155
+ destroy(): void;
156
+ }
157
+ import Renderable from "../renderable.js";
158
+ import TextMetrics from "./textmetrics.js";
159
+ import Color from "../../math/color.js";
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @classdesc
3
+ * a Text Metrics object that contains helper for text manipulation
4
+ * @augments Bounds
5
+ */
6
+ export default class TextMetrics extends Bounds {
7
+ /**
8
+ * @param {Text|BitmapText} ancestor - the parent object that contains this TextMetrics object
9
+ */
10
+ constructor(ancestor: Text | BitmapText);
11
+ /**
12
+ * a reference to the parent object that contains this TextMetrics object
13
+ * @public
14
+ * @type {Renderable}
15
+ * @default undefined
16
+ */
17
+ public ancestor: Renderable;
18
+ /**
19
+ * Returns the height of a segment of inline text in CSS pixels.
20
+ * @returns {number} the height of a segment of inline text in CSS pixels.
21
+ */
22
+ lineHeight(): number;
23
+ /**
24
+ * Returns the width of the given segment of inline text in CSS pixels.
25
+ * @param {string} text - the text to be measured
26
+ * @param {CanvasRenderingContext2D} [context] - reference to an active 2d context for canvas rendering
27
+ * @returns {number} the width of the given segment of inline text in CSS pixels.
28
+ */
29
+ lineWidth(text: string, context?: CanvasRenderingContext2D | undefined): number;
30
+ /**
31
+ * measure the given text size in CSS pixels
32
+ * @param {string} text - the text to be measured
33
+ * @param {CanvasRenderingContext2D} [context] - reference to an active 2d context for canvas rendering
34
+ * @returns {TextMetrics} this
35
+ */
36
+ measureText(text: string, context?: CanvasRenderingContext2D | undefined): TextMetrics;
37
+ /**
38
+ * wrap the given text based on the given width
39
+ * @param {string|string[]} text - the text to be wrapped
40
+ * @param {number} width - maximum width of one segment of text in css pixel
41
+ * @param {CanvasRenderingContext2D} [context] - reference to an active 2d context for canvas rendering
42
+ * @returns {string[]} an array of string representing wrapped text
43
+ */
44
+ wordWrap(text: string | string[], width: number, context?: CanvasRenderingContext2D | undefined): string[];
45
+ }
46
+ import Bounds from "../../physics/bounds.js";
47
+ import Text from "./text.js";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * apply the current text style to the given context
3
+ * @ignore
4
+ */
5
+ export default function setContextStyle(context: any, style: any): void;
@@ -55,7 +55,6 @@ export default class UIBaseElement extends Container {
55
55
  * @ignore
56
56
  */
57
57
  clicked(event: any): boolean | undefined;
58
- dirty: boolean | undefined;
59
58
  /**
60
59
  * function called when the object is pressed (to be extended)
61
60
  * @param {Pointer} event - the event object
@@ -64,7 +64,6 @@ export default class UISpriteElement extends Sprite {
64
64
  * @ignore
65
65
  */
66
66
  clicked(event: any): boolean | undefined;
67
- dirty: boolean | undefined;
68
67
  /**
69
68
  * function called when the object is pressed (to be extended)
70
69
  * @param {Pointer} event - the event object
@@ -49,11 +49,6 @@ export default class UITextButton extends UIBaseElement {
49
49
  * @type {string}
50
50
  */
51
51
  bindKey: string;
52
- /**
53
- * The css value of a background color
54
- * @type {string}
55
- */
56
- backgroundColor: string;
57
52
  /**
58
53
  * The css value of a color to be used if the pointer hovers over the button
59
54
  * @type {string}
@@ -85,10 +80,10 @@ export default class UITextButton extends UIBaseElement {
85
80
  * @type {BitmapText}
86
81
  */
87
82
  bitmapText: BitmapText;
88
- dimensions: import("../../text/textmetrics.js").default;
83
+ dimensions: import("../text/textmetrics.js").default;
89
84
  border: RoundRect;
90
85
  draw(renderer: any): void;
91
86
  }
92
87
  import UIBaseElement from "./uibaseelement.js";
93
- import BitmapText from "../../text/bitmaptext.js";
88
+ import BitmapText from "../text/bitmaptext.js";
94
89
  import RoundRect from "../../geometries/roundrect.js";
@@ -1,16 +1,16 @@
1
1
  export default state;
2
2
  declare namespace state {
3
- const LOADING: number;
4
- const MENU: number;
5
- const READY: number;
6
- const PLAY: number;
7
- const GAMEOVER: number;
8
- const GAME_END: number;
9
- const SCORE: number;
10
- const CREDITS: number;
11
- const SETTINGS: number;
12
- const DEFAULT: number;
13
- const USER: number;
3
+ let LOADING: number;
4
+ let MENU: number;
5
+ let READY: number;
6
+ let PLAY: number;
7
+ let GAMEOVER: number;
8
+ let GAME_END: number;
9
+ let SCORE: number;
10
+ let CREDITS: number;
11
+ let SETTINGS: number;
12
+ let DEFAULT: number;
13
+ let USER: number;
14
14
  /**
15
15
  * Stop the current stage.
16
16
  * @name stop
@@ -545,6 +545,8 @@ export let alpha: number;
545
545
  * Specify whether to pause the game when losing focus
546
546
  * @name pauseOnBlur
547
547
  * @memberof device
548
+ * @deprecated since 15.4.0
549
+ * @see Application.pauseOnBlur
548
550
  * @type {boolean}
549
551
  * @public
550
552
  * @default true
@@ -554,27 +556,31 @@ export let pauseOnBlur: boolean;
554
556
  * Specify whether to unpause the game when gaining focus
555
557
  * @name resumeOnFocus
556
558
  * @memberof device
559
+ * @deprecated since 15.4.0
560
+ * @see Application.resumeOnFocus
557
561
  * @type {boolean}
558
562
  * @public
559
563
  * @default true
560
564
  */
561
565
  export let resumeOnFocus: boolean;
562
- /**
563
- * Specify whether to automatically bring the window to the front
564
- * @name autoFocus
565
- * @memberof device
566
- * @type {boolean}
567
- * @public
568
- * @default true
569
- */
570
- export let autoFocus: boolean;
571
566
  /**
572
567
  * Specify whether to stop the game when losing focus or not.
573
568
  * The engine restarts on focus if this is enabled.
574
569
  * @name stopOnBlur
575
570
  * @memberof device
571
+ * @deprecated since 15.4.0
572
+ * @see Application.stopOnBlur
576
573
  * @type {boolean}
577
574
  * @public
578
575
  * @default false
579
576
  */
580
577
  export let stopOnBlur: boolean;
578
+ /**
579
+ * Specify whether to automatically bring the window to the front
580
+ * @name autoFocus
581
+ * @memberof device
582
+ * @type {boolean}
583
+ * @public
584
+ * @default true
585
+ */
586
+ export let autoFocus: boolean;
@@ -73,6 +73,26 @@ export const BOOT: string;
73
73
  * @see event.on
74
74
  */
75
75
  export const TICK: string;
76
+ /**
77
+ * event generated when the main browser or window is losing focus
78
+ * @public
79
+ * @constant
80
+ * @type {string}
81
+ * @name BLUR
82
+ * @memberof event
83
+ * @see event.on
84
+ */
85
+ export const BLUR: string;
86
+ /**
87
+ * event generated when the main browser or window is gaining back focus
88
+ * @public
89
+ * @constant
90
+ * @type {string}
91
+ * @name FOCUS
92
+ * @memberof event
93
+ * @see event.on
94
+ */
95
+ export const FOCUS: string;
76
96
  /**
77
97
  * event when the game is paused <br>
78
98
  * Data passed : none <br>
@@ -1,21 +1,21 @@
1
1
  /**
2
- * The device platform type
3
- * @namespace platform
4
- * @memberof device
5
- * @property {string} ua the user agent string for the current device
6
- * @property {boolean} iOS `true` if the device is an iOS platform
7
- * @property {boolean} android `true` if the device is an Android platform
8
- * @property {boolean} android2 `true` if the device is an Android 2.x platform
9
- * @property {boolean} linux `true` if the device is a Linux platform
10
- * @property {boolean} chromeOS `true` if the device is running on ChromeOS.
11
- * @property {boolean} wp `true` if the device is a Windows Phone platform
12
- * @property {boolean} BlackBerry`true` if the device is a BlackBerry platform
13
- * @property {boolean} Kindle`true` if the device is a Kindle platform
14
- * @property {boolean} ejecta `true` if running under Ejecta
15
- * @property {boolean} isWeixin `true` if running under Wechat
16
- * @property {boolean} nodeJS `true` if running under node.js
17
- * @property {boolean} isMobile `true` if a mobile device
18
- */
2
+ * The device platform type
3
+ * @namespace platform
4
+ * @memberof device
5
+ * @property {string} ua the user agent string for the current device
6
+ * @property {boolean} iOS `true` if the device is an iOS platform
7
+ * @property {boolean} android `true` if the device is an Android platform
8
+ * @property {boolean} android2 `true` if the device is an Android 2.x platform
9
+ * @property {boolean} linux `true` if the device is a Linux platform
10
+ * @property {boolean} chromeOS `true` if the device is running on ChromeOS.
11
+ * @property {boolean} wp `true` if the device is a Windows Phone platform
12
+ * @property {boolean} BlackBerry`true` if the device is a BlackBerry platform
13
+ * @property {boolean} Kindle`true` if the device is a Kindle platform
14
+ * @property {boolean} ejecta `true` if running under Ejecta
15
+ * @property {boolean} isWeixin `true` if running under Wechat
16
+ * @property {boolean} nodeJS `true` if running under node.js
17
+ * @property {boolean} isMobile `true` if a mobile device
18
+ */
19
19
  export const ua: string;
20
20
  export const iOS: boolean;
21
21
  export const android: boolean;
@@ -19,8 +19,7 @@
19
19
  */
20
20
  export function defer(func: Function, thisArg: object, ...args: any[]): number;
21
21
  /**
22
- * returns a function that, when invoked will only be triggered at most
23
- * once during a given window of time
22
+ * returns a function that, when invoked will only be triggered at most once during a given window of time
24
23
  * @public
25
24
  * @memberof utils.function
26
25
  * @name throttle
@@ -16,7 +16,7 @@ export default class Renderer {
16
16
  /**
17
17
  * the requested video size ratio
18
18
  * @public
19
- * @type {Number}
19
+ * @type {number}
20
20
  */
21
21
  public designRatio: number;
22
22
  /**
@@ -188,10 +188,10 @@ export default class Renderer {
188
188
  clearTint(): void;
189
189
  /**
190
190
  * creates a Blob object representing the last rendered frame
191
- * @param {Object} [options] - An object with the following properties:
192
- * @param {String} [options.type="image/png"] - A string indicating the image format
193
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
194
- * @return {Promise} A Promise returning a Blob object representing the last rendered frame
191
+ * @param {object} [options] - An object with the following properties:
192
+ * @param {string} [options.type="image/png"] - A string indicating the image format
193
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
194
+ * @returns {Promise} A Promise returning a Blob object representing the last rendered frame
195
195
  * @example
196
196
  * renderer.convertToBlob().then((blob) => console.log(blob));
197
197
  */
@@ -202,10 +202,10 @@ export default class Renderer {
202
202
  /**
203
203
  * creates an ImageBitmap object of the last frame rendered
204
204
  * (not supported by standard Canvas)
205
- * @param {Object} [options] - An object with the following properties:
206
- * @param {String} [options.type="image/png"] - A string indicating the image format
207
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
208
- * @return {Promise} A Promise returning an ImageBitmap.
205
+ * @param {object} [options] - An object with the following properties:
206
+ * @param {string} [options.type="image/png"] - A string indicating the image format
207
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
208
+ * @returns {Promise} A Promise returning an ImageBitmap.
209
209
  * @example
210
210
  * renderer.transferToImageBitmap().then((image) => console.log(image));
211
211
  */
@@ -215,10 +215,10 @@ export default class Renderer {
215
215
  } | undefined): Promise<any>;
216
216
  /**
217
217
  * returns a data URL containing a representation of the last frame rendered
218
- * @param {Object} [options] - An object with the following properties:
219
- * @param {String} [options.type="image/png"] - A string indicating the image format
220
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
221
- * @return {Promise} A Promise returning a string containing the requested data URL.
218
+ * @param {object} [options] - An object with the following properties:
219
+ * @param {string} [options.type="image/png"] - A string indicating the image format
220
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
221
+ * @returns {Promise} A Promise returning a string containing the requested data URL.
222
222
  * @example
223
223
  * renderer.toDataURL().then((dataURL) => console.log(dataURL));
224
224
  */
@@ -38,7 +38,7 @@ declare class CanvasTexture {
38
38
  clear(): void;
39
39
  /**
40
40
  * enable/disable image smoothing (scaling interpolation)
41
- * @param {boolean} [enable=false]
41
+ * @param {boolean} [enable=false] - whether to enable or not image smoothing (scaling interpolation)
42
42
  */
43
43
  setAntiAlias(enable?: boolean | undefined): void;
44
44
  /**
@@ -54,15 +54,15 @@ declare class CanvasTexture {
54
54
  * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted
55
55
  * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left
56
56
  * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up
57
- * @return {ImageData} The ImageData extracted from this CanvasTexture.
57
+ * @returns {ImageData} The ImageData extracted from this CanvasTexture.
58
58
  */
59
59
  getImageData(x: number, y: number, width: number, height: number): ImageData;
60
60
  /**
61
61
  * creates a Blob object representing the image contained in this canvas texture
62
- * @param {Object} [options] - An object with the following properties:
63
- * @param {String} [options.type="image/png"] - A string indicating the image format
64
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
65
- * @return {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
62
+ * @param {object} [options] - An object with the following properties:
63
+ * @param {string} [options.type="image/png"] - A string indicating the image format
64
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
65
+ * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
66
66
  * @example
67
67
  * canvasTexture.convertToBlob().then((blob) => console.log(blob));
68
68
  */
@@ -72,10 +72,10 @@ declare class CanvasTexture {
72
72
  } | undefined): Promise<any>;
73
73
  /**
74
74
  * creates an ImageBitmap object from the most recently rendered image of this canvas texture
75
- * @param {Object} [options] - An object with the following properties:
76
- * @param {String} [options.type="image/png"] - A string indicating the image format
77
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
78
- * @return {Promise} A Promise returning an ImageBitmap.
75
+ * @param {object} [options] - An object with the following properties:
76
+ * @param {string} [options.type="image/png"] - A string indicating the image format
77
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
78
+ * @returns {Promise} A Promise returning an ImageBitmap.
79
79
  * @example
80
80
  * canvasTexture.transferToImageBitmap().then((bitmap) => console.log(bitmap));
81
81
  */
@@ -86,10 +86,10 @@ declare class CanvasTexture {
86
86
  /**
87
87
  * returns a data URL containing a representation of the most recently rendered image of this canvas texture
88
88
  * (not supported by OffscreenCanvas)
89
- * @param {Object} [options] - An object with the following properties:
90
- * @param {String} [options.type="image/png"] - A string indicating the image format
91
- * @param {Number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
92
- * @return {Promise} A Promise returning a string containing the requested data URL.
89
+ * @param {object} [options] - An object with the following properties:
90
+ * @param {string} [options.type="image/png"] - A string indicating the image format
91
+ * @param {number} [options.quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
92
+ * @returns {Promise} A Promise returning a string containing the requested data URL.
93
93
  * @example
94
94
  * renderer.toDataURL().then((dataURL) => console.log(dataURL));
95
95
  */
@@ -21,13 +21,13 @@ export function init(width: number, height: number, options?: any): boolean;
21
21
  * @param {number} width - width
22
22
  * @param {number} height - height
23
23
  * @param {boolean} [returnOffscreenCanvas=false] - will return an OffscreenCanvas if supported
24
- * @returns {HTMLCanvasElement|OffscreenCanvas}
24
+ * @returns {HTMLCanvasElement|OffscreenCanvas} a new Canvas element of the given size
25
25
  */
26
26
  export function createCanvas(width: number, height: number, returnOffscreenCanvas?: boolean | undefined): HTMLCanvasElement | OffscreenCanvas;
27
27
  /**
28
28
  * return a reference to the parent DOM element holding the main canvas
29
29
  * @memberof video
30
- * @returns {HTMLElement}
30
+ * @returns {HTMLElement} the HTML parent element
31
31
  */
32
32
  export function getParent(): HTMLElement;
33
33
  /**
@@ -27,12 +27,12 @@ export default class VertexArrayBuffer {
27
27
  * resize the vertex buffer, retaining its original contents
28
28
  * @ignore
29
29
  */
30
- resize(vertexCount: any): VertexArrayBuffer;
30
+ resize(vertexCount: any): this;
31
31
  /**
32
32
  * push a new vertex to the buffer
33
33
  * @ignore
34
34
  */
35
- push(x: any, y: any, u: any, v: any, tint: any): VertexArrayBuffer;
35
+ push(x: any, y: any, u: any, v: any, tint: any): this;
36
36
  /**
37
37
  * return a reference to the data in Float32 format
38
38
  * @ignore
@@ -5,18 +5,30 @@
5
5
  export default class Compositor {
6
6
  /**
7
7
  * @param {WebGLRenderer} renderer - the current WebGL renderer session
8
- * @param {Object} settings - additional settings to initialize this compositors
9
- * @param {object[]} attribute - an array of attributes definition
10
- * @param {string} attribute.name - name of the attribute in the vertex shader
11
- * @param {number} attribute.size - number of components per vertex attribute. Must be 1, 2, 3, or 4.
12
- * @param {GLenum} attribute.type - data type of each component in the array
13
- * @param {boolean} attribute.normalized - whether integer data values should be normalized into a certain range when being cast to a float
14
- * @param {number} attribute.offset - offset in bytes of the first component in the vertex attribute array
15
- * @param {object} shader - an array of attributes definition
16
- * @param {string} shader.vertex - a string containing the GLSL source code to set
17
- * @param {string} shader.fragment - a string containing the GLSL source code to set
8
+ * @param {object} settings - additional settings to initialize this compositors
9
+ * @param {object[]} settings.attribute - an array of attributes definition
10
+ * @param {string} settings.attribute.name - name of the attribute in the vertex shader
11
+ * @param {number} settings.attribute.size - number of components per vertex attribute. Must be 1, 2, 3, or 4.
12
+ * @param {GLenum} settings.attribute.type - data type of each component in the array
13
+ * @param {boolean} settings.attribute.normalized - whether integer data values should be normalized into a certain range when being cast to a float
14
+ * @param {number} settings.attribute.offset - offset in bytes of the first component in the vertex attribute array
15
+ * @param {object} settings.shader - an array of attributes definition
16
+ * @param {string} settings.shader.vertex - a string containing the GLSL source code to set
17
+ * @param {string} settings.shader.fragment - a string containing the GLSL source code to set
18
18
  */
19
- constructor(renderer: WebGLRenderer, settings: Object);
19
+ constructor(renderer: WebGLRenderer, settings: {
20
+ attribute: {
21
+ name: string;
22
+ size: number;
23
+ type: GLenum;
24
+ normalized: boolean;
25
+ offset: number;
26
+ };
27
+ shader: {
28
+ vertex: string;
29
+ fragment: string;
30
+ };
31
+ });
20
32
  /**
21
33
  * Initialize the compositor
22
34
  * @ignore
@@ -73,7 +85,6 @@ export default class Compositor {
73
85
  */
74
86
  reset(): void;
75
87
  /**
76
- * @ignore
77
88
  * called by the WebGL renderer when a compositor become the current one
78
89
  */
79
90
  bind(): void;
@@ -94,7 +105,7 @@ export default class Compositor {
94
105
  addAttribute(name: string, size: number, type: GLenum, normalized: boolean, offset: number): void;
95
106
  /**
96
107
  * set/change the current projection matrix
97
- * @param {Matrix3d} matrix
108
+ * @param {Matrix3d} matrix - the new projection matrix
98
109
  */
99
110
  setProjection(matrix: Matrix3d): void;
100
111
  /**
@@ -17,6 +17,5 @@ export default class PrimitiveCompositor extends Compositor {
17
17
  * @param {number} [vertexCount=verts.length] - amount of points defined in the points array
18
18
  */
19
19
  drawVertices(mode: GLenum, verts: Point[], vertexCount?: number | undefined): void;
20
- mode: any;
21
20
  }
22
21
  import Compositor from "./compositor.js";