UIDefaultsLoader: added changeHue(), changeSaturation(), changeLightness() and changeAlpha() color functions (inspired by Sass CSS color.change() function)

This commit is contained in:
Karl Tauber
2021-08-05 11:40:28 +02:00
parent 6fcee03752
commit 7f7f9e3c7c
5 changed files with 101 additions and 2 deletions

View File

@@ -355,8 +355,21 @@ class FlatCompletionProvider
"options", "(optional) [derived]" );
addFunction( "spin",
"color", colorParamDesc,
"angle", "number of degrees to rotate",
"angle", "number of degrees to rotate (0-360)",
"options", "(optional) [derived]" );
addFunction( "changeHue",
"color", colorParamDesc,
"angle", "number of degrees (0-360)",
"options", "(optional) [derived]" );
String[] hslChangeParams = {
"color", colorParamDesc,
"value", "0-100%",
"options", "(optional) [derived]"
};
addFunction( "changeSaturation", hslChangeParams );
addFunction( "changeLightness", hslChangeParams );
addFunction( "changeAlpha", hslChangeParams );
}
private void addFunction( String name, String... paramNamesAndDescs ) {

View File

@@ -60,6 +60,14 @@ public class FlatThemeTokenMaker
tokenMap.put( "darken", TOKEN_FUNCTION );
tokenMap.put( "saturate", TOKEN_FUNCTION );
tokenMap.put( "desaturate", TOKEN_FUNCTION );
tokenMap.put( "fadein", TOKEN_FUNCTION );
tokenMap.put( "fadeout", TOKEN_FUNCTION );
tokenMap.put( "fade", TOKEN_FUNCTION );
tokenMap.put( "spin", TOKEN_FUNCTION );
tokenMap.put( "changeHue", TOKEN_FUNCTION );
tokenMap.put( "changeSaturation", TOKEN_FUNCTION );
tokenMap.put( "changeLightness", TOKEN_FUNCTION );
tokenMap.put( "changeAlpha", TOKEN_FUNCTION );
tokenMap.put( "lazy", TOKEN_FUNCTION );
// function options

View File

@@ -49,3 +49,8 @@ Prop.colorFunc13 = spin($Prop.colorFunc12,40)
Prop.colorFunc14 = spin($Prop.colorFunc12,-40)
Prop.colorFunc15 = spin($Prop.colorFunc12,400)
Prop.colorFunc16 = spin($Prop.colorFunc12,-400)
Prop.colorFunc20 = changeHue(#f00,180)
Prop.colorFunc21 = changeSaturation(#f00,50%)
Prop.colorFunc22 = changeLightness(#f00,80%)
Prop.colorFunc23 = changeAlpha(#f00,50%)