mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-14 07:47:12 -06:00
UIDefaultsLoader: support scaling float, insets and dimension
This commit is contained in:
@@ -221,7 +221,8 @@ class UIDefaultsLoader
|
|||||||
return resolveValue( properties, newValue );
|
return resolveValue( properties, newValue );
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum ValueType { UNKNOWN, STRING, INTEGER, FLOAT, BORDER, ICON, INSETS, DIMENSION, COLOR, SCALEDINTEGER, INSTANCE, CLASS }
|
private enum ValueType { UNKNOWN, STRING, INTEGER, FLOAT, BORDER, ICON, INSETS, DIMENSION, COLOR,
|
||||||
|
SCALEDINTEGER, SCALEDFLOAT, SCALEDINSETS, SCALEDDIMENSION, INSTANCE, CLASS }
|
||||||
|
|
||||||
static Object parseValue( String key, String value ) {
|
static Object parseValue( String key, String value ) {
|
||||||
return parseValue( key, value, v -> v, Collections.emptyList() );
|
return parseValue( key, value, v -> v, Collections.emptyList() );
|
||||||
@@ -299,6 +300,9 @@ class UIDefaultsLoader
|
|||||||
case DIMENSION: return parseDimension( value );
|
case DIMENSION: return parseDimension( value );
|
||||||
case COLOR: return parseColorOrFunction( value, resolver, true );
|
case COLOR: return parseColorOrFunction( value, resolver, true );
|
||||||
case SCALEDINTEGER: return parseScaledInteger( value );
|
case SCALEDINTEGER: return parseScaledInteger( value );
|
||||||
|
case SCALEDFLOAT: return parseScaledFloat( value );
|
||||||
|
case SCALEDINSETS: return parseScaledInsets( value );
|
||||||
|
case SCALEDDIMENSION:return parseScaledDimension( value );
|
||||||
case INSTANCE: return parseInstance( value, addonClassLoaders );
|
case INSTANCE: return parseInstance( value, addonClassLoaders );
|
||||||
case CLASS: return parseClass( value, addonClassLoaders );
|
case CLASS: return parseClass( value, addonClassLoaders );
|
||||||
case UNKNOWN:
|
case UNKNOWN:
|
||||||
@@ -629,6 +633,27 @@ class UIDefaultsLoader
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ActiveValue parseScaledFloat( String value ) {
|
||||||
|
float val = parseFloat( value, true );
|
||||||
|
return (ActiveValue) t -> {
|
||||||
|
return UIScale.scale( val );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ActiveValue parseScaledInsets( String value ) {
|
||||||
|
Insets insets = parseInsets( value );
|
||||||
|
return (ActiveValue) t -> {
|
||||||
|
return UIScale.scale( insets );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ActiveValue parseScaledDimension( String value ) {
|
||||||
|
Dimension dimension = parseDimension( value );
|
||||||
|
return (ActiveValue) t -> {
|
||||||
|
return UIScale.scale( dimension );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Split string and trim parts.
|
* Split string and trim parts.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user