@@ -42,34 +42,6 @@ def palette_to_hex(palette: TonalPalette):
4242 return tones
4343
4444
45- def custom_dynamic_color (
46- custom_color ,
47- source_color = 0 ,
48- blend = True ,
49- scheme_variant = 5 ,
50- chroma_mult = 1.0 ,
51- tone_mult = 1.0 ,
52- ):
53- value = custom_color ["value" ]
54- value = DislikeAnalyzer .fix_if_disliked (Hct .from_int (value )).to_int ()
55- if custom_color ["blend" ]:
56- value = Blend .harmonize (value , source_color )
57-
58- hct = Hct .from_int (value )
59- scheme = getScheme (scheme_variant , hct , False , 0 )
60- schemeDark = getScheme (scheme_variant , hct , True , 0 )
61- colorsLight = getColors (scheme , chroma_mult , tone_mult , False )
62- colorsDark = getColors (schemeDark , chroma_mult , tone_mult , True )
63-
64- return {
65- "source" : hexFromArgb (custom_color ["value" ]),
66- "value" : hexFromArgb (value ),
67- "blended" : blend ,
68- "light" : colorsLight ,
69- "dark" : colorsDark ,
70- }
71-
72-
7345schemes = [
7446 SchemeContent ,
7547 SchemeExpressive ,
@@ -85,7 +57,11 @@ def custom_dynamic_color(
8557
8658def getScheme (scheme_variant , source , isDark , contrastLevel ):
8759 scheme_class = schemes [scheme_variant ]
88- return scheme_class (source , isDark , contrastLevel )
60+ return scheme_class (
61+ source_color_hct = source ,
62+ is_dark = isDark ,
63+ contrast_level = contrastLevel ,
64+ )
8965
9066
9167def getColors (scheme , chroma_mult , tone_mult , is_dark ):
@@ -109,10 +85,12 @@ def getColors(scheme, chroma_mult, tone_mult, is_dark):
10985 return colors
11086
11187
112- def themeFromSourceColor (seed_color , scheme_variant = 5 , chroma_mult = 1 , tone_mult = 1 ):
88+ def themeFromSourceColor (
89+ seed_color , scheme_variant = 5 , chroma_mult = 1 , tone_mult = 1 , contrast_level = 0
90+ ):
11391 source = Hct .from_int (seed_color )
114- scheme = getScheme (scheme_variant , source , False , 0 )
115- schemeDark = getScheme (scheme_variant , source , True , 0 )
92+ scheme = getScheme (scheme_variant , source , False , contrast_level )
93+ schemeDark = getScheme (scheme_variant , source , True , contrast_level )
11694 colorsLight = getColors (scheme , chroma_mult , tone_mult , False )
11795 colorsDark = getColors (schemeDark , chroma_mult , tone_mult , True )
11896 # Base text states taken from Breeze Color Scheme
@@ -152,7 +130,13 @@ def themeFromSourceColor(seed_color, scheme_variant=5, chroma_mult=1, tone_mult=
152130
153131
154132def get_material_you_colors (
155- wallpaper_data , ncolor , source_type , scheme_variant , chroma_mult , tone_mult
133+ wallpaper_data ,
134+ ncolor ,
135+ source_type ,
136+ scheme_variant ,
137+ chroma_mult ,
138+ tone_mult ,
139+ contrast_level ,
156140):
157141 """Get material you colors from wallpaper or hex color using material-color-utility
158142
@@ -191,7 +175,11 @@ def get_material_you_colors(
191175 ncolor = 0
192176 source_color = hexFromArgb (source_colors [ncolor ])
193177 theme = themeFromSourceColor (
194- argbFromHex (source_color ), scheme_variant , chroma_mult , tone_mult
178+ argbFromHex (source_color ),
179+ scheme_variant ,
180+ chroma_mult ,
181+ tone_mult ,
182+ contrast_level ,
195183 )
196184
197185 materialYouColors = {
@@ -229,6 +217,7 @@ def get_color_schemes(
229217 scheme_variant = 5 ,
230218 chroma_mult = 1.0 ,
231219 tone_mult = 1.0 ,
220+ contrast_level = 0.0 ,
232221):
233222 """Display best colors, allow to select alternative color,
234223 and make and apply color schemes for dark and light mode
@@ -258,6 +247,7 @@ def get_color_schemes(
258247 scheme_variant ,
259248 chroma_mult ,
260249 tone_mult ,
250+ contrast_level ,
261251 )
262252
263253 elif wallpaper_type == "color" and wallpaper_data :
@@ -269,6 +259,7 @@ def get_color_schemes(
269259 scheme_variant ,
270260 chroma_mult ,
271261 tone_mult ,
262+ contrast_level ,
272263 )
273264
274265 if materialYouColors is not None :
0 commit comments