X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=tools%2Fgen-styles;h=0b8759c2942e9b5b9bdf68dc700952e3918c011a;hb=898bf5932a1bdb2a7b197d9e0981f722111295b6;hp=60b01a6325a7cd849135051c0c9894fba4986694;hpb=6e9344b73fa9b441dd2b4cc38d69ddf4b3afe574;p=mobile-ledger-staging.git diff --git a/tools/gen-styles b/tools/gen-styles index 60b01a63..0b8759c2 100644 --- a/tools/gen-styles +++ b/tools/gen-styles @@ -138,7 +138,7 @@ for (my $s = 0.50; $s < 0.90; $s += 0.001) { warn sprintf( 's%1.3f, l%1.3f -> %s', @$best ); -my $baseTheme = "AppTheme.NoActionBar"; +my $baseTheme = "AppTheme"; use constant STEP_DEGREES => 5; @@ -152,7 +152,6 @@ use constant STEP_DEGREES => 5; # hsvHex($hue/360.0, 0.86, 0.55); # printf " #%s\n", # hsvHex(($hue-4)/360.0, 0.72, 0.82); -# printf " #ffffffff\n"; # printf " #28%s\n", # hsvHex($hue/360.0, 0.65, 0.83); # printf " #28%s\n", @@ -166,7 +165,6 @@ use constant STEP_DEGREES => 5; sub outputThemes { my $out = shift; my $baseIndent = shift; - $out->print(hslStyleForHue($baseColorHue, undef, $baseIndent)); for( my $hue = 0; $hue < 360; $hue += STEP_DEGREES ) { $out->print("\n"); $out->print(hslStyleForHue($hue, $baseTheme, $baseIndent)); @@ -178,19 +176,26 @@ sub hslStyleForHue { my $base = shift; my $baseIndent = shift // ''; - my $blueL = 0.665; - my $yellowL = 0.350; - - my $blueL2 = 0.350; - my $yellowL2 = 0.500; - - # $y == 0 for yellow - my $y = $hue - 60; - $y += 360 if $y < 0; - # $q == 0 for yellow, 1 for blue - my $q = cos(deg2rad(abs($y-180)/2.0)); - my $l1 = $yellowL + ($blueL - $yellowL) * $q; - my $l2 = 0.250 + 0.250 * $q; + my %lQ = ( + 0 => 0.450, # red + 60 => 0.400, # yellow + 120 => 0.400, # green + 180 => 0.400, # cyan + 240 => 0.750, # blue + 300 => 0.500, # magenta + ); + $lQ{360} = $lQ{0}; + + my ($x0, $x1, $y0, $y1); + $x0 = (int( $hue / 60 ) * 60) % 360; + $x1 = $x0 + 60; + $y0 = $lQ{$x0}; + $y1 = $lQ{$x1}; + + # linear interpolation + my $l1 = $y0 + 1.0 * ( $hue - $x0 ) * ( $y1 - $y0 ) / ( $x1 - $x0 ); + + my $l2 = $l1 * 0.80; my $l3 = 0.950; my $l4 = 0.980; @@ -206,7 +211,7 @@ sub hslStyleForHue { $baseTheme; $result .= "$indentfalse\n"; $result .= "$indenttrue\n"; - $result .= "$indent#8a000000\n"; + $result .= "$indent#757575\n"; } my $S = 0.845; $result .= sprintf "$indent#%s\n", @@ -215,7 +220,6 @@ sub hslStyleForHue { hslHex($hue, $S, $l1); $result .= sprintf "$indent#%s\n", hslHex($hue, $S, $l2); - $result .= "$indent#ffffffff\n"; $result .= sprintf "$indent#%s\n", hslHex($hue, $S, $l3); $result .= sprintf "$indent#%s\n",