@rive-app/canvas-advanced 1.0.69 → 1.0.72
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/canvas_advanced.mjs +1 -1
- package/package.json +4 -2
- package/rive.wasm +0 -0
- package/rive_advanced.mjs.d.ts +325 -0
package/canvas_advanced.mjs
CHANGED
|
@@ -96,7 +96,7 @@ Fa;var e=Ia;var f=Ja;var n=function(){return Ga};var g=1}else 4===a&&(d=Ka,e=La,
|
|
|
96
96
|
readValueFromPointer:Hb,da:function(m){vb(m)}})},L:function(b,a,c,d,e,f){Fb[b]={name:R(a),Ba:Z(c,d),ja:Z(e,f),Na:[]}},I:function(b,a,c,d,e,f,n,g,m,h){Fb[b].Na.push({hb:R(a),nb:c,lb:Z(d,e),mb:f,yb:n,xb:Z(g,m),zb:h})},G:function(b,a){a=R(a);X(b,{qb:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},m:function(b,a,c){b=kb(b);a=Ab(a,"emval::as");var d=[],e=Q(d);J[c>>2]=e;return a.toWireType(d,b)},u:function(b,a,c,d,e){b=qc[b];a=kb(a);c=pc(c);var f=[];J[d>>2]=Q(f);return b(a,
|
|
97
97
|
c,f,e)},e:function(b,a,c,d){b=qc[b];a=kb(a);c=pc(c);b(a,c,null,d)},M:kc,d:function(b,a){var c=sc(b,a),d=c[0];a=d.name+"_$"+c.slice(1).map(function(p){return p.name}).join("_")+"$";var e=tc[a];if(void 0!==e)return e;e=["retType"];for(var f=[d],n="",g=0;g<b-1;++g)n+=(0!==g?", ":"")+"arg"+g,e.push("argType"+g),f.push(c[1+g]);var m="return function "+eb("methodCaller_"+a)+"(handle, name, destructors, args) {\n",h=0;for(g=0;g<b-1;++g)m+=" var arg"+g+" = argType"+g+".readValueFromPointer(args"+(h?"+"+
|
|
98
98
|
h:"")+");\n",h+=c[g+1].argPackAdvance;m+=" var rv = handle[name]("+n+");\n";for(g=0;g<b-1;++g)c[g+1].deleteObject&&(m+=" argType"+g+".deleteObject(arg"+g+");\n");d.qb||(m+=" return retType.toWireType(destructors, rv);\n");e.push(m+"};\n");b=gc(e).apply(null,f);e=rc(b);return tc[a]=e},H:function(b){b=pc(b);return Q(k[b])},J:function(b,a){b=kb(b);a=kb(a);return Q(b[a])},w:function(b){4<b&&(O[b].Ca+=1)},D:function(b){return Q(pc(b))},x:function(b){var a=kb(b);Gb(a);kc(b)},o:function(b,a){b=
|
|
99
|
-
Ab(b,"_emval_take_value");b=b.readValueFromPointer(a);return Q(b)},v:function(){ta("")},p:function(b){var a=D.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(b,d);0<d%65536&&(d+=65536-d%65536);a:{try{za.grow(Math.min(2147483648,d)-Na.byteLength+65535>>>16);Ra();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},
|
|
99
|
+
Ab(b,"_emval_take_value");b=b.readValueFromPointer(a);return Q(b)},v:function(){ta("")},p:function(b){var a=D.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);d=Math.max(b,d);0<d%65536&&(d+=65536-d%65536);a:{try{za.grow(Math.min(2147483648,d)-Na.byteLength+65535>>>16);Ra();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},C:function(){return 0},y:function(){},B:function(b,a,c,d){for(var e=0,f=0;f<c;f++){var n=J[a>>2],g=J[a+4>>2];a+=
|
|
100
100
|
8;for(var m=0;m<g;m++){var h=D[n+m],p=uc[b];0===h||10===h?((1===b?ua:va)(Ca(p,0)),p.length=0):p.push(h)}e+=g}J[d>>2]=e;return 0},A:function(){}};
|
|
101
101
|
(function(){function b(e){k.asm=e.exports;za=k.asm.N;Ra();Sa=k.asm.T;Ua.unshift(k.asm.O);Xa--;k.monitorRunDependencies&&k.monitorRunDependencies(Xa);0==Xa&&(null!==Ya&&(clearInterval(Ya),Ya=null),Za&&(e=Za,Za=null,e()))}function a(e){b(e.instance)}function c(e){return cb().then(function(f){return WebAssembly.instantiate(f,d)}).then(function(f){return f}).then(e,function(f){va("failed to asynchronously prepare wasm: "+f);ta(f)})}var d={a:yc};Xa++;k.monitorRunDependencies&&k.monitorRunDependencies(Xa);
|
|
102
102
|
if(k.instantiateWasm)try{return k.instantiateWasm(d,b)}catch(e){return va("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return ya||"function"!==typeof WebAssembly.instantiateStreaming||$a()||M.startsWith("file://")||"function"!==typeof fetch?c(a):fetch(M,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(a,function(f){va("wasm streaming compile failed: "+f);va("falling back to ArrayBuffer instantiation");return c(a)})})})().catch(ba);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rive-app/canvas-advanced",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.72",
|
|
4
4
|
"description": "Rive's lightweight low-level canvas based web api.",
|
|
5
5
|
"main": "canvas_advanced.mjs",
|
|
6
6
|
"homepage": "https://rive.app",
|
|
@@ -23,8 +23,10 @@
|
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"files": [
|
|
25
25
|
"canvas_advanced.mjs",
|
|
26
|
-
"rive.wasm"
|
|
26
|
+
"rive.wasm",
|
|
27
|
+
"rive_advanced.mjs.d.ts"
|
|
27
28
|
],
|
|
29
|
+
"types": "rive_advanced.mjs.d.ts",
|
|
28
30
|
"dependencies": {},
|
|
29
31
|
"browser": {
|
|
30
32
|
"fs": false,
|
package/rive.wasm
CHANGED
|
Binary file
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
interface RiveOptions {
|
|
2
|
+
locateFile(file: string): string
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
declare function Rive(options?: RiveOptions): Promise<RiveCanvas>;
|
|
6
|
+
export default Rive;
|
|
7
|
+
|
|
8
|
+
export interface RiveCanvas {
|
|
9
|
+
Alignment: AlignmentFactory;
|
|
10
|
+
CanvasRenderer: typeof CanvasRenderer;
|
|
11
|
+
LinearAnimationInstance: typeof LinearAnimationInstance;
|
|
12
|
+
StateMachineInstance: typeof StateMachineInstance;
|
|
13
|
+
Mat2D: typeof Mat2D;
|
|
14
|
+
Vec2D: typeof Vec2D;
|
|
15
|
+
AABB: AABB;
|
|
16
|
+
SMIInput: typeof SMIInput;
|
|
17
|
+
renderFactory: CanvasRenderFactory;
|
|
18
|
+
|
|
19
|
+
BlendMode: typeof BlendMode;
|
|
20
|
+
FillRule: typeof FillRule;
|
|
21
|
+
Fit: typeof Fit;
|
|
22
|
+
RenderPaintStyle: typeof RenderPaintStyle;
|
|
23
|
+
StrokeCap: typeof StrokeCap;
|
|
24
|
+
StrokeJoin: typeof StrokeJoin;
|
|
25
|
+
|
|
26
|
+
load(buffer: Uint8Array): Promise<File>;
|
|
27
|
+
makeRenderer(canvas: HTMLCanvasElement | OffscreenCanvas, useOffscreenRenderer?: boolean) : CanvasRenderer;
|
|
28
|
+
computeAlignment(fit: Fit, alignment: Alignment, frame: AABB, content: AABB): Mat2D;
|
|
29
|
+
mapXY(matrix: Mat2D, canvasPoints: Vec2D): Vec2D;
|
|
30
|
+
requestAnimationFrame(cb: (timestamp: DOMHighResTimeStamp) => void): number;
|
|
31
|
+
cancelAnimationFrame(requestID: number): void;
|
|
32
|
+
enableFPSCounter(cb: (fps: number) => void): void;
|
|
33
|
+
disableFPSCounter(): void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//////////////
|
|
37
|
+
// RENDERER //
|
|
38
|
+
//////////////
|
|
39
|
+
|
|
40
|
+
export declare class RendererWrapper {
|
|
41
|
+
save(): void;
|
|
42
|
+
restore(): void;
|
|
43
|
+
transform(tranform: Mat2D): void;
|
|
44
|
+
drawPath(path: RenderPath, paint: RenderPaint): void;
|
|
45
|
+
clipPath(path: RenderPath): void;
|
|
46
|
+
clear(): void;
|
|
47
|
+
flush(): void;
|
|
48
|
+
translate(x: number, y: number): void;
|
|
49
|
+
rotate(angle: number): void;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export declare class RenderPathWrapper {
|
|
53
|
+
reset(): void;
|
|
54
|
+
addPath(path: CommandPath, transform: Mat2D): void;
|
|
55
|
+
fillRule(value: FillRule): void;
|
|
56
|
+
moveTo(x: number, y: number): void
|
|
57
|
+
lineTo(x: number, y: number): void
|
|
58
|
+
cubicTo(ox: number, oy: number, ix: number, iy: number, x: number, y: number): void;
|
|
59
|
+
close(): void;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export declare class RenderPaintWrapper {
|
|
63
|
+
color(value: number): void;
|
|
64
|
+
thickness(value: number): void;
|
|
65
|
+
join(value: StrokeJoin): void;
|
|
66
|
+
cap(value: StrokeCap): void;
|
|
67
|
+
blendMode(value: BlendMode): void;
|
|
68
|
+
style(value: RenderPaintStyle): void;
|
|
69
|
+
linearGradient(sx: number, sy: number, ex: number, ey: number): void;
|
|
70
|
+
radialGradient(sx: number, sy: number, ex: number, ey: number): void;
|
|
71
|
+
addStop(color: number, stop: number): void;
|
|
72
|
+
completeGradient(): void;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export declare class Renderer extends RendererWrapper {
|
|
76
|
+
align(fit: Fit, alignment: Alignment, frame: AABB, content: AABB): void
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export declare class CommandPath { }
|
|
80
|
+
|
|
81
|
+
export declare class RenderPath extends RenderPathWrapper { }
|
|
82
|
+
|
|
83
|
+
export declare class RenderPaint extends RenderPaintWrapper { }
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
/////////////////////
|
|
87
|
+
// CANVAS RENDERER //
|
|
88
|
+
/////////////////////
|
|
89
|
+
|
|
90
|
+
export declare class CanvasRenderer extends Renderer {
|
|
91
|
+
constructor(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export declare class CanvasRenderPaint extends RenderPaint {
|
|
95
|
+
draw(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, path: RenderPath): void;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export declare class CanvasRenderPath extends RenderPath { }
|
|
99
|
+
|
|
100
|
+
export interface CanvasRenderFactory {
|
|
101
|
+
makeRenderPaint(): CanvasRenderPaint;
|
|
102
|
+
makeRenderPath(): CanvasRenderPath;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//////////
|
|
106
|
+
// File //
|
|
107
|
+
//////////
|
|
108
|
+
export declare class File {
|
|
109
|
+
defaultArtboard(): Artboard; // rive::ArtboardInstance
|
|
110
|
+
artboardByName(name: string): Artboard; // rive::ArtboardInstance
|
|
111
|
+
artboardByIndex(index: number): Artboard; // rive::ArtboardInstance
|
|
112
|
+
artboardCount(): number;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// This wraps rive::ArtboardInstance*
|
|
116
|
+
export declare class Artboard {
|
|
117
|
+
get name(): string;
|
|
118
|
+
get bounds(): AABB;
|
|
119
|
+
get frameOrigin(): boolean;
|
|
120
|
+
set frameOrigin(val: boolean);
|
|
121
|
+
// Deletes the backing wasm artboard instance
|
|
122
|
+
delete(): void;
|
|
123
|
+
advance(sec: number): any;
|
|
124
|
+
draw(renderer: CanvasRenderer): void;
|
|
125
|
+
animationByName(name: string): LinearAnimationInstance;
|
|
126
|
+
animationByIndex(index: number): LinearAnimationInstance;
|
|
127
|
+
animationCount(): number;
|
|
128
|
+
stateMachineByName(name: string): StateMachineInstance;
|
|
129
|
+
stateMachineByIndex(index: number): StateMachineInstance;
|
|
130
|
+
stateMachineCount(): number;
|
|
131
|
+
bone(name: string): Bone;
|
|
132
|
+
node(name: string): Node;
|
|
133
|
+
rootBone(name: string): RootBone;
|
|
134
|
+
transformComponent(name: string): TransformComponent;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export declare class Bone extends TransformComponent {
|
|
138
|
+
length: number;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export declare class RootBone extends Bone {
|
|
142
|
+
x: number;
|
|
143
|
+
y: number;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export declare class Node extends TransformComponent {
|
|
147
|
+
x: number;
|
|
148
|
+
y: number;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export declare class TransformComponent {
|
|
152
|
+
rotation: number;
|
|
153
|
+
scaleX: number;
|
|
154
|
+
scaleY: number;
|
|
155
|
+
worldTransform(): Mat2D;
|
|
156
|
+
parentWorldTransform(result: Mat2D): void;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
///////////////
|
|
160
|
+
// Animation //
|
|
161
|
+
///////////////
|
|
162
|
+
export declare class LinearAnimationInstance {
|
|
163
|
+
constructor(animation: LinearAnimationInstance, artboard: Artboard);
|
|
164
|
+
get name(): string;
|
|
165
|
+
get duration(): number;
|
|
166
|
+
get fps(): number;
|
|
167
|
+
get workStart(): number;
|
|
168
|
+
get workEnd(): number;
|
|
169
|
+
get loopValue(): number;
|
|
170
|
+
get speed(): number;
|
|
171
|
+
/** Time of the animation in seconds */
|
|
172
|
+
time: number;
|
|
173
|
+
didLoop: boolean;
|
|
174
|
+
advance(sec: number): any;
|
|
175
|
+
/**
|
|
176
|
+
* Apply animation on the artboard
|
|
177
|
+
* @param mix 0-1 the strength of the animation in the animations mix.
|
|
178
|
+
*/
|
|
179
|
+
apply(mix: number): any;
|
|
180
|
+
// Deletes the backing Wasm animation instance
|
|
181
|
+
delete(): void;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export declare class StateMachineInstance {
|
|
185
|
+
constructor(stateMachine: StateMachineInstance, artboard: Artboard);
|
|
186
|
+
get name(): string;
|
|
187
|
+
inputCount(): number;
|
|
188
|
+
input(i: number): SMIInput;
|
|
189
|
+
advance(sec: number): any;
|
|
190
|
+
stateChangedCount(): number;
|
|
191
|
+
stateChangedNameByIndex(i: number): string;
|
|
192
|
+
|
|
193
|
+
// Call with coordinates in Artboard space
|
|
194
|
+
pointerDown(x: number, y: number): void;
|
|
195
|
+
pointerMove(x: number, y: number): void;
|
|
196
|
+
pointerUp(x: number, y: number): void;
|
|
197
|
+
|
|
198
|
+
// Deletes the backing Wasm state machine instance
|
|
199
|
+
delete(): void;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export declare class SMIInput {
|
|
203
|
+
static bool: number;
|
|
204
|
+
static number: number;
|
|
205
|
+
static trigger: number;
|
|
206
|
+
|
|
207
|
+
get name(): string;
|
|
208
|
+
get type(): number;
|
|
209
|
+
get value(): boolean | number | undefined;
|
|
210
|
+
set value(val: boolean | number | undefined);
|
|
211
|
+
fire(): void;
|
|
212
|
+
asBool(): SMIInput;
|
|
213
|
+
asNumber(): SMIInput;
|
|
214
|
+
asTrigger(): SMIInput;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export declare class SMIBool {
|
|
218
|
+
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export declare class SMINumber {
|
|
222
|
+
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export declare class SMITrigger {
|
|
226
|
+
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
///////////
|
|
230
|
+
// ENUMS //
|
|
231
|
+
///////////
|
|
232
|
+
|
|
233
|
+
export enum Fit {
|
|
234
|
+
fill,
|
|
235
|
+
contain,
|
|
236
|
+
cover,
|
|
237
|
+
fitWidth,
|
|
238
|
+
fitHeight,
|
|
239
|
+
none,
|
|
240
|
+
scaleDown,
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export enum RenderPaintStyle {
|
|
244
|
+
fill,
|
|
245
|
+
stroke,
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
export enum FillRule {
|
|
249
|
+
nonZero,
|
|
250
|
+
evenOdd,
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export enum StrokeCap {
|
|
254
|
+
butt,
|
|
255
|
+
round,
|
|
256
|
+
square,
|
|
257
|
+
}
|
|
258
|
+
export enum StrokeJoin {
|
|
259
|
+
miter,
|
|
260
|
+
round,
|
|
261
|
+
bevel,
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export enum BlendMode {
|
|
265
|
+
srcOver = 3,
|
|
266
|
+
screen = 14,
|
|
267
|
+
overlay = 15,
|
|
268
|
+
darken = 16,
|
|
269
|
+
lighten = 17,
|
|
270
|
+
colorDodge = 18,
|
|
271
|
+
colorBurn = 19,
|
|
272
|
+
hardLight = 20,
|
|
273
|
+
softLight = 21,
|
|
274
|
+
difference = 22,
|
|
275
|
+
exclusion = 23,
|
|
276
|
+
multiply = 24,
|
|
277
|
+
hue = 25,
|
|
278
|
+
saturation = 26,
|
|
279
|
+
color = 27,
|
|
280
|
+
luminosity = 28,
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
///////////
|
|
284
|
+
// UTILS //
|
|
285
|
+
///////////
|
|
286
|
+
|
|
287
|
+
export declare class Alignment {
|
|
288
|
+
get x(): number;
|
|
289
|
+
get y(): number;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export declare class AlignmentFactory {
|
|
293
|
+
get topLeft(): Alignment;
|
|
294
|
+
get topCenter(): Alignment;
|
|
295
|
+
get topRight(): Alignment;
|
|
296
|
+
get centerLeft(): Alignment;
|
|
297
|
+
get center(): Alignment;
|
|
298
|
+
get centerRight(): Alignment;
|
|
299
|
+
get bottomLeft(): Alignment;
|
|
300
|
+
get bottomCenter(): Alignment;
|
|
301
|
+
get bottomRight(): Alignment;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export interface AABB {
|
|
305
|
+
minX: number;
|
|
306
|
+
minY: number;
|
|
307
|
+
maxX: number;
|
|
308
|
+
maxY: number;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
export declare class Mat2D {
|
|
312
|
+
xx: number;
|
|
313
|
+
xy: number;
|
|
314
|
+
yx: number;
|
|
315
|
+
yy: number;
|
|
316
|
+
tx: number;
|
|
317
|
+
ty: number;
|
|
318
|
+
invert(mat: Mat2D): boolean;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export declare class Vec2D {
|
|
322
|
+
x(): void;
|
|
323
|
+
y(): void;
|
|
324
|
+
}
|
|
325
|
+
|