调整Q Scheme暗色模式前景色和背景色的生成,以及颜色调整系数的使用。

This commit is contained in:
徐涛 2025-02-06 17:26:45 +08:00
parent 0350380df6
commit 08fabb53a2
6 changed files with 71 additions and 71 deletions

View File

@ -58,8 +58,8 @@ impl QScheme {
&(success * setting.dark_convert), &(success * setting.dark_convert),
&(warning * setting.dark_convert), &(warning * setting.dark_convert),
&(info * setting.dark_convert), &(info * setting.dark_convert),
&(foreground * setting.dark_convert), &(&background * setting.dark_convert),
&(background * setting.dark_convert), &(&foreground * setting.dark_convert),
setting.clone(), setting.clone(),
), ),
}) })

View File

@ -30,13 +30,13 @@ impl Mul<ColorShifting> for Oklch<f32> {
+ if rhs.lightness > 0.0 { + if rhs.lightness > 0.0 {
(1.0 - self.l) * rhs.lightness (1.0 - self.l) * rhs.lightness
} else { } else {
self.l * rhs.lightness * -1.0 self.l * rhs.lightness
}, },
self.chroma self.chroma
+ if rhs.chroma > 0.0 { + if rhs.chroma > 0.0 {
(100.0 - self.chroma) * rhs.chroma (100.0 - self.chroma) * rhs.chroma
} else { } else {
-(self.chroma * rhs.chroma) self.chroma * rhs.chroma
}, },
self.hue, self.hue,
) )
@ -52,13 +52,13 @@ impl Mul<ColorShifting> for &Oklch<f32> {
+ if rhs.lightness > 0.0 { + if rhs.lightness > 0.0 {
(1.0 - self.l) * rhs.lightness (1.0 - self.l) * rhs.lightness
} else { } else {
self.l * rhs.lightness * -1.0 self.l * rhs.lightness
}, },
self.chroma self.chroma
+ if rhs.chroma > 0.0 { + if rhs.chroma > 0.0 {
(100.0 - self.chroma) * rhs.chroma (100.0 - self.chroma) * rhs.chroma
} else { } else {
-(self.chroma * rhs.chroma) self.chroma * rhs.chroma
}, },
self.hue, self.hue,
) )

View File

