Skip to content

Commit

Permalink
Start using inverse tokens where relevant
Browse files Browse the repository at this point in the history
* Title pane text (text shadow)
* Separator secondary color (echo) - needs tweaking still

For #400
  • Loading branch information
kirill-grouchnikov committed Jan 17, 2025
1 parent 113d94f commit 4be4c53
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -412,10 +412,10 @@ public OfficeSilver2007TonalSkin() {
this.fillPainter = new FractionBasedTonalFillPainter("Office Silver 2007",
new float[] {0.0f, 0.49999f, 0.5f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW});
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW});

FractionBasedTonalBorderPainter outerBorderPainter = new FractionBasedTonalBorderPainter(
"Office Silver 2007 Outer", new float[] {0.0f, 1.0f},
Expand All @@ -434,12 +434,12 @@ public OfficeSilver2007TonalSkin() {
"Office Silver 2007",
new float[] {0.0f, 0.2499999f, 0.25f, 0.3f, 0.7f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST});
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST});

this.highlightFillPainter = new ClassicTonalFillPainter();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,27 @@
public interface ContainerColorTokensSingleColorQuery {
Color query(ContainerColorTokens colorTokens);

ContainerColorTokensSingleColorQuery CONTAINER_LOWEST = (colorTokens) ->
ContainerColorTokensSingleColorQuery CONTAINER_SURFACE_LOWEST = (colorTokens) ->
colorTokens.getContainerSurfaceLowest();
ContainerColorTokensSingleColorQuery CONTAINER_LOW = (colorTokens) ->
ContainerColorTokensSingleColorQuery CONTAINER_SURFACE_LOW = (colorTokens) ->
colorTokens.getContainerSurfaceLow();
ContainerColorTokensSingleColorQuery CONTAINER = (colorTokens) ->
ContainerColorTokensSingleColorQuery CONTAINER_SURFACE = (colorTokens) ->
colorTokens.getContainerSurface();
ContainerColorTokensSingleColorQuery CONTAINER_HIGH = (colorTokens) ->
ContainerColorTokensSingleColorQuery CONTAINER_SURFACE_HIGH = (colorTokens) ->
colorTokens.getContainerSurfaceHigh();
ContainerColorTokensSingleColorQuery CONTAINER_HIGHEST = (colorTokens) ->
ContainerColorTokensSingleColorQuery CONTAINER_SURFACE_HIGHEST = (colorTokens) ->
colorTokens.getContainerSurfaceHighest();

ContainerColorTokensSingleColorQuery CONTAINER_OUTLINE = (colorTokens) ->
colorTokens.getContainerOutline();
ContainerColorTokensSingleColorQuery CONTAINER_OUTLINE_VARIANT = (colorTokens) ->
colorTokens.getContainerOutlineVariant();

ContainerColorTokensSingleColorQuery INVERSE_CONTAINTER_SURFACE = (colorTokens) ->
colorTokens.getInverseContainerSurface();
ContainerColorTokensSingleColorQuery INVERSE_CONTAINER_OUTLINE = (colorTokens) ->
colorTokens.getInverseContainerOutline();

static ContainerColorTokensSingleColorQuery composite(
ContainerColorTokensSingleColorQuery base, ColorTransform... transforms) {
return colorTokens -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ public ClassicTonalFillPainter() {
super("Classic",
new float[] {0.0f, 0.5f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST
}
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ public GlassTonalFillPainter() {
super("Classic",
new float[] {0.0f, 0.4999999f, 0.5f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH,
}
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ public MatteTonalFillPainter() {
super("Matte",
new float[] {0.0f, 0.25f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE
}
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ public class SpecularRectangularFillPainter implements RadianceFillPainter {

public SpecularRectangularFillPainter(RadianceFillPainter baseFillPainter, float alpha) {
this(baseFillPainter,
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
alpha);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,8 @@ public AutumnTonalSkin() {
this.buttonShaper = new ClassicButtonShaper();
this.fillPainter = new SpecularRectangularFillPainter(
new MatteTonalFillPainter(),
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW,
1.0f);
this.borderPainter = new CompositeBorderPainter("Autumn",
new SubduedTonalBorderPainter(),
Expand All @@ -267,9 +267,9 @@ public AutumnTonalSkin() {
this.highlightFillPainter = new FractionBasedTonalFillPainter("Autumn",
new float[] {0.0f, 0.5f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_LOW
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOW
});

MarbleNoiseDecorationPainter decorationPainter = new MarbleNoiseDecorationPainter();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,9 +326,9 @@ public MarinerTonalSkin() {
this.buttonShaper = new ClassicButtonShaper();
this.fillPainter = new FractionBasedTonalFillPainter("Mariner", new float[] {0.0f, 0.5f, 1.0f},
new ContainerColorTokensSingleColorQuery[] {
ContainerColorTokensSingleColorQuery.CONTAINER_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER,
ContainerColorTokensSingleColorQuery.CONTAINER_HIGH});
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_LOWEST,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE,
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGH});

this.decorationPainter = new MatteDecorationPainter();
this.highlightFillPainter = new ClassicTonalFillPainter();
Expand All @@ -348,16 +348,16 @@ void configureOverlayPainters() {
this.footerTopBezelOverlayPainter = new TopBezelTonalOverlayPainter(
ContainerColorTokensSingleColorQuery.composite(
ContainerColorTokensSingleColorQuery.CONTAINER_OUTLINE,
ColorTransform.alpha(128)),
ColorTransform.alpha(80)),
ContainerColorTokensSingleColorQuery.composite(
ContainerColorTokensSingleColorQuery.CONTAINER_OUTLINE_VARIANT,
ColorTransform.alpha(128)));
ContainerColorTokensSingleColorQuery.INVERSE_CONTAINER_OUTLINE,
ColorTransform.alpha(48)));
this.addOverlayPainter(this.footerTopBezelOverlayPainter, RadianceThemingSlices.DecorationAreaType.FOOTER);

// add an overlay painter to create a line between
// menu bar and toolbars
this.menuOverlayPainter = new BottomLineTonalOverlayPainter(
ContainerColorTokensSingleColorQuery.CONTAINER_HIGHEST);
ContainerColorTokensSingleColorQuery.CONTAINER_SURFACE_HIGHEST);
this.addOverlayPainter(this.menuOverlayPainter, RadianceThemingSlices.DecorationAreaType.HEADER);

// add overlay painter to paint drop shadows along the bottom
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,8 @@ public static void paintTonalSeparator(Component c, Graphics g,
c, RadianceThemingSlices.ContainerType.NEUTRAL);
Color primary = colorTokens.getContainerOutlineVariant();
// TODO: TONAL - verify this across light and dark skins
Color secondary = colorTokens.getContainerSurfaceLow();
Color secondary = RadianceColorUtilities.getAlphaColor(
colorTokens.getInverseContainerOutline(), 64);
// System.out.println("Separator in " + decorationAreaType +
// ": primary=" + RadianceColorUtilities.encode(primary) + ", secondary=" +
// RadianceColorUtilities.encode(secondary));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -895,9 +895,7 @@ public void paintComponent(Graphics g) {
// TODO: TONAL - finalize the text echo color logic
RadianceTextUtilities.paintTextWithDropShadow(this, graphics,
colorTokens.getOnContainer(),
RadianceColorUtilities.getAlphaColor(
colorTokens.getOnContainerVariant(),
100),
colorTokens.getInverseOnContainer(),
displayTitle, width, height, xOffset, yOffset);
} else {
RadianceColorScheme scheme = skin.getEnabledColorScheme(
Expand Down

0 comments on commit 4be4c53

Please sign in to comment.