diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 165c407f..8c12896a 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -902,21 +902,32 @@ class UIDefaultsLoader * Syntax: fade(color,amount[,options]) * - color: a color (e.g. #f00) or a color function * - amount: percentage 0-100% - * - options: [derived] + * - options: [derived] [lazy] */ private static Object parseColorFade( List params, Function resolver, boolean reportError ) { String colorStr = params.get( 0 ); int amount = parsePercentage( params.get( 1 ) ); boolean derived = false; + boolean lazy = false; if( params.size() > 2 ) { String options = params.get( 2 ); derived = options.contains( "derived" ); + lazy = options.contains( "lazy" ); } // create function ColorFunction function = new ColorFunctions.Fade( amount ); + if( lazy ) { + return (LazyValue) t -> { + Object color = lazyUIManagerGet( colorStr ); + return (color instanceof Color) + ? new ColorUIResource( ColorFunctions.applyFunctions( (Color) color, function ) ) + : null; + }; + } + // parse base color, apply function and create derived color return parseFunctionBaseColor( colorStr, function, derived, resolver, reportError ); } diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index e4d4dbfc..7b43acf7 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -589,13 +589,13 @@ ScrollPane.smoothScrolling = true #---- SearchField ---- -SearchField.searchIconColor = fadeout(Actions.GreyInline,10%,lazy) -SearchField.searchIconHoverColor = fadeout(Actions.GreyInline,30%,lazy) -SearchField.searchIconPressedColor = fadeout(Actions.GreyInline,50%,lazy) +SearchField.searchIconColor = fade(Actions.GreyInline,90%,lazy) +SearchField.searchIconHoverColor = fade(Actions.GreyInline,70%,lazy) +SearchField.searchIconPressedColor = fade(Actions.GreyInline,50%,lazy) -SearchField.clearIconColor = fadeout(Actions.GreyInline,50%,lazy) +SearchField.clearIconColor = fade(Actions.GreyInline,50%,lazy) SearchField.clearIconHoverColor = $SearchField.clearIconColor -SearchField.clearIconPressedColor = fadeout(Actions.GreyInline,20%,lazy) +SearchField.clearIconPressedColor = fade(Actions.GreyInline,80%,lazy) #---- Separator ----