@ -1,8 +1,5 @@
/* tslint:disable */ /* tslint:disable */
/* eslint-disable */ /* eslint-disable */
export function q_scheme_color_expanding_methods(): any;
export function q_scheme_wacg_settings(): any;
export function q_scheme_default_settings(): SchemeSetting;
export function differ_in_rgb(color: string, other: string): RGBDifference; export function differ_in_rgb(color: string, other: string): RGBDifference;
export function relative_differ_in_rgb(color: string, other: string): RGBDifference; export function relative_differ_in_rgb(color: string, other: string): RGBDifference;
export function differ_in_hsl(color: string, other: string): HSLDifference; export function differ_in_hsl(color: string, other: string): HSLDifference;
@ -20,6 +17,9 @@ export function complementary(color: string): string;
export function split_complementary(color: string): string[]; export function split_complementary(color: string): string[];
export function tetradic(color: string): string[]; export function tetradic(color: string): string[];
export function triadic(color: string): string[]; export function triadic(color: string): string[];
export function q_scheme_color_expanding_methods(): any;
export function q_scheme_wacg_settings(): any;
export function q_scheme_default_settings(): SchemeSetting;
export function generate_palette_from_color(reference_color: string, swatch_amount: number, minimum_lightness: number, maximum_lightness: number, use_reference_color?: boolean | null, reference_color_bias?: number | null): string[]; export function generate_palette_from_color(reference_color: string, swatch_amount: number, minimum_lightness: number, maximum_lightness: number, use_reference_color?: boolean | null, reference_color_bias?: number | null): string[];
export function color_categories(): any; export function color_categories(): any;
export function search_color_cards(tag: string, category?: string | null): any; export function search_color_cards(tag: string, category?: string | null): any;
@ -142,9 +142,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
export interface InitOutput { export interface InitOutput {
readonly memory: WebAssembly.Memory; readonly memory: WebAssembly.Memory;
readonly q_scheme_color_expanding_methods: () => [number, number, number];
readonly q_scheme_wacg_settings: () => [number, number, number];
readonly q_scheme_default_settings: () => number;
readonly differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number];
readonly relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number];
readonly differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number];
@ -162,6 +159,9 @@ export interface InitOutput {
readonly split_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 tetradic: (a: number, b: number) => [number, number, number, number];
readonly triadic: (a: number, b: number) => [number, number, number, number]; readonly triadic: (a: number, b: number) => [number, number, number, number];
readonly q_scheme_color_expanding_methods: () => [number, number, number];
readonly q_scheme_wacg_settings: () => [number, number, number];
readonly q_scheme_default_settings: () => number;
readonly __wbg_oklchdifference_free: (a: number, b: number) => void; readonly __wbg_oklchdifference_free: (a: number, b: number) => void;
readonly __wbg_get_oklchdifference_hue: (a: number) => number; readonly __wbg_get_oklchdifference_hue: (a: number) => number;
readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void; readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void;
@ -174,7 +174,6 @@ export interface InitOutput {
readonly __wbg_set_differ_delta: (a: number, b: number) => void; readonly __wbg_set_differ_delta: (a: number, b: number) => void;
readonly __wbg_get_differ_percent: (a: number) => number; readonly __wbg_get_differ_percent: (a: number) => number;
readonly __wbg_set_differ_percent: (a: number, b: number) => void; readonly __wbg_set_differ_percent: (a: number, b: number) => void;
readonly generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
readonly __wbg_hctdiffference_free: (a: number, b: number) => void; readonly __wbg_hctdiffference_free: (a: number, b: number) => void;
readonly __wbg_get_hctdiffference_hue: (a: number) => number; readonly __wbg_get_hctdiffference_hue: (a: number) => number;
readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void; readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
@ -182,6 +181,7 @@ export interface InitOutput {
readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
readonly __wbg_get_hctdiffference_lightness: (a: number) => number; readonly __wbg_get_hctdiffference_lightness: (a: number) => number;
readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void;
readonly generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
readonly color_categories: () => [number, number, number]; readonly color_categories: () => [number, number, number];
readonly search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number];
readonly __wbg_colorshifting_free: (a: number, b: number) => void; readonly __wbg_colorshifting_free: (a: number, b: number) => void;
@ -220,18 +220,6 @@ export interface InitOutput {
readonly __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; readonly __wbg_set_mixreversing_b_factor: (a: number, b: number) => void;
readonly __wbg_get_mixreversing_average: (a: number) => number; readonly __wbg_get_mixreversing_average: (a: number) => number;
readonly __wbg_set_mixreversing_average: (a: number, b: number) => void; readonly __wbg_set_mixreversing_average: (a: number, b: number) => void;
readonly __wbg_rgbdifference_free: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_r: (a: number) => number;
readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_g: (a: number) => number;
readonly __wbg_set_rgbdifference_g: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_b: (a: number) => number;
readonly __wbg_set_rgbdifference_b: (a: number, b: number) => void;
readonly __wbg_swatchentry_free: (a: number, b: number) => void;
readonly __wbg_get_swatchentry_name: (a: number) => [number, number];
readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
readonly __wbg_get_swatchentry_color: (a: number) => [number, number];
readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
readonly lighten: (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]; readonly lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number];
readonly darken: (a: number, b: number, c: number) => [number, number, number, number]; readonly darken: (a: number, b: number, c: number) => [number, number, number, number];
@ -253,6 +241,18 @@ export interface InitOutput {
readonly represent_hct: (a: number, b: number) => [number, number, number, number]; readonly represent_hct: (a: number, b: number) => [number, number, number, number];
readonly hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; readonly hct_to_hex: (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 wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number];
readonly __wbg_rgbdifference_free: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_r: (a: number) => number;
readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_g: (a: number) => number;
readonly __wbg_set_rgbdifference_g: (a: number, b: number) => void;
readonly __wbg_get_rgbdifference_b: (a: number) => number;
readonly __wbg_set_rgbdifference_b: (a: number, b: number) => void;
readonly __wbg_swatchentry_free: (a: number, b: number) => void;
readonly __wbg_get_swatchentry_name: (a: number) => [number, number];
readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
readonly __wbg_get_swatchentry_color: (a: number) => [number, number];
readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
readonly __wbg_hsldifference_free: (a: number, b: number) => void; readonly __wbg_hsldifference_free: (a: number, b: number) => void;
readonly __wbg_get_hsldifference_hue: (a: number) => number; readonly __wbg_get_hsldifference_hue: (a: number) => number;
readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void; readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void;

View File

@ -172,36 +172,6 @@ function takeFromExternrefTable0(idx) {
wasm.__externref_table_dealloc(idx); wasm.__externref_table_dealloc(idx);
return value; return value;
} }
/**
* @returns {any}
*/
export function q_scheme_color_expanding_methods() {
const ret = wasm.q_scheme_color_expanding_methods();
if (ret[2]) {
throw takeFromExternrefTable0(ret[1]);
}
return takeFromExternrefTable0(ret[0]);
}
/**
* @returns {any}
*/
export function q_scheme_wacg_settings() {
const ret = wasm.q_scheme_wacg_settings();
if (ret[2]) {
throw takeFromExternrefTable0(ret[1]);
}
return takeFromExternrefTable0(ret[0]);
}
/**
* @returns {SchemeSetting}
*/
export function q_scheme_default_settings() {
const ret = wasm.q_scheme_default_settings();
return SchemeSetting.__wrap(ret);
}
/** /**
* @param {string} color * @param {string} color
* @param {string} other * @param {string} other
@ -513,6 +483,36 @@ export function triadic(color) {
return v2; return v2;
} }
/**
* @returns {any}
*/
export function q_scheme_color_expanding_methods() {
const ret = wasm.q_scheme_color_expanding_methods();
if (ret[2]) {
throw takeFromExternrefTable0(ret[1]);
}
return takeFromExternrefTable0(ret[0]);
}
/**
* @returns {any}
*/
export function q_scheme_wacg_settings() {
const ret = wasm.q_scheme_wacg_settings();
if (ret[2]) {
throw takeFromExternrefTable0(ret[1]);
}
return takeFromExternrefTable0(ret[0]);
}
/**
* @returns {SchemeSetting}
*/
export function q_scheme_default_settings() {
const ret = wasm.q_scheme_default_settings();
return SchemeSetting.__wrap(ret);
}
function _assertClass(instance, klass) { function _assertClass(instance, klass) {
if (!(instance instanceof klass)) { if (!(instance instanceof klass)) {
throw new Error(`expected instance of ${klass.name}`); throw new Error(`expected instance of ${klass.name}`);

View File

@ -1,9 +1,6 @@
/* tslint:disable */ /* tslint:disable */
/* eslint-disable */ /* eslint-disable */
export const memory: WebAssembly.Memory; export const memory: WebAssembly.Memory;
export const q_scheme_color_expanding_methods: () => [number, number, number];
export const q_scheme_wacg_settings: () => [number, number, number];
export const q_scheme_default_settings: () => number;
export const differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; export const differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number];
export const relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; export const relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number];
export const differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; export const differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number];
@ -21,6 +18,9 @@ export const complementary: (a: number, b: number) => [number, number, number, n
export const split_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 tetradic: (a: number, b: number) => [number, number, number, number];
export const triadic: (a: number, b: number) => [number, number, number, number]; export const triadic: (a: number, b: number) => [number, number, number, number];
export const q_scheme_color_expanding_methods: () => [number, number, number];
export const q_scheme_wacg_settings: () => [number, number, number];
export const q_scheme_default_settings: () => number;
export const __wbg_oklchdifference_free: (a: number, b: number) => void; export const __wbg_oklchdifference_free: (a: number, b: number) => void;
export const __wbg_get_oklchdifference_hue: (a: number) => number; export const __wbg_get_oklchdifference_hue: (a: number) => number;
export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void; export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void;
@ -33,7 +33,6 @@ export const __wbg_get_differ_delta: (a: number) => number;
export const __wbg_set_differ_delta: (a: number, b: number) => void; export const __wbg_set_differ_delta: (a: number, b: number) => void;
export const __wbg_get_differ_percent: (a: number) => number; export const __wbg_get_differ_percent: (a: number) => number;
export const __wbg_set_differ_percent: (a: number, b: number) => void; export const __wbg_set_differ_percent: (a: number, b: number) => void;
export const generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
export const __wbg_hctdiffference_free: (a: number, b: number) => void; export const __wbg_hctdiffference_free: (a: number, b: number) => void;
export const __wbg_get_hctdiffference_hue: (a: number) => number; export const __wbg_get_hctdiffference_hue: (a: number) => number;
export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void; export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
@ -41,6 +40,7 @@ export const __wbg_get_hctdiffference_chroma: (a: number) => number;
export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
export const __wbg_get_hctdiffference_lightness: (a: number) => number; export const __wbg_get_hctdiffference_lightness: (a: number) => number;
export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void;
export const generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
export const color_categories: () => [number, number, number]; export const color_categories: () => [number, number, number];
export const search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number]; export const search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number];
export const __wbg_colorshifting_free: (a: number, b: number) => void; export const __wbg_colorshifting_free: (a: number, b: number) => void;
@ -79,18 +79,6 @@ export const __wbg_get_mixreversing_b_factor: (a: number) => number;
export const __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; export const __wbg_set_mixreversing_b_factor: (a: number, b: number) => void;
export const __wbg_get_mixreversing_average: (a: number) => number; export const __wbg_get_mixreversing_average: (a: number) => number;
export const __wbg_set_mixreversing_average: (a: number, b: number) => void; export const __wbg_set_mixreversing_average: (a: number, b: number) => void;
export const __wbg_rgbdifference_free: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_r: (a: number) => number;
export const __wbg_set_rgbdifference_r: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_g: (a: number) => number;
export const __wbg_set_rgbdifference_g: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_b: (a: number) => number;
export const __wbg_set_rgbdifference_b: (a: number, b: number) => void;
export const __wbg_swatchentry_free: (a: number, b: number) => void;
export const __wbg_get_swatchentry_name: (a: number) => [number, number];
export const __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
export const __wbg_get_swatchentry_color: (a: number) => [number, number];
export const __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
export const lighten: (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]; export const lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number];
export const darken: (a: number, b: number, c: number) => [number, number, number, number]; export const darken: (a: number, b: number, c: number) => [number, number, number, number];
@ -112,6 +100,18 @@ export const oklch_to_hex: (a: number, b: number, c: number) => [number, number,
export const represent_hct: (a: number, b: number) => [number, number, number, number]; export const represent_hct: (a: number, b: number) => [number, number, number, number];
export const hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; export const hct_to_hex: (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 wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number];
export const __wbg_rgbdifference_free: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_r: (a: number) => number;
export const __wbg_set_rgbdifference_r: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_g: (a: number) => number;
export const __wbg_set_rgbdifference_g: (a: number, b: number) => void;
export const __wbg_get_rgbdifference_b: (a: number) => number;
export const __wbg_set_rgbdifference_b: (a: number, b: number) => void;
export const __wbg_swatchentry_free: (a: number, b: number) => void;
export const __wbg_get_swatchentry_name: (a: number) => [number, number];
export const __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
export const __wbg_get_swatchentry_color: (a: number) => [number, number];
export const __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
export const __wbg_hsldifference_free: (a: number, b: number) => void; export const __wbg_hsldifference_free: (a: number, b: number) => void;
export const __wbg_get_hsldifference_hue: (a: number) => number; export const __wbg_get_hsldifference_hue: (a: number) => number;
export const __wbg_set_hsldifference_hue: (a: number, b: number) => void; export const __wbg_set_hsldifference_hue: (a: number, b: number) => void;