From 91206e90d38e2d2f5c0b89388d0ceb08a7e145e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 31 Dec 2024 10:48:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9BColor-Module=20WASM=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/color_functions/color_module.d.ts | 21 ++ src/color_functions/color_module.js | 225 ++++++++++++++++++ src/color_functions/color_module_bg.wasm | Bin 45143 -> 67301 bytes src/color_functions/color_module_bg.wasm.d.ts | 11 + 4 files changed, 257 insertions(+) diff --git a/src/color_functions/color_module.d.ts b/src/color_functions/color_module.d.ts index b790f4f..6167b6c 100644 --- a/src/color_functions/color_module.d.ts +++ b/src/color_functions/color_module.d.ts @@ -1,9 +1,13 @@ /* tslint:disable */ /* eslint-disable */ export function represent_rgb(color: string): Uint8Array; +export function rgb_to_hex(r: number, g: number, b: number): string; export function represent_hsl(color: string): Float32Array; +export function hsl_to_hex(h: number, s: number, l: number): string; export function represent_lab(color: string): Float32Array; +export function lab_to_hex(l: number, a: number, b: number): string; export function represent_oklch(color: string): Float32Array; +export function oklch_to_hex(l: number, c: number, h: number): string; export function shift_hue(color: string, degree: number): string; export function lighten(color: string, percent: number): string; export function lighten_absolute(color: string, value: number): string; @@ -13,15 +17,25 @@ export function mix(color1: string, color2: string, percent: number): string; export function tint(color: string, percent: number): string; export function shade(color: string, percent: number): string; export function wacg_relative_contrast(fg_color: string, bg_color: string): number; +export function analogous_30(color: string): (string)[]; +export function analogous_60(color: string): (string)[]; +export function complementary(color: string): string; +export function split_complementary(color: string): (string)[]; +export function tetradic(color: string): (string)[]; +export function triadic(color: string): (string)[]; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly represent_rgb: (a: number, b: number) => [number, number, number, number]; + readonly rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_hsl: (a: number, b: number) => [number, number, number, number]; + readonly hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_lab: (a: number, b: number) => [number, number, number, number]; + readonly lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly represent_oklch: (a: number, b: number) => [number, number, number, number]; + readonly oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; readonly lighten: (a: number, b: number, c: number) => [number, number, number, number]; readonly lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; @@ -31,11 +45,18 @@ export interface InitOutput { readonly tint: (a: number, b: number, c: number) => [number, number, number, number]; readonly shade: (a: number, b: number, c: number) => [number, number, number, number]; readonly wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly analogous_30: (a: number, b: number) => [number, number, number, number]; + readonly analogous_60: (a: number, b: number) => [number, number, number, number]; + readonly complementary: (a: number, b: number) => [number, number, number, number]; + readonly split_complementary: (a: number, b: number) => [number, number, number, number]; + readonly tetradic: (a: number, b: number) => [number, number, number, number]; + readonly triadic: (a: number, b: number) => [number, number, number, number]; readonly __wbindgen_export_0: WebAssembly.Table; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __externref_drop_slice: (a: number, b: number) => void; readonly __wbindgen_start: () => void; } diff --git a/src/color_functions/color_module.js b/src/color_functions/color_module.js index 33005e6..6f93727 100644 --- a/src/color_functions/color_module.js +++ b/src/color_functions/color_module.js @@ -100,6 +100,31 @@ export function represent_rgb(color) { return v2; } +/** + * @param {number} r + * @param {number} g + * @param {number} b + * @returns {string} + */ +export function rgb_to_hex(r, g, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.rgb_to_hex(r, g, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + let cachedFloat32ArrayMemory0 = null; function getFloat32ArrayMemory0() { @@ -129,6 +154,31 @@ export function represent_hsl(color) { return v2; } +/** + * @param {number} h + * @param {number} s + * @param {number} l + * @returns {string} + */ +export function hsl_to_hex(h, s, l) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.hsl_to_hex(h, s, l); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @returns {Float32Array} @@ -145,6 +195,31 @@ export function represent_lab(color) { return v2; } +/** + * @param {number} l + * @param {number} a + * @param {number} b + * @returns {string} + */ +export function lab_to_hex(l, a, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.lab_to_hex(l, a, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @returns {Float32Array} @@ -161,6 +236,31 @@ export function represent_oklch(color) { return v2; } +/** + * @param {number} l + * @param {number} c + * @param {number} h + * @returns {string} + */ +export function oklch_to_hex(l, c, h) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.oklch_to_hex(l, c, h); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + /** * @param {string} color * @param {number} degree @@ -389,6 +489,130 @@ export function wacg_relative_contrast(fg_color, bg_color) { return ret[0]; } +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +function getArrayJsValueFromWasm0(ptr, len) { + ptr = ptr >>> 0; + const mem = getDataViewMemory0(); + const result = []; + for (let i = ptr; i < ptr + 4 * len; i += 4) { + result.push(wasm.__wbindgen_export_0.get(mem.getUint32(i, true))); + } + wasm.__externref_drop_slice(ptr, len); + return result; +} +/** + * @param {string} color + * @returns {(string)[]} + */ +export function analogous_30(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_30(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function analogous_60(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_60(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string} + */ +export function complementary(color) { + let deferred3_0; + let deferred3_1; + try { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.complementary(ptr0, len0); + var ptr2 = ret[0]; + var len2 = ret[1]; + if (ret[3]) { + ptr2 = 0; len2 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred3_0 = ptr2; + deferred3_1 = len2; + return getStringFromWasm0(ptr2, len2); + } finally { + wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); + } +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function split_complementary(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.split_complementary(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function tetradic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.tetradic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {(string)[]} + */ +export function triadic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.triadic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + async function __wbg_load(module, imports) { if (typeof Response === 'function' && module instanceof Response) { if (typeof WebAssembly.instantiateStreaming === 'function') { @@ -448,6 +672,7 @@ function __wbg_init_memory(imports, memory) { function __wbg_finalize_init(instance, module) { wasm = instance.exports; __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; cachedFloat32ArrayMemory0 = null; cachedUint8ArrayMemory0 = null; diff --git a/src/color_functions/color_module_bg.wasm b/src/color_functions/color_module_bg.wasm index f274d19da5bd37bcb528a4c443608720faddb5b8..01d1b69dc4c46f40e22c5f58816de479dd7cfd65 100644 GIT binary patch literal 67301 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%0D?>cwgP~UL>j&nC|ox9|Q`CaQ5ELgj? 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 diff --git a/src/color_functions/color_module_bg.wasm.d.ts b/src/color_functions/color_module_bg.wasm.d.ts index e5ddb60..052d150 100644 --- a/src/color_functions/color_module_bg.wasm.d.ts +++ b/src/color_functions/color_module_bg.wasm.d.ts @@ -2,9 +2,13 @@ /* eslint-disable */ export const memory: WebAssembly.Memory; export const represent_rgb: (a: number, b: number) => [number, number, number, number]; +export const rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_hsl: (a: number, b: number) => [number, number, number, number]; +export const hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_lab: (a: number, b: number) => [number, number, number, number]; +export const lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const represent_oklch: (a: number, b: number) => [number, number, number, number]; +export const oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; export const lighten: (a: number, b: number, c: number) => [number, number, number, number]; export const lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; @@ -14,9 +18,16 @@ export const mix: (a: number, b: number, c: number, d: number, e: number) => [nu export const tint: (a: number, b: number, c: number) => [number, number, number, number]; export const shade: (a: number, b: number, c: number) => [number, number, number, number]; export const wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const analogous_30: (a: number, b: number) => [number, number, number, number]; +export const analogous_60: (a: number, b: number) => [number, number, number, number]; +export const complementary: (a: number, b: number) => [number, number, number, number]; +export const split_complementary: (a: number, b: number) => [number, number, number, number]; +export const tetradic: (a: number, b: number) => [number, number, number, number]; +export const triadic: (a: number, b: number) => [number, number, number, number]; export const __wbindgen_export_0: WebAssembly.Table; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; export const __externref_table_dealloc: (a: number) => void; export const __wbindgen_free: (a: number, b: number, c: number) => void; +export const __externref_drop_slice: (a: number, b: number) => void; export const __wbindgen_start: () => void;