/** * Magnify - display a circle with magnify effect applied to surrounding the pixels given position */ export type MagnifyProps = { /** x, y position in screen coords, both x and y is normalized and in range `[0, 1]`. `[0, 0]` is the up left corner, `[1, 1]` is the bottom right corner. Default value is `[0, 0]`. */ screenXY?: [number, number]; /** effect radius in pixels. Default value is `100`. */ radiusPixels?: number; /** magnify level. Default value is `2`. */ zoom?: number; /** border width of the effect circle, will not show border if value <= 0.0. Default value is `0`. */ borderWidthPixels?: number; /** border color of the effect circle. Default value is `[255, 255, 255, 255]`. */ borderColor?: [number, number, number, number]; }; export type MagnifyUniforms = MagnifyProps; /** * Magnify - display a circle with magnify effect applied to surrounding the pixels given position */ export declare const magnify: { readonly name: "magnify"; readonly source: "uniform magnifyUniforms {\n screenXY: vec2f;\n radiusPixels: f32;\n zoom: f32;\n borderWidthPixels: f32;\n borderColor: vec4f;\n};\n\n@group(0) @binding(1) var magnify: magnifyUniforms;\n\nfn magnify_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) -> vec4f {\n vec2 pos = vec2(magnify.screenXY.x, 1.0 - magnify.screenXY.y);\n float dist = distance(texCoord * texSize, pos * texSize);\n if (dist < magnify.radiusPixels) {\n return texture(source, (texCoord - pos) / magnify.zoom + pos);\n }\n\n if (dist <= magnify.radiusPixels + magnify.borderWidthPixels) {\n return magnify.borderColor;\n }\n return texture(source, texCoord);\n}\n"; readonly fs: "uniform magnifyUniforms {\n vec2 screenXY;\n float radiusPixels;\n float zoom;\n float borderWidthPixels;\n vec4 borderColor;\n} magnify;\n\nvec4 magnify_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {\n vec2 pos = vec2(magnify.screenXY.x, 1.0 - magnify.screenXY.y);\n float dist = distance(texCoord * texSize, pos * texSize);\n if (dist < magnify.radiusPixels) {\n return texture(source, (texCoord - pos) / magnify.zoom + pos);\n }\n\n if (dist <= magnify.radiusPixels + magnify.borderWidthPixels) {\n return magnify.borderColor;\n }\n return texture(source, texCoord);\n}\n"; readonly uniformTypes: { readonly screenXY: "vec2"; readonly radiusPixels: "f32"; readonly zoom: "f32"; readonly borderWidthPixels: "f32"; readonly borderColor: "vec4"; }; readonly propTypes: { readonly screenXY: { readonly value: readonly [0, 0]; }; readonly radiusPixels: 200; readonly zoom: 2; readonly borderWidthPixels: 0; readonly borderColor: { readonly value: readonly [255, 255, 255, 255]; }; }; readonly passes: [{ readonly sampler: true; }]; }; //# sourceMappingURL=magnify.d.ts.map