import { BaseFilter } from './BaseFilter'; import type { T2DPipelineState, TWebGLUniformLocationMap } from './typedefs'; import { fragmentSource } from './shaders/convolute'; export type ConvoluteOwnProps = { opaque: boolean; matrix: number[]; }; export declare const convoluteDefaultValues: ConvoluteOwnProps; /** * Adapted from html5rocks article * @example Sharpen filter * const filter = new Convolute({ * matrix: [ 0, -1, 0, * -1, 5, -1, * 0, -1, 0 ] * }); * object.filters.push(filter); * object.applyFilters(); * canvas.renderAll(); * @example Blur filter * const filter = new Convolute({ * matrix: [ 1/9, 1/9, 1/9, * 1/9, 1/9, 1/9, * 1/9, 1/9, 1/9 ] * }); * object.filters.push(filter); * object.applyFilters(); * canvas.renderAll(); * @example Emboss filter * const filter = new Convolute({ * matrix: [ 1, 1, 1, * 1, 0.7, -1, * -1, -1, -1 ] * }); * object.filters.push(filter); * object.applyFilters(); * canvas.renderAll(); * @example Emboss filter with opaqueness * const filter = new Convolute({ * opaque: true, * matrix: [ 1, 1, 1, * 1, 0.7, -1, * -1, -1, -1 ] * }); * object.filters.push(filter); * object.applyFilters(); * canvas.renderAll(); */ export declare class Convolute extends BaseFilter<'Convolute', ConvoluteOwnProps> { opaque: ConvoluteOwnProps['opaque']; matrix: ConvoluteOwnProps['matrix']; static type: string; static defaults: ConvoluteOwnProps; static uniformLocations: string[]; getCacheKey(): keyof typeof fragmentSource; getFragmentSource(): string; /** * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image. * * @param {Object} options * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered. */ applyTo2d(options: T2DPipelineState): void; /** * Send data from this filter to its shader program's uniforms. * * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader. * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects */ sendUniformData(gl: WebGLRenderingContext, uniformLocations: TWebGLUniformLocationMap): void; /** * Returns object representation of an instance * @return {Object} Object representation of an instance */ toObject(): { opaque: boolean; matrix: number[]; type: "Convolute"; }; } //# sourceMappingURL=Convolute.d.ts.map