修正生成动态颜色时存在的无限循环问题。
This commit is contained in:
parent
4054c2ce56
commit
9b6f4ace14
|
@ -63,6 +63,10 @@ impl DynamicColor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn tone(&self, scheme: &DynamicScheme) -> f32 {
|
||||||
|
(self.tone)(scheme)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_lch(&self, scheme: &DynamicScheme) -> Lch {
|
pub fn get_lch(&self, scheme: &DynamicScheme) -> Lch {
|
||||||
let tone = self.get_tone(scheme);
|
let tone = self.get_tone(scheme);
|
||||||
(self.palette)(scheme).tone(tone)
|
(self.palette)(scheme).tone(tone)
|
||||||
|
@ -88,14 +92,14 @@ impl DynamicColor {
|
||||||
let n_contrast = (nearer.contrast_curve.as_ref().unwrap()).get(scheme.contrast_level);
|
let n_contrast = (nearer.contrast_curve.as_ref().unwrap()).get(scheme.contrast_level);
|
||||||
let f_contrast = (farther.contrast_curve.as_ref().unwrap()).get(scheme.contrast_level);
|
let f_contrast = (farther.contrast_curve.as_ref().unwrap()).get(scheme.contrast_level);
|
||||||
|
|
||||||
let n_initial_tone = nearer.get_tone(scheme);
|
let n_initial_tone = nearer.tone(scheme);
|
||||||
let mut n_tone =
|
let mut n_tone =
|
||||||
if super::contrast::ratio_of_tones(bg_tone, n_initial_tone) >= n_contrast {
|
if super::contrast::ratio_of_tones(bg_tone, n_initial_tone) >= n_contrast {
|
||||||
n_initial_tone
|
n_initial_tone
|
||||||
} else {
|
} else {
|
||||||
foreground_tone(bg_tone, n_contrast)
|
foreground_tone(bg_tone, n_contrast)
|
||||||
};
|
};
|
||||||
let f_initial_tone = farther.get_tone(scheme);
|
let f_initial_tone = farther.tone(scheme);
|
||||||
let mut f_tone =
|
let mut f_tone =
|
||||||
if super::contrast::ratio_of_tones(bg_tone, f_initial_tone) >= f_contrast {
|
if super::contrast::ratio_of_tones(bg_tone, f_initial_tone) >= f_contrast {
|
||||||
f_initial_tone
|
f_initial_tone
|
||||||
|
|
Loading…
Reference in New Issue
Block a user