stage-js 1.0.0-alpha.9 → 1.0.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.
- package/LICENSE.md +3 -3
- package/dist/stage.d.ts +228 -122
- package/dist/stage.js +573 -455
- package/dist/stage.js.map +1 -0
- package/dist/stage.umd.cjs +573 -455
- package/dist/stage.umd.cjs.map +1 -0
- package/package.json +13 -4
- package/src/common/browser.ts +1 -1
- package/src/common/matrix.ts +4 -0
- package/src/common/stats.ts +1 -1
- package/src/core/anim.ts +54 -46
- package/src/core/{core.ts → component.ts} +174 -125
- package/src/core/easing.ts +230 -215
- package/src/core/monotype.ts +18 -9
- package/src/core/pin.ts +100 -32
- package/src/core/pointer.ts +18 -18
- package/src/core/root.ts +103 -74
- package/src/core/sprite.ts +33 -43
- package/src/core/transition.ts +36 -36
- package/src/main.ts +1 -1
- package/src/texture/atlas.ts +20 -11
- package/src/texture/canvas.ts +12 -6
- package/src/texture/image.ts +22 -9
- package/src/texture/selection.ts +25 -1
- package/src/texture/texture.ts +68 -68
- package/.eslintrc.json +0 -36
- package/.gitattributes +0 -1
- package/.prettierignore +0 -2
- package/.prettierrc.json +0 -3
- package/CHANGELOG.md +0 -173
- package/docs/package-lock.json +0 -12922
- package/docs/package.json +0 -18
- package/docs/pages/anim.md +0 -34
- package/docs/pages/api/classes/Anim.md +0 -1433
- package/docs/pages/api/classes/Atlas.md +0 -260
- package/docs/pages/api/classes/CanvasTexture.md +0 -310
- package/docs/pages/api/classes/ImageTexture.md +0 -239
- package/docs/pages/api/classes/Matrix.md +0 -283
- package/docs/pages/api/classes/Monotype.md +0 -1367
- package/docs/pages/api/classes/Node.md +0 -1090
- package/docs/pages/api/classes/Pin.md +0 -41
- package/docs/pages/api/classes/PipeTexture.md +0 -230
- package/docs/pages/api/classes/ResizableTexture.md +0 -218
- package/docs/pages/api/classes/Root.md +0 -1476
- package/docs/pages/api/classes/Sprite.md +0 -1361
- package/docs/pages/api/classes/Texture.md +0 -174
- package/docs/pages/api/classes/TextureSelection.md +0 -61
- package/docs/pages/api/classes/Transition.md +0 -453
- package/docs/pages/api/functions/anim.md +0 -13
- package/docs/pages/api/functions/atlas.md +0 -11
- package/docs/pages/api/functions/box.md +0 -11
- package/docs/pages/api/functions/canvas.md +0 -9
- package/docs/pages/api/functions/column.md +0 -11
- package/docs/pages/api/functions/create.md +0 -11
- package/docs/pages/api/functions/layer.md +0 -11
- package/docs/pages/api/functions/layout.md +0 -7
- package/docs/pages/api/functions/maximize.md +0 -7
- package/docs/pages/api/functions/minimize.md +0 -7
- package/docs/pages/api/functions/monotype.md +0 -11
- package/docs/pages/api/functions/mount.md +0 -11
- package/docs/pages/api/functions/pause.md +0 -7
- package/docs/pages/api/functions/resume.md +0 -7
- package/docs/pages/api/functions/row.md +0 -11
- package/docs/pages/api/functions/sprite.md +0 -11
- package/docs/pages/api/functions/texture.md +0 -15
- package/docs/pages/api/index.md +0 -72
- package/docs/pages/api/interfaces/AtlasDefinition.md +0 -109
- package/docs/pages/api/interfaces/AtlasTextureDefinition.md +0 -49
- package/docs/pages/api/interfaces/MatrixValue.md +0 -37
- package/docs/pages/api/interfaces/Vec2Value.md +0 -13
- package/docs/pages/api/type-aliases/FitMode.md +0 -7
- package/docs/pages/api/type-aliases/LegacyFitMode.md +0 -10
- package/docs/pages/api/type-aliases/NodeEventListener.md +0 -17
- package/docs/pages/api/type-aliases/NodeTickListener.md +0 -21
- package/docs/pages/api/type-aliases/ResizableTextureMode.md +0 -3
- package/docs/pages/api/type-aliases/TextureSelectionInput.md +0 -11
- package/docs/pages/api/type-aliases/TextureSelectionInputArray.md +0 -3
- package/docs/pages/api/type-aliases/TextureSelectionInputFactory.md +0 -11
- package/docs/pages/api/type-aliases/TextureSelectionInputMap.md +0 -3
- package/docs/pages/api/type-aliases/TextureSelectionInputOne.md +0 -3
- package/docs/pages/api/type-aliases/TransitionEndListener.md +0 -11
- package/docs/pages/api/type-aliases/TransitionOptions.md +0 -17
- package/docs/pages/api/type-aliases/Viewbox.md +0 -27
- package/docs/pages/api/type-aliases/Viewport.md +0 -19
- package/docs/pages/api/variables/POINTER_CANCEL.md +0 -3
- package/docs/pages/api/variables/POINTER_CLICK.md +0 -3
- package/docs/pages/api/variables/POINTER_END.md +0 -3
- package/docs/pages/api/variables/POINTER_MOVE.md +0 -3
- package/docs/pages/api/variables/POINTER_START.md +0 -3
- package/docs/pages/api/variables/math.md +0 -3
- package/docs/pages/atlas.md +0 -42
- package/docs/pages/events.md +0 -47
- package/docs/pages/hello-world.md +0 -60
- package/docs/pages/index.md +0 -15
- package/docs/pages/install.md +0 -24
- package/docs/pages/layout.md +0 -40
- package/docs/pages/loop.md +0 -25
- package/docs/pages/monotype.md +0 -32
- package/docs/pages/news/v1-0.md +0 -37
- package/docs/pages/pin.md +0 -128
- package/docs/pages/setup.md +0 -46
- package/docs/pages/sprite.md +0 -17
- package/docs/pages/texture.md +0 -4
- package/docs/pages/transition.md +0 -46
- package/docs/pages/tree.md +0 -77
- package/docs/styles.css +0 -0
- package/docs/tsconfig.json +0 -24
- package/docs/vercel.json +0 -8
- package/docs/vocs.config.ts +0 -113
- package/example/basic-anim/app.js +0 -22
- package/example/basic-anim/index.html +0 -14
- package/example/basic-drawing/app.js +0 -53
- package/example/basic-drawing/index.html +0 -19
- package/example/basic-example/app.js +0 -33
- package/example/basic-example/index.html +0 -19
- package/example/basic-example/sample.png +0 -0
- package/example/basic-grid/app.js +0 -38
- package/example/basic-grid/index.html +0 -19
- package/example/basic-layout/app.js +0 -72
- package/example/basic-layout/index.html +0 -19
- package/example/basic-matrix/app.js +0 -35
- package/example/basic-matrix/box.png +0 -0
- package/example/basic-matrix/index.html +0 -19
- package/example/basic-mouse/app.js +0 -76
- package/example/basic-mouse/index.html +0 -19
- package/example/basic-package/app.js +0 -22
- package/example/basic-package/index.html +0 -19
- package/example/basic-package/main.png +0 -0
- package/example/basic-package/main.svg +0 -6
- package/example/basic-pinwheel/app.js +0 -24
- package/example/basic-pinwheel/index.html +0 -19
- package/example/basic-pinwheel/pinwheel.png +0 -0
- package/example/basic-row/app.js +0 -27
- package/example/basic-row/index.html +0 -19
- package/example/basic-row-fix/app.js +0 -33
- package/example/basic-row-fix/index.html +0 -19
- package/example/basic-stretch/app.js +0 -24
- package/example/basic-stretch/index.html +0 -19
- package/example/basic-string/app.js +0 -22
- package/example/basic-string/index.html +0 -19
- package/example/basic-tile/app.js +0 -24
- package/example/basic-tile/index.html +0 -19
- package/example/basic-tween/app.js +0 -49
- package/example/basic-tween/index.html +0 -19
- package/example/basic-window/app.js +0 -42
- package/example/basic-window/index.html +0 -19
- package/example/common/bezier.js +0 -62
- package/example/common/example.css +0 -58
- package/example/common/example.png +0 -0
- package/example/common/example.svg +0 -23
- package/example/common/p2.js +0 -10343
- package/example/common/pool.js +0 -92
- package/example/common/randomize.js +0 -100
- package/example/common/stage-p2.js +0 -451
- package/example/common/texture.js +0 -45
- package/example/common/timeout.js +0 -47
- package/example/example.svg +0 -23
- package/example/game-aero/app.js +0 -284
- package/example/game-aero/index.html +0 -21
- package/example/game-aero/main.png +0 -0
- package/example/game-aero/main.svg +0 -29
- package/example/game-asteroids/app.js +0 -444
- package/example/game-asteroids/index.html +0 -28
- package/example/game-asteroids/main.svg +0 -9
- package/example/game-breakout/app.js +0 -627
- package/example/game-breakout/bg.png +0 -0
- package/example/game-breakout/bg.svg +0 -11
- package/example/game-breakout/index.html +0 -19
- package/example/game-breakout/logo.svg +0 -31
- package/example/game-breakout/main.png +0 -0
- package/example/game-breakout/main.svg +0 -45
- package/example/game-breakout/texture.js +0 -51
- package/example/game-o/app.js +0 -1496
- package/example/game-o/index.html +0 -14
- package/example/game-o/main.png +0 -0
- package/example/game-o/textures.js +0 -203
- package/example/game-orbit/app.js +0 -497
- package/example/game-orbit/art/android.json +0 -13
- package/example/game-orbit/art/bg.svg +0 -62
- package/example/game-orbit/art/digit.svg +0 -140
- package/example/game-orbit/art/game.json +0 -14
- package/example/game-orbit/art/icon.svg +0 -128
- package/example/game-orbit/art/ios.json +0 -34
- package/example/game-orbit/art/main.svg +0 -56
- package/example/game-orbit/art/misc.json +0 -10
- package/example/game-orbit/art/splash.svg +0 -77
- package/example/game-orbit/index.html +0 -19
- package/example/game-orbit/media/bg.png +0 -0
- package/example/game-orbit/media/digit.png +0 -0
- package/example/game-orbit/media/main.png +0 -0
- package/example/game-orbit/textures.js +0 -40
- package/example/game-samegame/app.js +0 -244
- package/example/game-samegame/index.html +0 -19
- package/example/game-samegame/main.png +0 -0
- package/example/game-samegame/main.svg +0 -29
- package/example/game-samegame/textures.js +0 -15
- package/example/game-tictactoe/app.js +0 -183
- package/example/game-tictactoe/index.html +0 -19
- package/example/game-traffic/app.js +0 -383
- package/example/game-traffic/base.svg +0 -4
- package/example/game-traffic/bg.png +0 -0
- package/example/game-traffic/bg.svg +0 -10
- package/example/game-traffic/index.html +0 -19
- package/example/game-traffic/main.png +0 -0
- package/example/game-traffic/map-1.png +0 -0
- package/example/game-traffic/map-1.svg +0 -5
- package/example/game-traffic/textures.js +0 -24
- package/example/index.html +0 -30
- package/index.html +0 -6
- package/test/atlas-test.js +0 -189
- package/test/event-test.js +0 -82
- package/test/main-test.js +0 -19
- package/test/mouse-test.js +0 -110
- package/test/node-test.js +0 -177
- package/test/pin-test.js +0 -76
- package/test/transition-test.js +0 -40
- package/test/util/expect.js +0 -44
- package/test/util/memo.js +0 -24
- package/tsconfig.json +0 -18
- package/typedoc.json +0 -24
- package/vite.config.ts +0 -51
package/LICENSE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
Stage.js
|
|
1
|
+
Stage.js
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Copyright (c) Ali Shakiba
|
|
4
|
+
The MIT License (MIT)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
package/dist/stage.d.ts
CHANGED
|
@@ -14,11 +14,15 @@ export interface Vec2Value {
|
|
|
14
14
|
y: number;
|
|
15
15
|
}
|
|
16
16
|
export declare class Matrix {
|
|
17
|
+
/** x-scale */
|
|
17
18
|
a: number;
|
|
18
19
|
b: number;
|
|
19
20
|
c: number;
|
|
21
|
+
/** y-scale */
|
|
20
22
|
d: number;
|
|
23
|
+
/** x-translate */
|
|
21
24
|
e: number;
|
|
25
|
+
/** y-translate */
|
|
22
26
|
f: number;
|
|
23
27
|
constructor(a: number, b: number, c: number, d: number, e: number, f: number);
|
|
24
28
|
constructor(m: MatrixValue);
|
|
@@ -42,6 +46,14 @@ export declare class Matrix {
|
|
|
42
46
|
* Textures are used to clip and resize image objects.
|
|
43
47
|
*/
|
|
44
48
|
export declare abstract class Texture {
|
|
49
|
+
/** @hidden */ sx: number;
|
|
50
|
+
/** @hidden */ sy: number;
|
|
51
|
+
/** @hidden */ sw: number;
|
|
52
|
+
/** @hidden */ sh: number;
|
|
53
|
+
/** @hidden */ dx: number;
|
|
54
|
+
/** @hidden */ dy: number;
|
|
55
|
+
/** @hidden */ dw: number;
|
|
56
|
+
/** @hidden */ dh: number;
|
|
45
57
|
setSourceCoordinate(x: number, y: number): void;
|
|
46
58
|
setSourceDimension(w: number, h: number): void;
|
|
47
59
|
setDestinationCoordinate(x: number, y: number): void;
|
|
@@ -49,21 +61,28 @@ export declare abstract class Texture {
|
|
|
49
61
|
abstract getWidth(): number;
|
|
50
62
|
abstract getHeight(): number;
|
|
51
63
|
/**
|
|
52
|
-
*
|
|
53
|
-
* - (): This is used when a sprite draws its textures
|
|
54
|
-
* - (sx, sy, sw, sh, dx, dy, dw, dh): This is used when a piped texture passes drawing to it backend.
|
|
55
|
-
* - (dx, dy, dw, dh): I guess unused.
|
|
56
|
-
*
|
|
57
|
-
* Note: sx and sy are added to this._sx and this._sy.
|
|
64
|
+
* Defer draw spec to texture config. This is used when a sprite draws its textures.
|
|
58
65
|
*/
|
|
59
66
|
draw(context: CanvasRenderingContext2D): void;
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
/**
|
|
68
|
+
* This is probably unused.
|
|
69
|
+
* Note: dx, dy are added to this.dx, this.dy.
|
|
70
|
+
*/
|
|
71
|
+
draw(context: CanvasRenderingContext2D, dx: number, dy: number, dw: number, dh: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* This is used when a piped texture passes drawing to it backend.
|
|
74
|
+
* Note: sx, sy, dx, dy are added to this.sx, this.sy, this.dx, this.dy.
|
|
75
|
+
*/
|
|
76
|
+
draw(context: CanvasRenderingContext2D, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
|
|
62
77
|
}
|
|
63
78
|
export type TextureImageSource = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas;
|
|
64
79
|
export declare class ImageTexture extends Texture {
|
|
65
80
|
constructor(source?: TextureImageSource, pixelRatio?: number);
|
|
66
81
|
setSourceImage(image: TextureImageSource, pixelRatio?: number): void;
|
|
82
|
+
/**
|
|
83
|
+
* Add padding to the image texture. Padding can be negative.
|
|
84
|
+
*/
|
|
85
|
+
setPadding(padding: number): void;
|
|
67
86
|
getWidth(): number;
|
|
68
87
|
getHeight(): number;
|
|
69
88
|
}
|
|
@@ -77,19 +96,22 @@ export interface AtlasTextureDefinition {
|
|
|
77
96
|
right?: number;
|
|
78
97
|
bottom?: number;
|
|
79
98
|
}
|
|
80
|
-
export type
|
|
81
|
-
export type
|
|
82
|
-
export type AtlasTextureReferenceArray = AtlasTextureReferenceOne[];
|
|
99
|
+
export type MonotypeAtlasTextureDefinition = Record<string, AtlasTextureDefinition | Texture | string>;
|
|
100
|
+
export type AnimAtlasTextureDefinition = (AtlasTextureDefinition | Texture | string)[];
|
|
83
101
|
export interface AtlasDefinition {
|
|
84
102
|
name?: string;
|
|
85
103
|
image?: {
|
|
86
|
-
/** @deprecated */
|
|
87
|
-
url: string;
|
|
88
104
|
src: string;
|
|
105
|
+
/** If image is stored with higher resolution */
|
|
106
|
+
ratio?: number;
|
|
107
|
+
} | {
|
|
108
|
+
/** @deprecated Use src instead of url */
|
|
109
|
+
url: string;
|
|
89
110
|
ratio?: number;
|
|
90
111
|
};
|
|
112
|
+
/** Point per unit of texture definition, that is grid size */
|
|
91
113
|
ppu?: number;
|
|
92
|
-
textures?: Record<string, AtlasTextureDefinition |
|
|
114
|
+
textures?: Record<string, AtlasTextureDefinition | Texture | MonotypeAtlasTextureDefinition | AnimAtlasTextureDefinition>;
|
|
93
115
|
map?: (texture: AtlasTextureDefinition) => AtlasTextureDefinition;
|
|
94
116
|
/** @deprecated Use map */
|
|
95
117
|
filter?: (texture: AtlasTextureDefinition) => AtlasTextureDefinition;
|
|
@@ -133,7 +155,18 @@ export declare class TextureSelection {
|
|
|
133
155
|
one(subquery?: string): Texture;
|
|
134
156
|
array(arr?: Texture[]): Texture[];
|
|
135
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Register and load an atlas.
|
|
160
|
+
* If the atlas is already loaded, it is returned immediately.
|
|
161
|
+
* Otherwise, it returns a promise that resolves when the atlas is loaded.
|
|
162
|
+
*
|
|
163
|
+
* You can call this without awaiting the promise, and call `preload()` at the beginning of the app to ensure all atlases are loaded before they are used.
|
|
164
|
+
*/
|
|
136
165
|
export declare function atlas(def: AtlasDefinition | Atlas): Promise<Atlas>;
|
|
166
|
+
/**
|
|
167
|
+
* Preloads all atlases. This is useful to call at the beginning of the app, so that all textures are loaded before they are used.
|
|
168
|
+
*/
|
|
169
|
+
export declare const preload: (def: AtlasDefinition | Atlas) => Promise<void>;
|
|
137
170
|
/**
|
|
138
171
|
* When query argument is string, this function parses the query; looks up registered atlases; and returns a texture selection object.
|
|
139
172
|
*
|
|
@@ -141,7 +174,7 @@ export declare function atlas(def: AtlasDefinition | Atlas): Promise<Atlas>;
|
|
|
141
174
|
*/
|
|
142
175
|
export declare function texture(query: string | TextureSelectionInput): TextureSelection;
|
|
143
176
|
/**
|
|
144
|
-
* @deprecated
|
|
177
|
+
* @hidden @deprecated
|
|
145
178
|
* - 'in-pad': same as 'contain'
|
|
146
179
|
* - 'in': similar to 'contain' without centering
|
|
147
180
|
* - 'out-crop': same as 'cover'
|
|
@@ -154,78 +187,119 @@ export type LegacyFitMode = "in" | "out" | "out-crop" | "in-pad";
|
|
|
154
187
|
* - 'fill': fill provided space without maintaining aspect ratio
|
|
155
188
|
*/
|
|
156
189
|
export type FitMode = "contain" | "cover" | "fill" | LegacyFitMode;
|
|
157
|
-
/** @hidden */
|
|
158
|
-
export interface Pinned {
|
|
159
|
-
pin(pin: object): this;
|
|
160
|
-
pin(key: string, value: any): this;
|
|
161
|
-
pin(key: string): any;
|
|
162
|
-
size(w: number, h: number): this;
|
|
163
|
-
width(): number;
|
|
164
|
-
width(w: number): this;
|
|
165
|
-
height(): number;
|
|
166
|
-
height(h: number): this;
|
|
167
|
-
offset(a: Vec2Value): this;
|
|
168
|
-
offset(a: number, b: number): this;
|
|
169
|
-
rotate(a: number): this;
|
|
170
|
-
skew(a: Vec2Value): this;
|
|
171
|
-
skew(a: number, b: number): this;
|
|
172
|
-
scale(a: Vec2Value): this;
|
|
173
|
-
scale(a: number, b: number): this;
|
|
174
|
-
alpha(a: number, ta?: number): this;
|
|
175
|
-
}
|
|
176
190
|
export declare class Pin {
|
|
177
191
|
reset(): void;
|
|
178
192
|
toString(): string;
|
|
179
193
|
absoluteMatrix(): Matrix;
|
|
180
194
|
relativeMatrix(): Matrix;
|
|
181
195
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
*/
|
|
195
|
-
|
|
196
|
-
|
|
196
|
+
export interface SetPinType {
|
|
197
|
+
alpha?: number;
|
|
198
|
+
textureAlpha?: number;
|
|
199
|
+
width?: number;
|
|
200
|
+
height?: number;
|
|
201
|
+
scale?: number;
|
|
202
|
+
scaleX?: number;
|
|
203
|
+
scaleY?: number;
|
|
204
|
+
skew?: number;
|
|
205
|
+
skewX?: number;
|
|
206
|
+
skewY?: number;
|
|
207
|
+
rotation?: number;
|
|
208
|
+
/** Center of scale/skew/rotate */
|
|
209
|
+
pivot?: number;
|
|
210
|
+
/** Center of scale/skew/rotate */
|
|
211
|
+
pivotX?: number;
|
|
212
|
+
/** Center of scale/skew/rotate */
|
|
213
|
+
pivotY?: number;
|
|
214
|
+
/** Offset in parent coordination */
|
|
215
|
+
offset?: number;
|
|
216
|
+
/** Offset in parent coordination */
|
|
217
|
+
offsetX?: number;
|
|
218
|
+
/** Offset in parent coordination */
|
|
219
|
+
offsetY?: number;
|
|
220
|
+
/** A point on parent where this component is offset from, 0 is top/left, 1 is bottom/right */
|
|
221
|
+
align?: number;
|
|
222
|
+
/** A point on parent where this component is offset from, 0 is top/left, 1 is bottom/right */
|
|
223
|
+
alignX?: number;
|
|
224
|
+
/** A point on parent where this component is offset from, 0 is top/left, 1 is bottom/right */
|
|
225
|
+
alignY?: number;
|
|
226
|
+
/** A point on this component which is offset from parent, 0 is top/left, 1 is bottom/right */
|
|
227
|
+
handle?: number;
|
|
228
|
+
/** A point on this component which is offset from parent, 0 is top/left, 1 is bottom/right */
|
|
229
|
+
handleX?: number;
|
|
230
|
+
/** A point on this component which is offset from parent, 0 is top/left, 1 is bottom/right */
|
|
231
|
+
handleY?: number;
|
|
232
|
+
/** @hidden @deprecated Use component.fit() */
|
|
233
|
+
resizeMode?: FitMode;
|
|
234
|
+
/** @hidden @deprecated Use component.fit() */
|
|
235
|
+
resizeWidth?: number;
|
|
236
|
+
/** @hidden @deprecated Use component.fit() */
|
|
237
|
+
resizeHeight?: number;
|
|
238
|
+
/** @hidden @deprecated Use component.fit() */
|
|
239
|
+
scaleMode?: FitMode;
|
|
240
|
+
/** @hidden @deprecated Use component.fit() */
|
|
241
|
+
scaleWidth?: number;
|
|
242
|
+
/** @hidden @deprecated Use component.fit() */
|
|
243
|
+
scaleHeight?: number;
|
|
244
|
+
matrix?: Matrix;
|
|
245
|
+
}
|
|
246
|
+
export interface GetPinType {
|
|
247
|
+
alpha: number;
|
|
248
|
+
textureAlpha: number;
|
|
249
|
+
width: number;
|
|
250
|
+
height: number;
|
|
251
|
+
boxWidth: number;
|
|
252
|
+
boxHeight: number;
|
|
253
|
+
scaleX: number;
|
|
254
|
+
scaleY: number;
|
|
255
|
+
skewX: number;
|
|
256
|
+
skewY: number;
|
|
257
|
+
rotation: number;
|
|
258
|
+
pivotX: number;
|
|
259
|
+
pivotY: number;
|
|
260
|
+
offsetX: number;
|
|
261
|
+
offsetY: number;
|
|
262
|
+
alignX: number;
|
|
263
|
+
alignY: number;
|
|
264
|
+
handleX: number;
|
|
265
|
+
handleY: number;
|
|
266
|
+
}
|
|
267
|
+
export type SetPinKeys = keyof SetPinType;
|
|
268
|
+
export type GetPinKeys = keyof GetPinType;
|
|
269
|
+
export type EasingFunctionQuery = string;
|
|
270
|
+
export type EasingName = "linear" | "linear-in" | "linear-out" | "linear-in-out" | "linear-out-in" | "quad" | "quad-in" | "quad-out" | "quad-in-out" | "quad-out-in" | "cubic" | "cubic-in" | "cubic-out" | "cubic-in-out" | "cubic-out-in" | "quart" | "quart-in" | "quart-out" | "quart-in-out" | "quart-out-in" | "quint" | "quint-in" | "quint-out" | "quint-in-out" | "quint-out-in" | "sin" | "sin-in" | "sin-out" | "sin-in-out" | "sin-out-in" | "sine" | "sine-in" | "sine-out" | "sine-in-out" | "sine-out-in" | "exp" | "exp-in" | "exp-out" | "exp-in-out" | "exp-out-in" | "expo" | "expo-in" | "expo-out" | "expo-in-out" | "expo-out-in" | "circle" | "circle-in" | "circle-out" | "circle-in-out" | "circle-out-in" | "circ" | "circ-in" | "circ-out" | "circ-in-out" | "circ-out-in" | "bounce" | "bounce-in" | "bounce-out" | "bounce-in-out" | "bounce-out-in" | "poly" | "poly-in" | "poly-out" | "poly-in-out" | "poly-out-in" | "elastic" | "elastic-in" | "elastic-out" | "elastic-in-out" | "elastic-out-in" | "back" | "back-in" | "back-out" | "back-in-out" | "back-out-in";
|
|
197
271
|
export type TransitionOptions = {
|
|
198
272
|
duration?: number;
|
|
199
273
|
delay?: number;
|
|
200
274
|
append?: boolean;
|
|
201
275
|
};
|
|
202
|
-
export type TransitionEndListener = (this:
|
|
203
|
-
export declare class Transition
|
|
204
|
-
constructor(owner:
|
|
276
|
+
export type TransitionEndListener = (this: Component) => void;
|
|
277
|
+
export declare class Transition {
|
|
278
|
+
constructor(owner: Component, options?: TransitionOptions);
|
|
205
279
|
tween(opts?: TransitionOptions): Transition;
|
|
206
280
|
tween(duration?: number, delay?: number): Transition;
|
|
207
281
|
duration(duration: number): this;
|
|
208
282
|
delay(delay: number): this;
|
|
209
|
-
ease(easing:
|
|
283
|
+
ease(easing: EasingName, ...params: number[]): this;
|
|
284
|
+
ease(easing: (p: number) => number): this;
|
|
285
|
+
/** @hidden */
|
|
286
|
+
ease(easing: EasingFunctionQuery): this;
|
|
210
287
|
done(fn: TransitionEndListener): this;
|
|
211
288
|
hide(): this;
|
|
212
289
|
remove(): this;
|
|
213
|
-
pin(key:
|
|
214
|
-
pin(obj:
|
|
215
|
-
pin(key: string): any;
|
|
290
|
+
pin(key: SetPinKeys, value: any): this;
|
|
291
|
+
pin(obj: SetPinType): this;
|
|
216
292
|
/**
|
|
217
|
-
* @deprecated Use .done(fn) instead.
|
|
293
|
+
* @hidden @deprecated Use .done(fn) instead.
|
|
218
294
|
*/
|
|
219
295
|
then(fn: TransitionEndListener): this;
|
|
220
296
|
/**
|
|
221
|
-
* @deprecated this doesn't do anything anymore, call transition on the
|
|
297
|
+
* @hidden @deprecated this doesn't do anything anymore, call transition on the component instead.
|
|
222
298
|
*/
|
|
223
299
|
clear(forward: boolean): this;
|
|
224
300
|
size(w: number, h: number): this;
|
|
225
301
|
width(w: number): this;
|
|
226
|
-
width(): number;
|
|
227
302
|
height(h: number): this;
|
|
228
|
-
height(): number;
|
|
229
303
|
offset(value: Vec2Value): this;
|
|
230
304
|
offset(x: number, y: number): this;
|
|
231
305
|
rotate(a: number): this;
|
|
@@ -233,45 +307,53 @@ export declare class Transition implements Pinned {
|
|
|
233
307
|
skew(x: number, y: number): this;
|
|
234
308
|
scale(value: Vec2Value): this;
|
|
235
309
|
scale(x: number, y: number): this;
|
|
310
|
+
scale(s: number): this;
|
|
236
311
|
alpha(a: number, ta?: number): this;
|
|
237
312
|
}
|
|
238
|
-
export interface
|
|
313
|
+
export interface ComponentVisitor<D> {
|
|
239
314
|
reverse?: boolean;
|
|
240
315
|
visible?: boolean;
|
|
241
|
-
start?: (
|
|
242
|
-
end?: (
|
|
316
|
+
start?: (component: Component, data?: D) => boolean | void;
|
|
317
|
+
end?: (component: Component, data?: D) => boolean | void;
|
|
243
318
|
}
|
|
244
|
-
export type
|
|
245
|
-
export type
|
|
246
|
-
/** @deprecated Use
|
|
247
|
-
export declare function create():
|
|
248
|
-
/** @deprecated Use maximize() */
|
|
249
|
-
export declare function layer():
|
|
250
|
-
/** @deprecated Use minimize() */
|
|
251
|
-
export declare function box():
|
|
252
|
-
|
|
253
|
-
export declare function
|
|
254
|
-
export declare function
|
|
255
|
-
export declare function
|
|
256
|
-
export declare function
|
|
257
|
-
declare
|
|
319
|
+
export type ComponentTickListener<T> = (this: T, elapsed: number, now: number, last: number) => boolean | void;
|
|
320
|
+
export type ComponentEventListener<T> = (this: T, ...args: any[]) => void;
|
|
321
|
+
/** @hidden @deprecated Use component() */
|
|
322
|
+
export declare function create(): Component;
|
|
323
|
+
/** @hidden @deprecated Use maximize() */
|
|
324
|
+
export declare function layer(): Component;
|
|
325
|
+
/** @hidden @deprecated Use minimize() */
|
|
326
|
+
export declare function box(): Component;
|
|
327
|
+
/** @hidden @deprecated */
|
|
328
|
+
export declare function layout(): Component;
|
|
329
|
+
export declare function component(): Component;
|
|
330
|
+
export declare function row(align: number): Component;
|
|
331
|
+
export declare function column(align: number): Component;
|
|
332
|
+
export declare function minimize(): Component;
|
|
333
|
+
export declare function maximize(): Component;
|
|
334
|
+
export declare class Component {
|
|
258
335
|
MAX_ELAPSE: number;
|
|
259
336
|
constructor();
|
|
260
337
|
matrix(relative?: boolean): Matrix;
|
|
261
|
-
/** @hidden */
|
|
338
|
+
/** @hidden @deprecated */
|
|
262
339
|
getPixelRatio(): number;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
340
|
+
/** @hidden This is not accurate before first tick */
|
|
341
|
+
getDevicePixelRatio(): number;
|
|
342
|
+
/** @hidden This is not accurate before first tick */
|
|
343
|
+
getLogicalPixelRatio(): number;
|
|
344
|
+
pin(key: GetPinKeys): any;
|
|
345
|
+
pin(key: SetPinKeys, value: any): this;
|
|
346
|
+
pin(obj: SetPinType): this;
|
|
266
347
|
pin(): Pin;
|
|
267
348
|
fit(width: number, height: number, mode?: FitMode): this;
|
|
349
|
+
/** @hidden @deprecated */
|
|
268
350
|
fit(fit: object): this;
|
|
269
351
|
/** @hidden @deprecated Use fit */
|
|
270
352
|
scaleTo(a: any, b?: any, c?: any): this;
|
|
271
353
|
toString(): string;
|
|
272
|
-
/** @deprecated Use label() */
|
|
354
|
+
/** @hidden @deprecated Use label() */
|
|
273
355
|
id(): string;
|
|
274
|
-
/** @deprecated Use label() */
|
|
356
|
+
/** @hidden @deprecated Use label() */
|
|
275
357
|
id(label: string): this;
|
|
276
358
|
label(): string;
|
|
277
359
|
label(label: string): this;
|
|
@@ -281,36 +363,44 @@ declare class Node$1 implements Pinned {
|
|
|
281
363
|
visible(): boolean;
|
|
282
364
|
hide(): this;
|
|
283
365
|
show(): this;
|
|
284
|
-
parent():
|
|
285
|
-
next(visible?: boolean):
|
|
286
|
-
prev(visible?: boolean):
|
|
287
|
-
first(visible?: boolean):
|
|
288
|
-
last(visible?: boolean):
|
|
289
|
-
visit<P>(visitor:
|
|
290
|
-
append(...child:
|
|
291
|
-
append(child:
|
|
292
|
-
prepend(...child:
|
|
293
|
-
prepend(child:
|
|
294
|
-
appendTo(parent:
|
|
295
|
-
prependTo(parent:
|
|
296
|
-
insertNext(sibling:
|
|
297
|
-
insertPrev(sibling:
|
|
298
|
-
insertAfter(prev:
|
|
299
|
-
insertBefore(next:
|
|
300
|
-
remove(child?:
|
|
366
|
+
parent(): Component;
|
|
367
|
+
next(visible?: boolean): Component;
|
|
368
|
+
prev(visible?: boolean): Component;
|
|
369
|
+
first(visible?: boolean): Component;
|
|
370
|
+
last(visible?: boolean): Component;
|
|
371
|
+
visit<P>(visitor: ComponentVisitor<P>, payload?: P): boolean | void;
|
|
372
|
+
append(...child: Component[]): this;
|
|
373
|
+
append(child: Component[]): this;
|
|
374
|
+
prepend(...child: Component[]): this;
|
|
375
|
+
prepend(child: Component[]): this;
|
|
376
|
+
appendTo(parent: Component): this;
|
|
377
|
+
prependTo(parent: Component): this;
|
|
378
|
+
insertNext(sibling: Component, more?: Component): this;
|
|
379
|
+
insertPrev(sibling: Component, more?: Component): this;
|
|
380
|
+
insertAfter(prev: Component): this;
|
|
381
|
+
insertBefore(next: Component): this;
|
|
382
|
+
remove(child?: Component, more?: any): this;
|
|
301
383
|
empty(): this;
|
|
302
384
|
touch(): this;
|
|
385
|
+
/** @hidden */
|
|
303
386
|
prerender(): void;
|
|
387
|
+
/** @hidden */
|
|
388
|
+
prerenderTexture(): void;
|
|
389
|
+
/** @hidden */
|
|
390
|
+
private renderedBefore;
|
|
391
|
+
/** @hidden */
|
|
304
392
|
render(context: CanvasRenderingContext2D): void;
|
|
305
|
-
|
|
306
|
-
|
|
393
|
+
/** @hidden */
|
|
394
|
+
renderTexture(context: CanvasRenderingContext2D): void;
|
|
395
|
+
tick(callback: ComponentTickListener<this>, before?: boolean): void;
|
|
396
|
+
untick(callback: ComponentTickListener<this>): void;
|
|
307
397
|
timeout(callback: () => any, time: number): void;
|
|
308
398
|
setTimeout(callback: () => any, time: number): (t: number) => boolean;
|
|
309
|
-
clearTimeout(timer:
|
|
310
|
-
on(types: string, listener:
|
|
311
|
-
off(types: string, listener:
|
|
312
|
-
listeners(type: string):
|
|
313
|
-
publish(name: string, args?: any): number;
|
|
399
|
+
clearTimeout(timer: ComponentTickListener<this>): void;
|
|
400
|
+
on(types: string, listener: ComponentEventListener<this>): this;
|
|
401
|
+
off(types: string, listener: ComponentEventListener<this>): this;
|
|
402
|
+
listeners(type: string): ComponentEventListener<Component>[];
|
|
403
|
+
publish(name: string, args?: any[]): number;
|
|
314
404
|
size(w: number, h: number): this;
|
|
315
405
|
width(w: number): this;
|
|
316
406
|
width(): number;
|
|
@@ -323,15 +413,18 @@ declare class Node$1 implements Pinned {
|
|
|
323
413
|
skew(x: number, y: number): this;
|
|
324
414
|
scale(value: Vec2Value): this;
|
|
325
415
|
scale(x: number, y: number): this;
|
|
416
|
+
scale(s: number): this;
|
|
326
417
|
alpha(a: number, ta?: number): this;
|
|
327
418
|
tween(opts?: TransitionOptions): Transition;
|
|
328
419
|
tween(duration?: number, delay?: number, append?: boolean): Transition;
|
|
329
420
|
row(align: number): this;
|
|
330
421
|
column(align: number): this;
|
|
331
|
-
|
|
332
|
-
|
|
422
|
+
/** @hidden @deprecated This is replaced with direction to avoid name collision with pin.align */
|
|
423
|
+
align(direction: "row" | "column", align: number): this;
|
|
424
|
+
direction(direction: "row" | "column", align: number): this;
|
|
425
|
+
/** @hidden @deprecated Use minimize() */
|
|
333
426
|
box(): this;
|
|
334
|
-
/** @deprecated Use minimize() */
|
|
427
|
+
/** @hidden @deprecated Use minimize() */
|
|
335
428
|
layer(): this;
|
|
336
429
|
/**
|
|
337
430
|
* Set size to match largest child size.
|
|
@@ -351,15 +444,17 @@ declare class Node$1 implements Pinned {
|
|
|
351
444
|
spacing(space: number): this;
|
|
352
445
|
}
|
|
353
446
|
export declare function sprite(frame?: TextureSelectionInput): Sprite;
|
|
354
|
-
export declare class Sprite extends
|
|
447
|
+
export declare class Sprite extends Component {
|
|
355
448
|
constructor();
|
|
356
449
|
texture(frame: TextureSelectionInput): this;
|
|
357
450
|
/** @deprecated */
|
|
358
451
|
image(frame: TextureSelectionInput): this;
|
|
359
452
|
tile(inner?: boolean): this;
|
|
360
453
|
stretch(inner?: boolean): this;
|
|
361
|
-
|
|
362
|
-
|
|
454
|
+
/** @hidden */
|
|
455
|
+
prerenderTexture(): void;
|
|
456
|
+
/** @hidden */
|
|
457
|
+
renderTexture(context: CanvasRenderingContext2D): void;
|
|
363
458
|
}
|
|
364
459
|
export type CanvasTextureDrawer = (this: CanvasTexture) => void;
|
|
365
460
|
export type CanvasTextureMemoizer = (this: CanvasTexture) => any;
|
|
@@ -375,15 +470,17 @@ export type LegacyCanvasSpriteDrawer = (ratio: number, texture: CanvasTexture, s
|
|
|
375
470
|
export declare class CanvasTexture extends ImageTexture {
|
|
376
471
|
constructor();
|
|
377
472
|
/**
|
|
378
|
-
*
|
|
473
|
+
* Set texture size to given width and height, and set canvas size to texture size multiply by pixelRatio.
|
|
379
474
|
*/
|
|
380
|
-
setSize(
|
|
475
|
+
setSize(destWidth: number, destHeight: number, pixelRatio?: number): void;
|
|
381
476
|
getContext(type?: string, attributes?: any): CanvasRenderingContext2D;
|
|
382
477
|
/**
|
|
383
|
-
* @experimental
|
|
478
|
+
* @hidden @experimental
|
|
384
479
|
*
|
|
385
480
|
* This is the ratio of screen pixel to this canvas pixel.
|
|
386
481
|
*/
|
|
482
|
+
getDevicePixelRatio(): number;
|
|
483
|
+
/** @hidden @deprecated */
|
|
387
484
|
getOptimalPixelRatio(): number;
|
|
388
485
|
setMemoizer(memoizer: CanvasTextureMemoizer): void;
|
|
389
486
|
setDrawer(drawer: CanvasTextureDrawer): void;
|
|
@@ -446,7 +543,7 @@ export type Viewbox = {
|
|
|
446
543
|
height: number;
|
|
447
544
|
mode?: FitMode;
|
|
448
545
|
};
|
|
449
|
-
export declare class Root extends
|
|
546
|
+
export declare class Root extends Component {
|
|
450
547
|
canvas: HTMLCanvasElement | null;
|
|
451
548
|
dom: HTMLCanvasElement | null;
|
|
452
549
|
context: CanvasRenderingContext2D | null;
|
|
@@ -455,6 +552,7 @@ export declare class Root extends Node$1 {
|
|
|
455
552
|
sleep: boolean;
|
|
456
553
|
constructor();
|
|
457
554
|
mount: (configs?: RootConfig) => void;
|
|
555
|
+
resizeCanvas(): void;
|
|
458
556
|
/** @hidden */
|
|
459
557
|
debugDrawAxis: number;
|
|
460
558
|
private renderDebug;
|
|
@@ -483,22 +581,26 @@ export declare class Root extends Node$1 {
|
|
|
483
581
|
flipY(y: boolean): this;
|
|
484
582
|
}
|
|
485
583
|
export declare function anim(frames: string | TextureSelectionInputArray, fps?: number): Anim;
|
|
486
|
-
export declare class Anim extends
|
|
584
|
+
export declare class Anim extends Component {
|
|
487
585
|
constructor();
|
|
586
|
+
/** @hidden */
|
|
587
|
+
renderTexture(context: CanvasRenderingContext2D): void;
|
|
488
588
|
fps(fps?: number): number | this;
|
|
489
589
|
/** @deprecated Use frames */
|
|
490
590
|
setFrames(frames: string | TextureSelectionInputArray): this;
|
|
491
591
|
frames(frames: string | TextureSelectionInputArray): this;
|
|
492
592
|
length(): number;
|
|
493
593
|
gotoFrame(frame: number, resize?: boolean): this;
|
|
494
|
-
moveFrame(move:
|
|
495
|
-
repeat(repeat:
|
|
594
|
+
moveFrame(move: number): this;
|
|
595
|
+
repeat(repeat: number, callback?: () => void): this;
|
|
496
596
|
play(frame?: number): this;
|
|
497
597
|
stop(frame?: number): this;
|
|
498
598
|
}
|
|
499
599
|
export declare function monotype(chars: string | Record<string, Texture> | ((char: string) => Texture)): Monotype;
|
|
500
|
-
export declare class Monotype extends
|
|
600
|
+
export declare class Monotype extends Component {
|
|
501
601
|
constructor();
|
|
602
|
+
/** @hidden */
|
|
603
|
+
renderTexture(context: CanvasRenderingContext2D): void;
|
|
502
604
|
/** @deprecated Use frames */
|
|
503
605
|
setFont(frames: string | Record<string, Texture> | ((char: string) => Texture)): this;
|
|
504
606
|
frames(frames: string | Record<string, Texture> | ((char: string) => Texture)): this;
|
|
@@ -508,7 +610,11 @@ export declare class Monotype extends Node$1 {
|
|
|
508
610
|
}
|
|
509
611
|
|
|
510
612
|
export {
|
|
511
|
-
|
|
613
|
+
Component as Node,
|
|
614
|
+
Monotype as Str,
|
|
615
|
+
Sprite as Image,
|
|
616
|
+
monotype as string,
|
|
617
|
+
sprite as image,
|
|
512
618
|
};
|
|
513
619
|
|
|
514
620
|
export {};
|