summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-03-31 00:16:32 -0400
committerJune McEnroe <programble@gmail.com>2018-03-31 00:16:32 -0400
commitd54d0519aec419e298229e6a120aacd5eee3df36 (patch)
treede14b85396fe41be4de6cc801558cc7a6c0f112d
parentSwitch to HSV for gfxx palette generation (diff)
downloadsrc-d54d0519aec419e298229e6a120aacd5eee3df36.tar.gz
src-d54d0519aec419e298229e6a120aacd5eee3df36.zip
Simplify gfxx palette generation
Diffstat (limited to '')
-rw-r--r--bin/gfxx.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/bin/gfxx.c b/bin/gfxx.c
index 45fe39df..8a43fd2f 100644
--- a/bin/gfxx.c
+++ b/bin/gfxx.c
@@ -117,17 +117,15 @@ int init(int argc, char *argv[]) {
         fclose(file);
     } else {
         for (int i = 0; i < 256; ++i) {
-            double h = i * 360.0 / 256.0 / 60.0, s = 1.0, v = 1.0;
-            double c = v * s;
-            double x = c * (1.0 - fabs(fmod(h, 2.0) - 1.0));
-            double r = v - c, g = v - c, b = v - c;
-            if (h <= 1.0)      { r += c; g += x; }
-            else if (h <= 2.0) { r += x; g += c; }
-            else if (h <= 3.0) { g += c; b += x; }
-            else if (h <= 4.0) { g += x; b += c; }
-            else if (h <= 5.0) { r += x; b += c; }
-            else if (h <= 6.0) { r += c; b += x; }
-            r *= 255.0; g *= 255.0; b *= 255.0;
+            double h = i / 256.0 * 6.0;
+            double x = 1.0 - fabs(fmod(h, 2.0) - 1.0);
+            double r = 255.0, g = 255.0, b = 255.0;
+            if      (h <= 1.0) { g *= x; b = 0.0; }
+            else if (h <= 2.0) { r *= x; b = 0.0; }
+            else if (h <= 3.0) { r = 0.0; b *= x; }
+            else if (h <= 4.0) { r = 0.0; g *= x; }
+            else if (h <= 5.0) { r *= x; g = 0.0; }
+            else if (h <= 6.0) { g = 0.0; b *= x; }
             palette[i] = (uint32_t)r << 16 | (uint32_t)g << 8 | (uint32_t)b;
         }
     }
029f5165a535&follow=1'>plain: use cgit_print_error_page() instead of html_status()John Keeping 2015-08-14clone: use cgit_print_error_page() instead of html_status()John Keeping 2015-08-14cgit: use cgit_print_error_page() where appropriateJohn Keeping 2015-08-14ui-shared: add cgit_print_error_page() functionJohn Keeping 2015-08-14ui-patch: make sure to send http headersChristian Hesse 2015-08-13Makefile: make "git/config.mak.uname" inclusion optionalJohn Keeping 2015-08-13ui-shared: show full date in tooltip if longer ago than max_relativeJohn Keeping 2015-08-13ui-shared: use common function in print_rel_date()John Keeping 2015-08-13ui-shared: extract date formatting to a functionJohn Keeping 2015-08-13filter: don't use dlsym unnecessarilyJohn Keeping 2015-08-13ui-tree: use "sane" isgraph()John Keeping 2015-08-13cgit.h: move stdbool.h from ui-shared.hJohn Keeping 2015-08-13cache.c: fix header orderJohn Keeping 2015-08-13configfile.c: don't include system headers directlyJohn Keeping 2015-08-13Remove redundant includesJohn Keeping 2015-08-13Makefile: include Git's config.mak.unameJohn Keeping 2015-08-13tests: allow shell to be overriddenJohn Keeping 2015-08-13redirect: cleanlinessJason A. Donenfeld 2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld 2015-08-12ui-log: fix double countingJohn Keeping 2015-08-12log: allow users to follow a fileJohn Keeping 2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping 2015-08-12t0110: Chain together using &&Jason A. Donenfeld 2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld 2015-08-12filters: apply HTML escapingLazaros Koromilas 2015-08-12git: update to v2.5.0Christian Hesse 2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt