diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCapsLockIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCapsLockIcon.java
index 933f05de..64a26a82 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCapsLockIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCapsLockIcon.java
@@ -16,9 +16,12 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Area;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
@@ -63,16 +66,20 @@ public class FlatCapsLockIcon
*/
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ BasicStroke stroke = new BasicStroke( 1, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND );
+
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( new RoundRectangle2D.Float( 0, 0, 16, 16, 6, 6 ), false );
- path.append( new Rectangle2D.Float( 5, 11.5f, 6, 2 ), false );
- path.append( FlatUIUtils.createPath( 2,8, 8,2, 14,8, 11,8, 11,10, 5,10, 5,8 ), false );
+ path.append( new Area( stroke.createStrokedShape( new Rectangle2D.Float( 5.5f, 11.5f, 5, 2 ) ) ), false );
+ path.append( new Area( stroke.createStrokedShape( FlatUIUtils.createPath(
+ 2.5,7.5, 8,2, 13.5,7.5, 10.5,7.5, 10.5,9.5, 5.5,9.5, 5.5,7.5, 2.5,7.5 ) ) ), false );
g.fill( path );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserDetailsViewIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserDetailsViewIcon.java
index 0a208f69..2f1572ed 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserDetailsViewIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserDetailsViewIcon.java
@@ -39,21 +39,25 @@ public class FlatFileChooserDetailsViewIcon
/*
*/
- g.fillRect( 2, 3, 2, 2 );
- g.fillRect( 2, 7, 2, 2 );
- g.fillRect( 2, 11, 2, 2 );
- g.fillRect( 6, 3, 8, 2 );
- g.fillRect( 6, 7, 8, 2 );
- g.fillRect( 6, 11, 8, 2 );
+ g.fillRoundRect( 2, 3, 2, 1, 1, 1 );
+ g.fillRoundRect( 2, 6, 2, 1, 1, 1 );
+ g.fillRoundRect( 2, 9, 2, 1, 1, 1 );
+ g.fillRoundRect( 2, 12, 2, 1, 1, 1 );
+ g.fillRoundRect( 6, 3, 8, 1, 1, 1 );
+ g.fillRoundRect( 6, 6, 8, 1, 1, 1 );
+ g.fillRoundRect( 6, 9, 8, 1, 1, 1 );
+ g.fillRoundRect( 6, 12, 8, 1, 1, 1 );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserHomeFolderIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserHomeFolderIcon.java
index 7a2a80f2..adcea5a6 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserHomeFolderIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserHomeFolderIcon.java
@@ -16,8 +16,10 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
@@ -39,10 +41,22 @@ public class FlatFileChooserHomeFolderIcon
protected void paintIcon( Component c, Graphics2D g ) {
/*
*/
- g.fill( FlatUIUtils.createPath( 2,8, 8,2, 14,8, 12,8, 12,13, 9,13, 9,10, 7,10, 7,13, 4,13, 4,8 ) );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ g.draw( FlatUIUtils.createPath( false, 6.5,13, 6.5,9.5, 9.5,9.5, 9.5,13 ) );
+ g.draw( FlatUIUtils.createPath( false, 3.5,6.5,
+ 3.5,12.5, FlatUIUtils.QUAD_TO, 3.5,13.5, 4.5,13.5,
+ 11.5,13.5, FlatUIUtils.QUAD_TO, 12.5,13.5, 12.5,12.5,
+ 12.5,6.5 ) );
+ g.draw( FlatUIUtils.createPath( false, 1.5,8.5, 8,2, 14.5,8.5 ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserListViewIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserListViewIcon.java
index 9ae70b09..88870ca6 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserListViewIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserListViewIcon.java
@@ -16,8 +16,11 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.RoundRectangle2D;
import javax.swing.UIManager;
/**
@@ -39,17 +42,20 @@ public class FlatFileChooserListViewIcon
/*
*/
- g.fillRect( 3, 3, 4, 4 );
- g.fillRect( 3, 9, 4, 4 );
- g.fillRect( 9, 9, 4, 4 );
- g.fillRect( 9, 3, 4, 4 );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ g.draw( new RoundRectangle2D.Float( 2.5f, 2.5f, 4, 4, 2, 2 ) );
+ g.draw( new RoundRectangle2D.Float( 2.5f, 9.5f, 4, 4, 2, 2 ) );
+ g.draw( new RoundRectangle2D.Float( 9.5f, 9.5f, 4, 4, 2, 2 ) );
+ g.draw( new RoundRectangle2D.Float( 9.5f, 2.5f, 4, 4, 2, 2 ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserNewFolderIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserNewFolderIcon.java
index a5718b0e..bda7d6de 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserNewFolderIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserNewFolderIcon.java
@@ -16,10 +16,13 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
+import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Line2D;
import javax.swing.UIManager;
-import com.formdev.flatlaf.ui.FlatUIUtils;
/**
* "new folder" icon for {@link javax.swing.JFileChooser}.
@@ -31,6 +34,8 @@ import com.formdev.flatlaf.ui.FlatUIUtils;
public class FlatFileChooserNewFolderIcon
extends FlatAbstractIcon
{
+ private final Color greenColor = UIManager.getColor( "Actions.Green" );
+
public FlatFileChooserNewFolderIcon() {
super( 16, 16, UIManager.getColor( "Actions.Grey" ) );
}
@@ -40,13 +45,20 @@ public class FlatFileChooserNewFolderIcon
/*
*/
- g.fill( FlatUIUtils.createPath( 2,3, 5.5,3, 7,5, 14,5, 14,8, 11,8, 11,10, 9,10, 9,13, 2,13 ) );
- g.fill( FlatUIUtils.createPath( 14,11, 16,11, 16,13, 14,13, 14,15, 12,15, 12,13, 10,13, 10,11, 12,11, 12,9, 14,9, 14,11 ) );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ g.draw( FlatFileViewDirectoryIcon.createFolderPath() );
+
+ g.setColor( greenColor );
+ g.draw( new Line2D.Float( 5.5f, 9, 10.5f, 9 ) );
+ g.draw( new Line2D.Float( 8, 6.5f, 8, 11.5f ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserUpFolderIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserUpFolderIcon.java
index 0e7d7996..8bb4ba4b 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserUpFolderIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileChooserUpFolderIcon.java
@@ -16,9 +16,12 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Line2D;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
@@ -44,15 +47,20 @@ public class FlatFileChooserUpFolderIcon
/*
*/
- g.fill( FlatUIUtils.createPath( 2,3, 5.5,3, 7,5, 9,5, 9,9, 13,9, 13,5, 14,5, 14,13, 2,13 ) );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ g.draw( FlatFileViewDirectoryIcon.createFolderPath() );
g.setColor( blueColor );
- g.fill( FlatUIUtils.createPath( 12,4, 12,8, 10,8, 10,4, 8,4, 11,1, 14,4, 12,4 ) );
+ g.draw( new Line2D.Float( 8, 6.5f, 8, 11.5f ) );
+ g.draw( FlatUIUtils.createPath( false, 5.5,9, 8,6.5, 10.5,9 ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewComputerIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewComputerIcon.java
index 0b7120f4..b3376589 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewComputerIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewComputerIcon.java
@@ -16,10 +16,12 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
-import java.awt.geom.Path2D;
-import java.awt.geom.Rectangle2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Line2D;
+import java.awt.geom.RoundRectangle2D;
import javax.swing.UIManager;
/**
@@ -41,17 +43,18 @@ public class FlatFileViewComputerIcon
/*
*/
- Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
- path.append( new Rectangle2D.Float( 2, 3, 12, 8 ), false );
- path.append( new Rectangle2D.Float( 4, 5, 8, 4 ), false );
- g.fill( path );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
- g.fillRect( 2, 12, 12, 2 );
+ g.draw( new RoundRectangle2D.Float( 2.5f, 3.5f, 11, 7, 2, 2 ) );
+ g.drawLine( 8, 11, 8, 12 );
+ g.draw( new Line2D.Float( 4.5f, 12.5f, 11.5f, 12.5f ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewDirectoryIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewDirectoryIcon.java
index 85a59156..6ffc401f 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewDirectoryIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewDirectoryIcon.java
@@ -18,6 +18,8 @@ package com.formdev.flatlaf.icons;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Path2D;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
@@ -39,10 +41,30 @@ public class FlatFileViewDirectoryIcon
protected void paintIcon( Component c, Graphics2D g ) {
/*
*/
- g.fill( FlatUIUtils.createPath( 1,2, 6,2, 8,4, 15,4, 15,13, 1,13 ) );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+
+ g.draw( createFolderPath() );
+ }
+
+ static Path2D createFolderPath() {
+ double arc = 1.5;
+ double arc2 = 0.5;
+ return FlatUIUtils.createPath(
+ // bottom-right
+ 14.5,13.5-arc, FlatUIUtils.QUAD_TO, 14.5,13.5, 14.5-arc,13.5,
+ // bottom-left
+ 1.5+arc,13.5, FlatUIUtils.QUAD_TO, 1.5,13.5, 1.5,13.5-arc,
+ // top-left
+ 1.5,2.5+arc, FlatUIUtils.QUAD_TO, 1.5,2.5, 1.5+arc,2.5,
+ // top-mid-left
+ 6.5-arc2,2.5, FlatUIUtils.QUAD_TO, 6.5,2.5, 6.5+arc2,2.5+arc2,
+ // top-mid-right
+ 8.5,4.5,
+ // top-right
+ 14.5-arc,4.5, FlatUIUtils.QUAD_TO, 14.5,4.5, 14.5,4.5+arc );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFileIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFileIcon.java
index 69dac58a..f2ef9eb4 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFileIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFileIcon.java
@@ -16,8 +16,10 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
@@ -39,14 +41,29 @@ public class FlatFileViewFileIcon
protected void paintIcon( Component c, Graphics2D g ) {
/*
*/
- g.fill( FlatUIUtils.createPath( 8,6, 8,1, 13,1, 13,15, 3,15, 3,6 ) );
- g.fill( FlatUIUtils.createPath( 3,5, 7,5, 7,1 ) );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ double arc = 1.5;
+ g.draw( FlatUIUtils.createPath(
+ // top-left
+ 2.5,1.5+arc, FlatUIUtils.QUAD_TO, 2.5,1.5, 2.5+arc,1.5,
+ // top-right
+ 8.8,1.5, 13.5,6.2,
+ // bottom-right
+ 13.5,14.5-arc, FlatUIUtils.QUAD_TO, 13.5,14.5, 13.5-arc,14.5,
+ // bottom-left
+ 2.5+arc,14.5, FlatUIUtils.QUAD_TO, 2.5,14.5, 2.5,14.5-arc ) );
+
+ g.draw( FlatUIUtils.createPath( false, 8.5,2,
+ 8.5,6.5-arc, FlatUIUtils.QUAD_TO, 8.5,6.5, 8.5+arc,6.5,
+ 13,6.5 ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFloppyDriveIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFloppyDriveIcon.java
index 94c58cf6..2203c314 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFloppyDriveIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewFloppyDriveIcon.java
@@ -16,9 +16,10 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
-import java.awt.geom.Path2D;
+import java.awt.RenderingHints;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
@@ -40,18 +41,22 @@ public class FlatFileViewFloppyDriveIcon
protected void paintIcon( Component c, Graphics2D g ) {
/*
*/
- Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
- path.append( FlatUIUtils.createPath( 11,14, 11,11, 5,11, 5,14, 2,14, 2,2, 14,2, 14,14, 11,14 ), false );
- path.append( FlatUIUtils.createPath( 4,4, 4,8, 12,8, 12,4, 4,4 ), false );
- g.fill( path );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
- g.fillRect( 6, 12, 4, 2 );
+ g.draw( FlatUIUtils.createPath( 3.5,2.5, 11.5,2.5, 11.5,2.5, 13.5,4.5,
+ 13.5,12.5, FlatUIUtils.QUAD_TO, 13.5,13.5, 12.5,13.5,
+ 3.5,13.5, FlatUIUtils.QUAD_TO, 2.5,13.5, 2.5,12.5,
+ 2.5,3.5, FlatUIUtils.QUAD_TO, 2.5,2.5, 3.5,2.5 ) );
+ g.draw( FlatUIUtils.createPath( false, 4.5,13, 4.5,9.5, 11.5,9.5, 11.5,13 ) );
+ g.draw( FlatUIUtils.createPath( false, 5.5,3, 5.5,5.5, 10.5,5.5, 10.5,3 ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewHardDriveIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewHardDriveIcon.java
index 8f635ce9..121aa4bf 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewHardDriveIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatFileViewHardDriveIcon.java
@@ -16,10 +16,12 @@
package com.formdev.flatlaf.icons;
+import java.awt.BasicStroke;
import java.awt.Component;
import java.awt.Graphics2D;
-import java.awt.geom.Path2D;
-import java.awt.geom.Rectangle2D;
+import java.awt.RenderingHints;
+import java.awt.geom.Ellipse2D;
+import java.awt.geom.RoundRectangle2D;
import javax.swing.UIManager;
/**
@@ -40,14 +42,19 @@ public class FlatFileViewHardDriveIcon
protected void paintIcon( Component c, Graphics2D g ) {
/*
*/
- Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
- path.append( new Rectangle2D.Float( 2, 6, 12, 4 ), false );
- path.append( new Rectangle2D.Float( 12, 8, 1, 1 ), false );
- path.append( new Rectangle2D.Float( 10, 8, 1, 1 ), false );
- g.fill( path );
+ g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
+ g.setStroke( new BasicStroke( 1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND ) );
+
+ g.draw( new RoundRectangle2D.Float( 2.5f, 5.5f, 11, 5, 2, 2 ) );
+ g.fill( new Ellipse2D.Float( 10.8f, 7.8f, 1.4f, 1.4f ) );
+ g.fill( new Ellipse2D.Float( 8.8f, 7.8f, 1.4f, 1.4f ) );
}
}
diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatHelpButtonIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatHelpButtonIcon.java
index d415356f..2a274064 100644
--- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatHelpButtonIcon.java
+++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatHelpButtonIcon.java
@@ -17,9 +17,11 @@
package com.formdev.flatlaf.icons;
import static com.formdev.flatlaf.util.UIScale.*;
+import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Path2D;
import java.util.Map;
@@ -96,7 +98,8 @@ public class FlatHelpButtonIcon
diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/util/TestColorFunctions.java b/flatlaf-core/src/test/java/com/formdev/flatlaf/util/TestColorFunctions.java
index 960ff57a..2c81bfce 100644
--- a/flatlaf-core/src/test/java/com/formdev/flatlaf/util/TestColorFunctions.java
+++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/util/TestColorFunctions.java
@@ -27,6 +27,7 @@ public class TestColorFunctions
{
@Test
void colorFunctions() {
+ // lighten, darken
assertEquals( new Color( 0xff6666 ), ColorFunctions.lighten( Color.red, 0.2f ) );
assertEquals( new Color( 0x990000 ), ColorFunctions.darken( Color.red, 0.2f ) );
@@ -38,6 +39,11 @@ public class TestColorFunctions
assertEquals( new Color( 0xffaa00 ), ColorFunctions.spin( Color.red,40 ) );
assertEquals( new Color( 0xff00aa ), ColorFunctions.spin( Color.red,-40 ) );
+ // fade
+ assertEquals( new Color( 0x33ff0000, true ), ColorFunctions.fade( Color.red, 0.2f ) );
+ assertEquals( new Color( 0xccff0000, true ), ColorFunctions.fade( Color.red, 0.8f ) );
+ assertEquals( new Color( 0xccff0000, true ), ColorFunctions.fade( new Color( 0x10ff0000, true ), 0.8f ) );
+
// mix
assertEquals( new Color( 0x1ae600 ), ColorFunctions.mix( Color.red, Color.green, 0.1f ) );
assertEquals( new Color( 0x40bf00 ), ColorFunctions.mix( Color.red, Color.green, 0.25f ) );
diff --git a/flatlaf-core/svg/CapsLockIcon.svg b/flatlaf-core/svg/CapsLockIcon.svg
index a81e218e..b58b8922 100644
--- a/flatlaf-core/svg/CapsLockIcon.svg
+++ b/flatlaf-core/svg/CapsLockIcon.svg
@@ -1,7 +1,7 @@
diff --git a/flatlaf-core/svg/FileChooserDetailsViewIcon.svg b/flatlaf-core/svg/FileChooserDetailsViewIcon.svg
index dda96e57..4f636e2e 100644
--- a/flatlaf-core/svg/FileChooserDetailsViewIcon.svg
+++ b/flatlaf-core/svg/FileChooserDetailsViewIcon.svg
@@ -1,10 +1,12 @@
diff --git a/flatlaf-core/svg/FileChooserHomeFolderIcon.svg b/flatlaf-core/svg/FileChooserHomeFolderIcon.svg
index e2599d40..46492757 100644
--- a/flatlaf-core/svg/FileChooserHomeFolderIcon.svg
+++ b/flatlaf-core/svg/FileChooserHomeFolderIcon.svg
@@ -1,3 +1,7 @@
diff --git a/flatlaf-core/svg/FileChooserListViewIcon.svg b/flatlaf-core/svg/FileChooserListViewIcon.svg
index 069275e1..f073e1e1 100644
--- a/flatlaf-core/svg/FileChooserListViewIcon.svg
+++ b/flatlaf-core/svg/FileChooserListViewIcon.svg
@@ -1,8 +1,8 @@
diff --git a/flatlaf-core/svg/FileChooserNewFolderIcon.svg b/flatlaf-core/svg/FileChooserNewFolderIcon.svg
index 59c59a83..ce472205 100644
--- a/flatlaf-core/svg/FileChooserNewFolderIcon.svg
+++ b/flatlaf-core/svg/FileChooserNewFolderIcon.svg
@@ -1,6 +1,7 @@
diff --git a/flatlaf-core/svg/FileChooserUpFolderIcon.svg b/flatlaf-core/svg/FileChooserUpFolderIcon.svg
index f5a072ef..fa6c07d6 100644
--- a/flatlaf-core/svg/FileChooserUpFolderIcon.svg
+++ b/flatlaf-core/svg/FileChooserUpFolderIcon.svg
@@ -1,6 +1,7 @@
diff --git a/flatlaf-core/svg/FileViewComputerIcon.svg b/flatlaf-core/svg/FileViewComputerIcon.svg
index 910f29f3..280b3303 100644
--- a/flatlaf-core/svg/FileViewComputerIcon.svg
+++ b/flatlaf-core/svg/FileViewComputerIcon.svg
@@ -1,6 +1,7 @@
diff --git a/flatlaf-core/svg/FileViewDirectoryIcon.svg b/flatlaf-core/svg/FileViewDirectoryIcon.svg
index d01b4331..111c03ee 100644
--- a/flatlaf-core/svg/FileViewDirectoryIcon.svg
+++ b/flatlaf-core/svg/FileViewDirectoryIcon.svg
@@ -1,3 +1,3 @@
diff --git a/flatlaf-core/svg/FileViewFileIcon.svg b/flatlaf-core/svg/FileViewFileIcon.svg
index 81f06450..d8e8e328 100644
--- a/flatlaf-core/svg/FileViewFileIcon.svg
+++ b/flatlaf-core/svg/FileViewFileIcon.svg
@@ -1,6 +1,6 @@
diff --git a/flatlaf-core/svg/FileViewFloppyDriveIcon.svg b/flatlaf-core/svg/FileViewFloppyDriveIcon.svg
index e07ed776..1a348053 100644
--- a/flatlaf-core/svg/FileViewFloppyDriveIcon.svg
+++ b/flatlaf-core/svg/FileViewFloppyDriveIcon.svg
@@ -1,6 +1,7 @@
diff --git a/flatlaf-core/svg/FileViewHardDriveIcon.svg b/flatlaf-core/svg/FileViewHardDriveIcon.svg
index 7dce2914..f8bd1d48 100644
--- a/flatlaf-core/svg/FileViewHardDriveIcon.svg
+++ b/flatlaf-core/svg/FileViewHardDriveIcon.svg
@@ -1,3 +1,7 @@
diff --git a/flatlaf-core/svg/FlatLaf Icons.sketch b/flatlaf-core/svg/FlatLaf Icons.sketch
index acca1c77..53678d63 100644
Binary files a/flatlaf-core/svg/FlatLaf Icons.sketch and b/flatlaf-core/svg/FlatLaf Icons.sketch differ
diff --git a/flatlaf-core/svg/FlatLaf.svg b/flatlaf-core/svg/FlatLaf.svg
index 41c42936..0c3d1462 100644
--- a/flatlaf-core/svg/FlatLaf.svg
+++ b/flatlaf-core/svg/FlatLaf.svg
@@ -6,7 +6,7 @@