etro 0.7.0 → 0.8.0
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/.github/workflows/nodejs.yml +1 -1
- package/CHANGELOG.md +45 -1
- package/CONTRIBUTING.md +23 -19
- package/README.md +81 -26
- package/dist/effect/base.d.ts +38 -0
- package/dist/effect/brightness.d.ts +16 -0
- package/dist/effect/channels.d.ts +23 -0
- package/dist/effect/chroma-key.d.ts +23 -0
- package/dist/effect/contrast.d.ts +15 -0
- package/dist/effect/elliptical-mask.d.ts +31 -0
- package/dist/effect/gaussian-blur.d.ts +60 -0
- package/dist/effect/grayscale.d.ts +7 -0
- package/dist/effect/index.d.ts +15 -0
- package/dist/effect/pixelate.d.ts +18 -0
- package/dist/effect/shader.d.ts +99 -0
- package/dist/effect/stack.d.ts +23 -0
- package/dist/effect/transform.d.ts +73 -0
- package/dist/etro-cjs.js +9337 -3331
- package/dist/etro-iife.js +9279 -3273
- package/dist/etro.d.ts +7 -0
- package/dist/event.d.ts +35 -0
- package/dist/index.d.ts +6 -0
- package/dist/layer/audio-source.d.ts +24 -0
- package/dist/layer/audio.d.ts +14 -0
- package/dist/layer/base.d.ts +69 -0
- package/dist/layer/image.d.ts +6 -0
- package/dist/layer/index.d.ts +11 -0
- package/dist/layer/text.d.ts +60 -0
- package/dist/layer/video.d.ts +11 -0
- package/dist/layer/visual-source.d.ts +32 -0
- package/dist/layer/visual.d.ts +58 -0
- package/dist/movie.d.ts +192 -0
- package/dist/object.d.ts +12 -0
- package/dist/util.d.ts +125 -0
- package/eslint.conf.js +0 -8
- package/eslint.example-conf.js +9 -0
- package/eslint.typescript-conf.js +5 -0
- package/examples/application/readme-screenshot.html +12 -9
- package/examples/application/video-player.html +7 -7
- package/examples/application/webcam.html +6 -6
- package/examples/introduction/audio.html +30 -18
- package/examples/introduction/effects.html +14 -10
- package/examples/introduction/export.html +32 -25
- package/examples/introduction/functions.html +6 -4
- package/examples/introduction/hello-world1.html +9 -5
- package/examples/introduction/hello-world2.html +5 -5
- package/examples/introduction/keyframes.html +35 -23
- package/examples/introduction/media.html +26 -18
- package/examples/introduction/text.html +9 -5
- package/karma.conf.js +1 -1
- package/package.json +29 -13
- package/rollup.config.js +15 -4
- package/scripts/gen-effect-samples.html +29 -25
- package/scripts/save-effect-samples.js +14 -15
- package/spec/assets/effect/gaussian-blur-horizontal.png +0 -0
- package/spec/assets/effect/gaussian-blur-vertical.png +0 -0
- package/spec/assets/effect/grayscale.png +0 -0
- package/spec/assets/effect/original.png +0 -0
- package/spec/assets/effect/pixelate.png +0 -0
- package/spec/assets/effect/transform/multiply.png +0 -0
- package/spec/assets/effect/transform/rotate.png +0 -0
- package/spec/assets/effect/transform/scale-fraction.png +0 -0
- package/spec/assets/effect/transform/scale.png +0 -0
- package/spec/assets/effect/transform/translate-fraction.png +0 -0
- package/spec/assets/effect/transform/translate.png +0 -0
- package/spec/effect.spec.js +126 -57
- package/spec/event.spec.js +14 -0
- package/spec/layer.spec.js +175 -18
- package/spec/movie.spec.js +191 -7
- package/spec/util.spec.js +14 -5
- package/src/effect/base.ts +96 -0
- package/src/effect/brightness.ts +43 -0
- package/src/effect/channels.ts +50 -0
- package/src/effect/chroma-key.ts +82 -0
- package/src/effect/contrast.ts +42 -0
- package/src/effect/elliptical-mask.ts +75 -0
- package/src/effect/gaussian-blur.ts +232 -0
- package/src/effect/grayscale.ts +34 -0
- package/src/effect/index.ts +22 -0
- package/src/effect/pixelate.ts +59 -0
- package/src/effect/shader.ts +561 -0
- package/src/effect/stack.ts +74 -0
- package/src/effect/transform.ts +194 -0
- package/src/etro.ts +26 -0
- package/src/event.ts +118 -0
- package/src/index.ts +8 -0
- package/src/layer/audio-source.ts +217 -0
- package/src/layer/audio.ts +35 -0
- package/src/layer/base.ts +156 -0
- package/src/layer/image.ts +8 -0
- package/src/layer/index.ts +13 -0
- package/src/layer/text.ts +138 -0
- package/src/layer/video.ts +15 -0
- package/src/layer/visual-source.ts +150 -0
- package/src/layer/visual.ts +198 -0
- package/src/movie.ts +709 -0
- package/src/object.ts +14 -0
- package/src/util.ts +473 -0
- package/tsconfig.json +8 -0
- package/screenshots/2019-08-17_0.png +0 -0
- package/src/effect.js +0 -1268
- package/src/event.js +0 -78
- package/src/index.js +0 -23
- package/src/layer.js +0 -897
- package/src/movie.js +0 -637
- package/src/util.js +0 -505
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Movie } from '../movie';
|
|
2
|
+
import { Base } from './base';
|
|
3
|
+
import { Visual } from '../layer';
|
|
4
|
+
export interface StackOptions {
|
|
5
|
+
effects: Base[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A sequence of effects to apply, treated as one effect. This can be useful
|
|
9
|
+
* for defining reused effect sequences as one effect.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Stack extends Base {
|
|
12
|
+
readonly effects: Base[];
|
|
13
|
+
private _effectsBack;
|
|
14
|
+
constructor(options: StackOptions);
|
|
15
|
+
attach(movie: Movie): void;
|
|
16
|
+
detach(): void;
|
|
17
|
+
apply(target: Movie | Visual, reltime: number): void;
|
|
18
|
+
/**
|
|
19
|
+
* Convenience method for chaining
|
|
20
|
+
* @param effect - the effect to append
|
|
21
|
+
*/
|
|
22
|
+
addEffect(effect: Base): Stack;
|
|
23
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Visual } from '../layer/index';
|
|
2
|
+
import { Movie } from '../movie';
|
|
3
|
+
import { Dynamic } from '../util';
|
|
4
|
+
import { Base } from './base';
|
|
5
|
+
export interface TransformOptions {
|
|
6
|
+
matrix: Dynamic<Transform.Matrix>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Transforms a layer or movie using a transformation matrix. Use {@link
|
|
10
|
+
* Transform.Matrix} to either A) calculate those values based on a series of
|
|
11
|
+
* translations, scalings and rotations) or B) input the matrix values
|
|
12
|
+
* directly, using the optional argument in the constructor.
|
|
13
|
+
*/
|
|
14
|
+
declare class Transform extends Base {
|
|
15
|
+
/** Matrix that determines how to transform the target */
|
|
16
|
+
matrix: Dynamic<Transform.Matrix>;
|
|
17
|
+
private _tmpMatrix;
|
|
18
|
+
private _tmpCanvas;
|
|
19
|
+
private _tmpCtx;
|
|
20
|
+
/**
|
|
21
|
+
* @param matrix - matrix that determines how to transform the target
|
|
22
|
+
*/
|
|
23
|
+
constructor(options: TransformOptions);
|
|
24
|
+
apply(target: Movie | Visual, reltime: number): void;
|
|
25
|
+
}
|
|
26
|
+
declare namespace Transform {
|
|
27
|
+
/**
|
|
28
|
+
* @class
|
|
29
|
+
* A 3x3 matrix for storing 2d transformations
|
|
30
|
+
*/
|
|
31
|
+
class Matrix {
|
|
32
|
+
/**
|
|
33
|
+
* The identity matrix
|
|
34
|
+
*/
|
|
35
|
+
static IDENTITY: Matrix;
|
|
36
|
+
private static _TMP_MATRIX;
|
|
37
|
+
data: number[];
|
|
38
|
+
constructor(data?: number[]);
|
|
39
|
+
identity(): Matrix;
|
|
40
|
+
/**
|
|
41
|
+
* @param x
|
|
42
|
+
* @param y
|
|
43
|
+
* @param [val]
|
|
44
|
+
*/
|
|
45
|
+
cell(x: number, y: number, val?: number): number;
|
|
46
|
+
get a(): number;
|
|
47
|
+
get b(): number;
|
|
48
|
+
get c(): number;
|
|
49
|
+
get d(): number;
|
|
50
|
+
get e(): number;
|
|
51
|
+
get f(): number;
|
|
52
|
+
/**
|
|
53
|
+
* Combines <code>this</code> with another matrix <code>other</code>
|
|
54
|
+
* @param other
|
|
55
|
+
*/
|
|
56
|
+
multiply(other: Matrix): Matrix;
|
|
57
|
+
/**
|
|
58
|
+
* @param x
|
|
59
|
+
* @param y
|
|
60
|
+
*/
|
|
61
|
+
translate(x: number, y: number): Matrix;
|
|
62
|
+
/**
|
|
63
|
+
* @param x
|
|
64
|
+
* @param y
|
|
65
|
+
*/
|
|
66
|
+
scale(x: number, y: number): Matrix;
|
|
67
|
+
/**
|
|
68
|
+
* @param a - the angle or rotation in radians
|
|
69
|
+
*/
|
|
70
|
+
rotate(a: number): Matrix;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export { Transform };
|