diff --git a/demos/theming-demo/src/main/java/org/pushingpixels/radiance/demo/theming/main/palette/TonalCheck.java b/demos/theming-demo/src/main/java/org/pushingpixels/radiance/demo/theming/main/palette/TonalCheck.java
index 362e153fd..387c1e3ee 100644
--- a/demos/theming-demo/src/main/java/org/pushingpixels/radiance/demo/theming/main/palette/TonalCheck.java
+++ b/demos/theming-demo/src/main/java/org/pushingpixels/radiance/demo/theming/main/palette/TonalCheck.java
@@ -32,7 +32,7 @@
import org.pushingpixels.radiance.demo.theming.main.Check;
import org.pushingpixels.radiance.theming.api.RadianceSkin;
import org.pushingpixels.radiance.theming.api.RadianceThemingCortex;
-import org.pushingpixels.radiance.theming.api.skin.BusinessSkin;
+import org.pushingpixels.radiance.theming.api.skin.BusinessBlueSteelSkin;
import javax.swing.*;
import java.awt.*;
@@ -41,7 +41,7 @@
public class TonalCheck {
public static void main(String[] args) {
- RadianceSkin tonalSkin = new BusinessSkin.BusinessTonalSkin();
+ RadianceSkin tonalSkin = new BusinessBlueSteelSkin.BusinessBlueSteelTonalSkin();
//new ControlStates.SampleSkin(new AquaColorScheme());
RadianceThemingCortex.GlobalScope.registerWidget("org.pushingpixels.radiance.theming" +
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/RadianceSkin.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/RadianceSkin.java
index 404556e9d..669c28471 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/RadianceSkin.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/RadianceSkin.java
@@ -193,6 +193,7 @@ public RadianceColorScheme getWindowChromeAccent() {
public static abstract class TonalAccented extends RadianceSkin implements TonalSkin {
public final static class AccentBuilder {
private RadianceColorScheme2 windowChromeAccent;
+ private RadianceColorScheme2 windowChromeHighlightsAccent;
private RadianceColorScheme2 enabledControlsAccent;
private RadianceColorScheme2 activeControlsAccent;
private RadianceColorScheme2 highlightsAccent;
@@ -206,6 +207,11 @@ public AccentBuilder withWindowChromeAccent(RadianceColorScheme2 windowChromeAcc
return this;
}
+ public AccentBuilder withWindowChromeHighlightsAccent(RadianceColorScheme2 windowChromeHighlightsAccent) {
+ this.windowChromeHighlightsAccent = windowChromeHighlightsAccent;
+ return this;
+ }
+
public AccentBuilder withActiveControlsAccent(RadianceColorScheme2 activeControlsAccent) {
this.activeControlsAccent = activeControlsAccent;
return this;
@@ -228,6 +234,7 @@ public AccentBuilder withBackgroundAccent(RadianceColorScheme2 backgroundAccent)
}
private final RadianceColorScheme2 windowChromeAccent;
+ private final RadianceColorScheme2 windowChromeHighlightsAccent;
private final RadianceColorScheme2 activeControlsAccent;
private final RadianceColorScheme2 enabledControlsAccent;
private final RadianceColorScheme2 highlightsAccent;
@@ -235,6 +242,7 @@ public AccentBuilder withBackgroundAccent(RadianceColorScheme2 backgroundAccent)
protected TonalAccented(AccentBuilder accentBuilder) {
this.windowChromeAccent = accentBuilder.windowChromeAccent;
+ this.windowChromeHighlightsAccent = accentBuilder.windowChromeHighlightsAccent;
this.activeControlsAccent = accentBuilder.activeControlsAccent;
this.enabledControlsAccent = accentBuilder.enabledControlsAccent;
this.highlightsAccent = accentBuilder.highlightsAccent;
@@ -260,6 +268,10 @@ public RadianceColorScheme2 getHighlightsAccent() {
public RadianceColorScheme2 getWindowChromeAccent() {
return this.windowChromeAccent;
}
+
+ public RadianceColorScheme2 getWindowChromeHighlightsAccent() {
+ return this.windowChromeHighlightsAccent;
+ }
}
/**
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessAccentedTonalSkin.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessAccentedTonalSkin.java
index e3b568033..6e18c033b 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessAccentedTonalSkin.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessAccentedTonalSkin.java
@@ -69,11 +69,18 @@ protected BusinessAccentedTonalSkin(AccentBuilder accentBuilder) {
businessDefaultBundle.getMainColorScheme().getExtendedTonalContainerTokens(),
RadianceThemingSlices.DecorationAreaType.NONE);
- this.registerAsDecorationArea(this.getWindowChromeAccent().getExtendedTonalContainerTokens(),
+ RadianceColorSchemeBundle2 businessDefaultHeaderBundle =
+ new RadianceColorSchemeBundle2(this.getWindowChromeAccent());
+ if (this.getWindowChromeHighlightsAccent() != null) {
+ businessDefaultHeaderBundle.registerColorScheme(this.getWindowChromeHighlightsAccent(),
+ RadianceThemingSlices.ContainerColorTokensAssociationKind.HIGHLIGHT,
+ ComponentState.getActiveStates());
+ }
+ this.registerDecorationAreaSchemeBundle(businessDefaultHeaderBundle,
+ businessDefaultHeaderBundle.getMainColorScheme().getExtendedTonalContainerTokens(),
RadianceThemingSlices.DecorationAreaType.PRIMARY_TITLE_PANE,
RadianceThemingSlices.DecorationAreaType.SECONDARY_TITLE_PANE,
- RadianceThemingSlices.DecorationAreaType.HEADER,
- RadianceThemingSlices.DecorationAreaType.FOOTER);
+ RadianceThemingSlices.DecorationAreaType.HEADER);
RadianceColorScheme2 controlPaneColorScheme =
ColorSchemeUtils.getLightTonalBalancedColorScheme(Hct.fromInt(0xFFDBDFE4), 3.0, 1.0);
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessBlueSteelSkin.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessBlueSteelSkin.java
index 418db542e..bf284949f 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessBlueSteelSkin.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessBlueSteelSkin.java
@@ -29,11 +29,11 @@
*/
package org.pushingpixels.radiance.theming.api.skin;
-import org.pushingpixels.radiance.theming.api.ComponentState;
-import org.pushingpixels.radiance.theming.api.RadianceColorSchemeBundle;
-import org.pushingpixels.radiance.theming.api.RadianceThemingSlices;
-import org.pushingpixels.radiance.theming.api.RadianceSkin;
+import org.pushingpixels.ephemeral.chroma.hct.Hct;
+import org.pushingpixels.radiance.theming.api.*;
import org.pushingpixels.radiance.theming.api.colorscheme.RadianceColorScheme;
+import org.pushingpixels.radiance.theming.api.palette.ColorSchemeUtils;
+import org.pushingpixels.radiance.theming.api.palette.RadianceColorScheme2;
/**
* Business Blue Steel
skin. This class is part of officially supported API.
@@ -92,4 +92,41 @@ public BusinessBlueSteelSkin() {
public String getDisplayName() {
return NAME;
}
+
+ public static class BusinessBlueSteelTonalSkin extends BusinessAccentedTonalSkin {
+ public static final String NAME = "Business Blue Steel Tonal";
+
+ public BusinessBlueSteelTonalSkin() {
+ super(new AccentBuilder()
+ .withWindowChromeAccent(ColorSchemeUtils.getLightTonalFidelityColorScheme(
+ Hct.fromInt(0xFFA1BCD0), Hct.fromInt(0xFFC4C8CC), Hct.fromInt(0xFFEAEAF0)))
+ .withWindowChromeHighlightsAccent(ColorSchemeUtils.getLightTonalFidelityColorScheme(
+ Hct.fromInt(0xFF83AFCE), Hct.fromInt(0xFFC4C8CC), Hct.fromInt(0xFFEAEAF0)))
+ .withActiveControlsAccent(ColorSchemeUtils.getLightTonalFidelityColorScheme(
+ Hct.fromInt(0xFF98B7CC), Hct.fromInt(0xFFC4C8CC), Hct.fromInt(0xFFEAEAF0)))
+ .withHighlightsAccent(ColorSchemeUtils.getLightTonalBalancedColorScheme(
+ Hct.fromInt(0xFFEBD296), 5.0, 2.0)));
+
+ RadianceColorScheme2 controlPaneColorScheme =
+ ColorSchemeUtils.getLightTonalFidelityColorScheme(Hct.fromInt(0xFF94B9D3),
+ Hct.fromInt(0xFFBFCFDB), Hct.fromInt(0xFFBFCFDB));
+
+ RadianceColorSchemeBundle2 businessBlueSteelControlBundle =
+ new RadianceColorSchemeBundle2(controlPaneColorScheme);
+ businessBlueSteelControlBundle.registerColorScheme(
+ getActiveControlsAccent(),
+ RadianceThemingSlices.ContainerColorTokensAssociationKind.HIGHLIGHT,
+ ComponentState.getActiveStates());
+ this.registerDecorationAreaSchemeBundle(businessBlueSteelControlBundle,
+ controlPaneColorScheme.getExtendedMutedContainerTokens(),
+ RadianceThemingSlices.DecorationAreaType.CONTROL_PANE,
+ RadianceThemingSlices.DecorationAreaType.FOOTER);
+ }
+
+ @Override
+ public String getDisplayName() {
+ return NAME;
+ }
+ }
+
}
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessSkin.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessSkin.java
index 820c8d32a..b1f470cf7 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessSkin.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/BusinessSkin.java
@@ -65,9 +65,11 @@ public static class BusinessTonalSkin extends BusinessAccentedTonalSkin {
public BusinessTonalSkin() {
super(new AccentBuilder()
.withWindowChromeAccent(ColorSchemeUtils.getLightTonalFidelityColorScheme(
- Hct.fromInt(0xFFB9C4CE), Hct.fromInt(0xFFDEDDDF), Hct.fromInt(0xFFF9F9F9)))
+ Hct.fromInt(0xFFBDC8D3), Hct.fromInt(0xFFDEDDDF), Hct.fromInt(0xFFE4EAF0)))
+ .withWindowChromeHighlightsAccent(ColorSchemeUtils.getLightTonalBalancedColorScheme(
+ Hct.fromInt(0xFFEBD296), 5.0, 2.0))
.withActiveControlsAccent(ColorSchemeUtils.getLightTonalFidelityColorScheme(
- Hct.fromInt(0xFFEAEDF3), Hct.fromInt(0xFFDEDDDF), Hct.fromInt(0xFFF9F9F9)))
+ Hct.fromInt(0xFFEAEDF3), Hct.fromInt(0xFFDEDDDF), Hct.fromInt(0xFFEAEAF0)))
.withHighlightsAccent(ColorSchemeUtils.getLightTonalBalancedColorScheme(
Hct.fromInt(0xFFEBD296), 5.0, 2.0)));
}
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/RadianceBusinessBlueSteelLookAndFeel.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/RadianceBusinessBlueSteelLookAndFeel.java
index 5583c9eb3..6aff5d038 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/RadianceBusinessBlueSteelLookAndFeel.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/skin/RadianceBusinessBlueSteelLookAndFeel.java
@@ -51,4 +51,10 @@ public class RadianceBusinessBlueSteelLookAndFeel extends RadianceLookAndFeel {
public RadianceBusinessBlueSteelLookAndFeel() {
super(new BusinessBlueSteelSkin());
}
+
+ public static class RadianceBusinessBlueSteelTonalLookAndFeel extends RadianceLookAndFeel {
+ public RadianceBusinessBlueSteelTonalLookAndFeel() {
+ super(new BusinessBlueSteelSkin.BusinessBlueSteelTonalSkin());
+ }
+ }
}
diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/internal/plugin/BaseSkinPlugin.java b/theming/src/main/java/org/pushingpixels/radiance/theming/internal/plugin/BaseSkinPlugin.java
index cd5b6fca1..1e9666b6c 100644
--- a/theming/src/main/java/org/pushingpixels/radiance/theming/internal/plugin/BaseSkinPlugin.java
+++ b/theming/src/main/java/org/pushingpixels/radiance/theming/internal/plugin/BaseSkinPlugin.java
@@ -117,6 +117,9 @@ public Set getSkins() {
RadianceModerateLookAndFeel.RadianceModerateTonalLookAndFeel.class::getName));
result.add(new SkinInfo(BusinessSkin.BusinessTonalSkin.NAME, BusinessSkin.BusinessTonalSkin.class::getName,
RadianceBusinessLookAndFeel.RadianceBusinessTonalLookAndFeel.class::getName));
+ result.add(new SkinInfo(BusinessBlueSteelSkin.BusinessBlueSteelTonalSkin.NAME,
+ BusinessBlueSteelSkin.BusinessBlueSteelTonalSkin.class::getName,
+ RadianceBusinessBlueSteelLookAndFeel.RadianceBusinessBlueSteelTonalLookAndFeel.class::getName));
return result;
}