X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=tools%2Fgen-styles;h=73e2367bd7ba9a0ad1792345a5290f77e511f313;hb=e0adac791ac4ccc9629c98ab46189b9f8047e41b;hp=60b01a6325a7cd849135051c0c9894fba4986694;hpb=6e9344b73fa9b441dd2b4cc38d69ddf4b3afe574;p=mobile-ledger.git
diff --git a/tools/gen-styles b/tools/gen-styles
index 60b01a63..73e2367b 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;
@@ -204,9 +209,9 @@ sub hslStyleForHue {
else {
$result .= sprintf "$baseIndent