Add gegl:mosaic.
This commit is contained in:
parent
0436563959
commit
c9f87d365c
|
@ -4,6 +4,7 @@ export * from './crop.js';
|
|||
export * from './focus-blur.js';
|
||||
export * from './generic.js';
|
||||
export * from './mirrors.js';
|
||||
export * from './mosaic.js';
|
||||
export * from './newsprint.js';
|
||||
export * from './plasma.js';
|
||||
export * from './simplex-noise.js';
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
import {BaseOperation} from './base.js';
|
||||
|
||||
export interface MosaicParameters {
|
||||
antialiasing: boolean;
|
||||
colorAveraging: boolean;
|
||||
colorVariation: number;
|
||||
jointsColor: string;
|
||||
lightColor: string;
|
||||
lightDir: number;
|
||||
seed: number;
|
||||
tileAllowSplit: boolean;
|
||||
tileHeight: number;
|
||||
tileNeatness: number;
|
||||
tileSize: number;
|
||||
tileSpacing: number;
|
||||
tileSurface: boolean;
|
||||
tileType: 'squares' | 'hexagons' | 'octagons' | 'triangles';
|
||||
}
|
||||
|
||||
export class Mosaic extends BaseOperation<MosaicParameters> {
|
||||
public static default: MosaicParameters = {
|
||||
antialiasing: true,
|
||||
colorAveraging: true,
|
||||
colorVariation: 0.2,
|
||||
jointsColor: '#000',
|
||||
lightColor: '#fff',
|
||||
lightDir: 135,
|
||||
seed: 0,
|
||||
tileAllowSplit: true,
|
||||
tileHeight: 4,
|
||||
tileNeatness: 0.65,
|
||||
tileSize: 15,
|
||||
tileSpacing: 1,
|
||||
tileSurface: false,
|
||||
tileType: 'hexagons',
|
||||
};
|
||||
|
||||
public get default() {
|
||||
return Mosaic.default;
|
||||
}
|
||||
|
||||
public appendCrop = false;
|
||||
public name = 'gegl:mosaic';
|
||||
|
||||
constructor(parameters?: Partial<MosaicParameters>) {
|
||||
super({...Mosaic.default, ...parameters});
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue