综合调整Q Scheme的生成算法。
This commit is contained in:
parent
08fabb53a2
commit
592244911f
|
@ -48,16 +48,19 @@ impl Baseline {
|
||||||
let outline_color = neutral_swatch.get(background.l * 0.7);
|
let outline_color = neutral_swatch.get(background.l * 0.7);
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
primary: ColorSet::new(primary, &neutral_swatch, &setting),
|
primary: ColorSet::new(primary, &neutral_swatch, foreground.l, &setting),
|
||||||
secondary: secondary.map(|color| ColorSet::new(&color, &neutral_swatch, &setting)),
|
secondary: secondary
|
||||||
tertiary: tertiary.map(|color| ColorSet::new(&color, &neutral_swatch, &setting)),
|
.map(|color| ColorSet::new(&color, &neutral_swatch, foreground.l, &setting)),
|
||||||
accent: accent.map(|color| ColorSet::new(&color, &neutral_swatch, &setting)),
|
tertiary: tertiary
|
||||||
neutral: ColorSet::new(&neutral_color, &neutral_swatch, &setting),
|
.map(|color| ColorSet::new(&color, &neutral_swatch, foreground.l, &setting)),
|
||||||
danger: ColorSet::new(danger, &neutral_swatch, &setting),
|
accent: accent
|
||||||
success: ColorSet::new(success, &neutral_swatch, &setting),
|
.map(|color| ColorSet::new(&color, &neutral_swatch, foreground.l, &setting)),
|
||||||
warning: ColorSet::new(warning, &neutral_swatch, &setting),
|
neutral: ColorSet::new(&neutral_color, &neutral_swatch, foreground.l, &setting),
|
||||||
info: ColorSet::new(info, &neutral_swatch, &setting),
|
danger: ColorSet::new(danger, &neutral_swatch, foreground.l, &setting),
|
||||||
outline: ColorSet::new(&outline_color, &neutral_swatch, &setting),
|
success: ColorSet::new(success, &neutral_swatch, foreground.l, &setting),
|
||||||
|
warning: ColorSet::new(warning, &neutral_swatch, foreground.l, &setting),
|
||||||
|
info: ColorSet::new(info, &neutral_swatch, foreground.l, &setting),
|
||||||
|
outline: ColorSet::new(&outline_color, &neutral_swatch, foreground.l, &setting),
|
||||||
foreground: *foreground,
|
foreground: *foreground,
|
||||||
background: *background,
|
background: *background,
|
||||||
_neutral_swatch: neutral_swatch,
|
_neutral_swatch: neutral_swatch,
|
||||||
|
|
|
@ -32,35 +32,35 @@ fn fit_to_wacg(reference: &Oklch, neutral_swatch: &NeutralSwatch, ratio: f32) ->
|
||||||
luma.relative_contrast(*reference)
|
luma.relative_contrast(*reference)
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut last_contrast_ratio = 0.0;
|
|
||||||
let mut repeat_count = 0;
|
|
||||||
let mut target_ratio = ratio;
|
|
||||||
loop {
|
loop {
|
||||||
let contrast_ratio = match_wacg(&new_target, &reference_luma);
|
let contrast_ratio = match_wacg(&new_target, &reference_luma);
|
||||||
if contrast_ratio >= target_ratio {
|
if contrast_ratio >= ratio || new_target.l <= 0.0 || new_target.l >= 1.0 {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (contrast_ratio - last_contrast_ratio).abs() / last_contrast_ratio < 0.001 {
|
web_sys::console::log_3(
|
||||||
repeat_count += 1;
|
&"fit_to_wacg".into(),
|
||||||
if repeat_count > 20 {
|
&contrast_ratio.into(),
|
||||||
target_ratio *= 1.0 - 0.01;
|
&new_target.l.into(),
|
||||||
repeat_count = 0;
|
);
|
||||||
}
|
new_target = neutral_swatch.get(if new_target.l + factor <= 0.0 {
|
||||||
|
0.0
|
||||||
|
} else if new_target.l + factor >= 1.0 {
|
||||||
|
1.0
|
||||||
} else {
|
} else {
|
||||||
repeat_count = 0;
|
new_target.l + factor
|
||||||
}
|
});
|
||||||
last_contrast_ratio = contrast_ratio;
|
|
||||||
new_target = Oklch {
|
|
||||||
l: new_target.l * (1.0 + factor),
|
|
||||||
..new_target
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
new_target
|
new_target
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ColorSet {
|
impl ColorSet {
|
||||||
pub fn new(color: &Oklch, neutral_swatch: &NeutralSwatch, setting: &SchemeSetting) -> Self {
|
pub fn new(
|
||||||
|
color: &Oklch,
|
||||||
|
neutral_swatch: &NeutralSwatch,
|
||||||
|
foreground_lightness: f32,
|
||||||
|
setting: &SchemeSetting,
|
||||||
|
) -> Self {
|
||||||
let root = color.clone();
|
let root = color.clone();
|
||||||
let hover = color * setting.hover;
|
let hover = color * setting.hover;
|
||||||
let active = color * setting.active;
|
let active = color * setting.active;
|
||||||
|
@ -69,11 +69,11 @@ impl ColorSet {
|
||||||
|
|
||||||
let (on_root, on_hover, on_active, on_focus, on_disabled) = match setting.wacg_follows {
|
let (on_root, on_hover, on_active, on_focus, on_disabled) = match setting.wacg_follows {
|
||||||
WACGSetting::Fixed => (
|
WACGSetting::Fixed => (
|
||||||
neutral_swatch.get(root.l),
|
neutral_swatch.get(foreground_lightness),
|
||||||
neutral_swatch.get(hover.l),
|
neutral_swatch.get(foreground_lightness),
|
||||||
neutral_swatch.get(active.l),
|
neutral_swatch.get(foreground_lightness),
|
||||||
neutral_swatch.get(focus.l),
|
neutral_swatch.get(foreground_lightness),
|
||||||
neutral_swatch.get(disabled.l),
|
neutral_swatch.get(foreground_lightness),
|
||||||
),
|
),
|
||||||
WACGSetting::AutomaticAA => (
|
WACGSetting::AutomaticAA => (
|
||||||
fit_to_wacg(&root, neutral_swatch, 4.5),
|
fit_to_wacg(&root, neutral_swatch, 4.5),
|
||||||
|
|
|
@ -58,7 +58,7 @@ 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),
|
||||||
&(&background * setting.dark_convert),
|
&(&background * (setting.dark_convert / 2.0)),
|
||||||
&(&foreground * setting.dark_convert),
|
&(&foreground * setting.dark_convert),
|
||||||
setting.clone(),
|
setting.clone(),
|
||||||
),
|
),
|
||||||
|
@ -112,7 +112,7 @@ 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),
|
&(foreground * (setting.dark_convert / 2.0)),
|
||||||
&(background * setting.dark_convert),
|
&(background * setting.dark_convert),
|
||||||
setting.clone(),
|
setting.clone(),
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use std::ops::Mul;
|
use std::ops::{Div, Mul};
|
||||||
|
|
||||||
use enum_iterator::Sequence;
|
use enum_iterator::Sequence;
|
||||||
use palette::Oklch;
|
use palette::Oklch;
|
||||||
|
@ -65,6 +65,28 @@ impl Mul<ColorShifting> for &Oklch<f32> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Div<f32> for ColorShifting {
|
||||||
|
type Output = ColorShifting;
|
||||||
|
|
||||||
|
fn div(self, rhs: f32) -> Self::Output {
|
||||||
|
ColorShifting {
|
||||||
|
chroma: self.chroma / rhs,
|
||||||
|
lightness: self.lightness / rhs,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Div<f32> for &ColorShifting {
|
||||||
|
type Output = ColorShifting;
|
||||||
|
|
||||||
|
fn div(self, rhs: f32) -> Self::Output {
|
||||||
|
ColorShifting {
|
||||||
|
chroma: self.chroma / rhs,
|
||||||
|
lightness: self.lightness / rhs,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
pub struct SchemeSetting {
|
pub struct SchemeSetting {
|
||||||
|
@ -140,7 +162,7 @@ impl Default for SchemeSetting {
|
||||||
},
|
},
|
||||||
disabled: ColorShifting {
|
disabled: ColorShifting {
|
||||||
chroma: -0.9,
|
chroma: -0.9,
|
||||||
lightness: -0.2,
|
lightness: 0.2,
|
||||||
},
|
},
|
||||||
dark_convert: ColorShifting {
|
dark_convert: ColorShifting {
|
||||||
chroma: -0.3,
|
chroma: -0.3,
|
||||||
|
|
66
src/color_functions/color_module.d.ts
vendored
66
src/color_functions/color_module.d.ts
vendored
|
@ -17,10 +17,6 @@ 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 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;
|
||||||
export function generate_material_design_3_scheme(source_color: string, error_color: string, custom_colors: any): any;
|
export function generate_material_design_3_scheme(source_color: string, error_color: string, custom_colors: any): any;
|
||||||
|
@ -28,6 +24,7 @@ export function generate_material_design_2_scheme(primary_color: string, seconda
|
||||||
export function generate_q_scheme_automatically(primary_color: string, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any;
|
export function generate_q_scheme_automatically(primary_color: string, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any;
|
||||||
export function generate_q_scheme_manually(primary_color: string, secondary_color: string | null | undefined, tertiary_color: string | null | undefined, accent_color: string | null | undefined, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any;
|
export function generate_q_scheme_manually(primary_color: string, secondary_color: string | null | undefined, tertiary_color: string | null | undefined, accent_color: string | null | undefined, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any;
|
||||||
export function generate_swatch_scheme(colors: SwatchEntry[], setting: SwatchSchemeSetting): any;
|
export function generate_swatch_scheme(colors: SwatchEntry[], setting: SwatchSchemeSetting): any;
|
||||||
|
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 lighten(color: string, percent: number): string;
|
export function lighten(color: string, percent: number): string;
|
||||||
export function lighten_absolute(color: string, value: number): string;
|
export function lighten_absolute(color: string, value: number): string;
|
||||||
export function darken(color: string, percent: number): string;
|
export function darken(color: string, percent: number): string;
|
||||||
|
@ -49,6 +46,9 @@ export function oklch_to_hex(l: number, c: number, h: number): string;
|
||||||
export function represent_hct(color: string): Float32Array;
|
export function represent_hct(color: string): Float32Array;
|
||||||
export function hct_to_hex(hue: number, chroma: number, tone: number): string;
|
export function hct_to_hex(hue: number, chroma: number, tone: number): string;
|
||||||
export function wacg_relative_contrast(fg_color: string, bg_color: string): number;
|
export function wacg_relative_contrast(fg_color: string, bg_color: string): number;
|
||||||
|
export function q_scheme_color_expanding_methods(): any;
|
||||||
|
export function q_scheme_wacg_settings(): any;
|
||||||
|
export function q_scheme_default_settings(): SchemeSetting;
|
||||||
export enum ColorExpand {
|
export enum ColorExpand {
|
||||||
Complementary = 0,
|
Complementary = 0,
|
||||||
Analogous = 1,
|
Analogous = 1,
|
||||||
|
@ -159,9 +159,6 @@ 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,14 +171,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 __wbg_hctdiffference_free: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hctdiffference_hue: (a: number) => number;
|
|
||||||
readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hctdiffference_chroma: (a: number) => number;
|
|
||||||
readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hctdiffference_lightness: (a: number) => number;
|
|
||||||
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,6 +209,14 @@ 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_hctdiffference_free: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hctdiffference_hue: (a: number) => number;
|
||||||
|
readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hctdiffference_chroma: (a: number) => number;
|
||||||
|
readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hctdiffference_lightness: (a: number) => number;
|
||||||
|
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 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];
|
||||||
|
@ -241,6 +238,27 @@ 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 q_scheme_color_expanding_methods: () => [number, number, number];
|
||||||
|
readonly q_scheme_wacg_settings: () => [number, number, number];
|
||||||
|
readonly q_scheme_default_settings: () => number;
|
||||||
|
readonly __wbg_swatchschemesetting_free: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_swatchschemesetting_amount: (a: number) => number;
|
||||||
|
readonly __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_swatchschemesetting_min_lightness: (a: number) => number;
|
||||||
|
readonly __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_swatchschemesetting_max_lightness: (a: number) => number;
|
||||||
|
readonly __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_swatchschemesetting_include_primary: (a: number) => number;
|
||||||
|
readonly __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_swatchschemesetting_dark_convert: (a: number) => number;
|
||||||
|
readonly __wbg_set_swatchschemesetting_dark_convert: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_hsldifference_free: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hsldifference_hue: (a: number) => number;
|
||||||
|
readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hsldifference_saturation: (a: number) => number;
|
||||||
|
readonly __wbg_set_hsldifference_saturation: (a: number, b: number) => void;
|
||||||
|
readonly __wbg_get_hsldifference_lightness: (a: number) => number;
|
||||||
|
readonly __wbg_set_hsldifference_lightness: (a: number, b: number) => void;
|
||||||
readonly __wbg_rgbdifference_free: (a: number, b: number) => void;
|
readonly __wbg_rgbdifference_free: (a: number, b: number) => void;
|
||||||
readonly __wbg_get_rgbdifference_r: (a: number) => number;
|
readonly __wbg_get_rgbdifference_r: (a: number) => number;
|
||||||
readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void;
|
readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void;
|
||||||
|
@ -253,24 +271,6 @@ export interface InitOutput {
|
||||||
readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
|
readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void;
|
||||||
readonly __wbg_get_swatchentry_color: (a: number) => [number, number];
|
readonly __wbg_get_swatchentry_color: (a: number) => [number, number];
|
||||||
readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
|
readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void;
|
||||||
readonly __wbg_hsldifference_free: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hsldifference_hue: (a: number) => number;
|
|
||||||
readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hsldifference_saturation: (a: number) => number;
|
|
||||||
readonly __wbg_set_hsldifference_saturation: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_hsldifference_lightness: (a: number) => number;
|
|
||||||
readonly __wbg_set_hsldifference_lightness: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_swatchschemesetting_free: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_swatchschemesetting_amount: (a: number) => number;
|
|
||||||
readonly __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_swatchschemesetting_min_lightness: (a: number) => number;
|
|
||||||
readonly __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_swatchschemesetting_max_lightness: (a: number) => number;
|
|
||||||
readonly __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_swatchschemesetting_include_primary: (a: number) => number;
|
|
||||||
readonly __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void;
|
|
||||||
readonly __wbg_get_swatchschemesetting_dark_convert: (a: number) => number;
|
|
||||||
readonly __wbg_set_swatchschemesetting_dark_convert: (a: number, b: number) => void;
|
|
||||||
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
||||||
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||||
readonly __wbindgen_exn_store: (a: number) => void;
|
readonly __wbindgen_exn_store: (a: number) => void;
|
||||||
|
|
|
@ -483,62 +483,11 @@ 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}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* @param {string} reference_color
|
|
||||||
* @param {number} swatch_amount
|
|
||||||
* @param {number} minimum_lightness
|
|
||||||
* @param {number} maximum_lightness
|
|
||||||
* @param {boolean | null} [use_reference_color]
|
|
||||||
* @param {number | null} [reference_color_bias]
|
|
||||||
* @returns {string[]}
|
|
||||||
*/
|
|
||||||
export function generate_palette_from_color(reference_color, swatch_amount, minimum_lightness, maximum_lightness, use_reference_color, reference_color_bias) {
|
|
||||||
const ptr0 = passStringToWasm0(reference_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
||||||
const len0 = WASM_VECTOR_LEN;
|
|
||||||
const ret = wasm.generate_palette_from_color(ptr0, len0, swatch_amount, minimum_lightness, maximum_lightness, isLikeNone(use_reference_color) ? 0xFFFFFF : use_reference_color ? 1 : 0, isLikeNone(reference_color_bias) ? 0xFFFFFF : reference_color_bias);
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {any}
|
* @returns {any}
|
||||||
*/
|
*/
|
||||||
|
@ -711,6 +660,27 @@ export function generate_swatch_scheme(colors, setting) {
|
||||||
return takeFromExternrefTable0(ret[0]);
|
return takeFromExternrefTable0(ret[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} reference_color
|
||||||
|
* @param {number} swatch_amount
|
||||||
|
* @param {number} minimum_lightness
|
||||||
|
* @param {number} maximum_lightness
|
||||||
|
* @param {boolean | null} [use_reference_color]
|
||||||
|
* @param {number | null} [reference_color_bias]
|
||||||
|
* @returns {string[]}
|
||||||
|
*/
|
||||||
|
export function generate_palette_from_color(reference_color, swatch_amount, minimum_lightness, maximum_lightness, use_reference_color, reference_color_bias) {
|
||||||
|
const ptr0 = passStringToWasm0(reference_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
||||||
|
const len0 = WASM_VECTOR_LEN;
|
||||||
|
const ret = wasm.generate_palette_from_color(ptr0, len0, swatch_amount, minimum_lightness, maximum_lightness, isLikeNone(use_reference_color) ? 0xFFFFFF : use_reference_color ? 1 : 0, isLikeNone(reference_color_bias) ? 0xFFFFFF : reference_color_bias);
|
||||||
|
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
|
* @param {string} color
|
||||||
* @param {number} percent
|
* @param {number} percent
|
||||||
|
@ -1189,6 +1159,36 @@ export function wacg_relative_contrast(fg_color, bg_color) {
|
||||||
return ret[0];
|
return ret[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @enum {0 | 1 | 2 | 3 | 4 | 5 | 6}
|
* @enum {0 | 1 | 2 | 3 | 4 | 5 | 6}
|
||||||
*/
|
*/
|
||||||
|
@ -2101,6 +2101,9 @@ function __wbg_get_imports() {
|
||||||
const ret = arg0.length;
|
const ret = arg0.length;
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
|
imports.wbg.__wbg_log_53ca6abb454c8644 = function(arg0, arg1, arg2) {
|
||||||
|
console.log(arg0, arg1, arg2);
|
||||||
|
};
|
||||||
imports.wbg.__wbg_new_405e22f390576ce2 = function() {
|
imports.wbg.__wbg_new_405e22f390576ce2 = function() {
|
||||||
const ret = new Object();
|
const ret = new Object();
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Binary file not shown.
58
src/color_functions/color_module_bg.wasm.d.ts
vendored
58
src/color_functions/color_module_bg.wasm.d.ts
vendored
|
@ -18,9 +18,6 @@ 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,14 +30,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 __wbg_hctdiffference_free: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hctdiffference_hue: (a: number) => number;
|
|
||||||
export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hctdiffference_chroma: (a: number) => number;
|
|
||||||
export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hctdiffference_lightness: (a: number) => number;
|
|
||||||
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,6 +68,14 @@ 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_hctdiffference_free: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_hctdiffference_hue: (a: number) => number;
|
||||||
|
export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_hctdiffference_chroma: (a: number) => number;
|
||||||
|
export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_hctdiffference_lightness: (a: number) => number;
|
||||||
|
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 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];
|
||||||
|
@ -100,6 +97,27 @@ 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 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_swatchschemesetting_free: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_swatchschemesetting_amount: (a: number) => number;
|
||||||
|
export const __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_swatchschemesetting_min_lightness: (a: number) => number;
|
||||||
|
export const __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_swatchschemesetting_max_lightness: (a: number) => number;
|
||||||
|
export const __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_swatchschemesetting_include_primary: (a: number) => number;
|
||||||
|
export const __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_swatchschemesetting_dark_convert: (a: number) => number;
|
||||||
|
export const __wbg_set_swatchschemesetting_dark_convert: (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_set_hsldifference_hue: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_hsldifference_saturation: (a: number) => number;
|
||||||
|
export const __wbg_set_hsldifference_saturation: (a: number, b: number) => void;
|
||||||
|
export const __wbg_get_hsldifference_lightness: (a: number) => number;
|
||||||
|
export const __wbg_set_hsldifference_lightness: (a: number, b: number) => void;
|
||||||
export const __wbg_rgbdifference_free: (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_get_rgbdifference_r: (a: number) => number;
|
||||||
export const __wbg_set_rgbdifference_r: (a: number, b: number) => void;
|
export const __wbg_set_rgbdifference_r: (a: number, b: number) => void;
|
||||||
|
@ -112,24 +130,6 @@ 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_set_swatchentry_name: (a: number, b: number, c: number) => void;
|
||||||
export const __wbg_get_swatchentry_color: (a: number) => [number, number];
|
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_set_swatchentry_color: (a: number, b: number, c: number) => void;
|
||||||
export const __wbg_hsldifference_free: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hsldifference_hue: (a: number) => number;
|
|
||||||
export const __wbg_set_hsldifference_hue: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hsldifference_saturation: (a: number) => number;
|
|
||||||
export const __wbg_set_hsldifference_saturation: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_hsldifference_lightness: (a: number) => number;
|
|
||||||
export const __wbg_set_hsldifference_lightness: (a: number, b: number) => void;
|
|
||||||
export const __wbg_swatchschemesetting_free: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_swatchschemesetting_amount: (a: number) => number;
|
|
||||||
export const __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_swatchschemesetting_min_lightness: (a: number) => number;
|
|
||||||
export const __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_swatchschemesetting_max_lightness: (a: number) => number;
|
|
||||||
export const __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_swatchschemesetting_include_primary: (a: number) => number;
|
|
||||||
export const __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void;
|
|
||||||
export const __wbg_get_swatchschemesetting_dark_convert: (a: number) => number;
|
|
||||||
export const __wbg_set_swatchschemesetting_dark_convert: (a: number, b: number) => void;
|
|
||||||
export const __wbindgen_malloc: (a: number, b: number) => number;
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
||||||
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||||
export const __wbindgen_exn_store: (a: number) => void;
|
export const __wbindgen_exn_store: (a: number) => void;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user