summary refs log tree commit diff
path: root/bin/gfxx.c
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-02-04 12:11:48 -0500
committerJune McEnroe <programble@gmail.com>2018-02-04 12:11:48 -0500
commitaaebee43905e1f9951321954231ac78f4bd22c06 (patch)
tree4e75f4158dd2c2d28fac8cc39f74eb1577dc254f /bin/gfxx.c
parentAdd 4-bit RGB to gfxx (diff)
downloadsrc-aaebee43905e1f9951321954231ac78f4bd22c06.tar.gz
src-aaebee43905e1f9951321954231ac78f4bd22c06.zip
Add palette sampling to gfxx
Diffstat (limited to 'bin/gfxx.c')
-rw-r--r--bin/gfxx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/gfxx.c b/bin/gfxx.c
index b72af163..31f97ea1 100644
--- a/bin/gfxx.c
+++ b/bin/gfxx.c
@@ -264,6 +264,13 @@ extern void draw(uint32_t *buf, size_t xres, size_t yres) {
     }
 }
 
+static void samplePalette(void) {
+    size_t temp = scale;
+    scale = 1;
+    draw(palette, 256, 1);
+    scale = temp;
+}
+
 extern void input(char in) {
     size_t pixel = (bits + 7) / 8;
     size_t row = width * bits / 8;
@@ -271,6 +278,7 @@ extern void input(char in) {
         case 'q': printOpts(); exit(EX_OK);
         break; case '[': if (!space--) space = COLOR__MAX - 1;
         break; case ']': if (++space == COLOR__MAX) space = 0;
+        break; case 'p': samplePalette();
         break; case '{': if (bits > 16) bits -= 8; else bits = (bits + 1) / 2;
         break; case '}': if (bits < 16) bits *= 2; else if (bits < 32) bits += 8;
         break; case 'e': endian ^= true;