UNPKG

@terrazzo/react-color-picker

Version:

React color picker that supports Color Module 4, wide color gamut (WCG), and Display-P3 using WebGL for monitor-accurate colors. Powered by Culori.

3 lines 1.1 kB
/** Generic implementation of the sRGB transfer function */ export declare const LINEAR_RGB = "float srgb_transfer_fn(float a) {\n float v = abs(a);\n return v <= 0.0031308 ? 12.92 * v : 1.055 * pow(v, (1.0 / 2.4)) - 0.055;\n}\n\nfloat srgb_inverse_transfer_fn(float a) {\n float v = abs(a);\n return v <= 0.04045 ? v / 12.92 : pow((v + 0.055) / 1.055, 2.4);\n}\n\nvec4 srgb_to_linear_rgb(vec4 srgb) {\n return vec4(srgb_inverse_transfer_fn(srgb.x), srgb_inverse_transfer_fn(srgb.y), srgb_inverse_transfer_fn(srgb.z), srgb.w);\n}\n\nvec4 linear_rgb_to_srgb(vec4 linear_rgb) {\n return vec4(srgb_transfer_fn(linear_rgb.x), srgb_transfer_fn(linear_rgb.y), srgb_transfer_fn(linear_rgb.z), linear_rgb.w);\n}\n\n// Blend 2 vec4 colors together\nvec4 avg_vec4(vec4 a, vec4 b, float w) {\n float _w = 1.0 - w;\n return (a * _w) + (b * w);\n}\n\nvec4 blend_srgb(vec4 a, vec4 b, float w) {\n vec4 lrgb_a = srgb_to_linear_rgb(a);\n vec4 lrgb_b = srgb_to_linear_rgb(b);\n vec4 blended = linear_rgb_to_srgb(avg_vec4(a, b, w));\n blended.w = 1.0;\n return blended;\n}\n"; //# sourceMappingURL=rgb.d.ts.map