diff --git a/source/gegl/exports.ts b/source/gegl/exports.ts index ed15e66..481a548 100644 --- a/source/gegl/exports.ts +++ b/source/gegl/exports.ts @@ -4,6 +4,7 @@ export * from './focus-blur.js'; export * from './generic.js'; export * from './mirrors.js'; export * from './newsprint.js'; +export * from './plasma.js'; export * from './simplex-noise.js'; export * from './softglow.js'; export * from './stereographic-projection.js'; diff --git a/source/gegl/plasma.ts b/source/gegl/plasma.ts new file mode 100644 index 0000000..fb73671 --- /dev/null +++ b/source/gegl/plasma.ts @@ -0,0 +1,32 @@ +import {BaseOperation} from './base.js'; + +export interface PlasmaParameters { + height: number; + seed: number; + turbulence: number; + width: number; + x: number; + y: number; +} + +export class Plasma extends BaseOperation { + public static default: PlasmaParameters = { + height: 768, + seed: 0, + turbulence: 1, + width: 1024, + x: 0, + y: 0, + }; + + public get default() { + return Plasma.default; + } + + public appendCrop = false; + public name = 'gegl:plasma'; + + constructor(parameters?: Partial) { + super({...Plasma.default, ...parameters}); + } +}