diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 4 | ||||
-rw-r--r-- | src/color.c | 13 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/Makefile b/src/Makefile index be8ac25..6ea52ea 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,4 @@ make: - gcc color.c -lX11 -o ../bin/color + gcc color.c -lX11 -lm -o ../bin/color debug: - gcc color.c -lX11 -Wall -o ../bin/color -ggdb + gcc color.c -lX11 -lm -Wall -o ../bin/color -ggdb diff --git a/src/color.c b/src/color.c index bdf0239..01f093f 100644 --- a/src/color.c +++ b/src/color.c @@ -4,6 +4,7 @@ #include <stdlib.h> #include <string.h> #include <errno.h> +#include <math.h> #define PROMPT_BUFSIZE 32 @@ -36,7 +37,7 @@ int main(void) { GC text_prompt_gc; int text_buffer_space; - + unsigned int channel_step; int is_prompt = 0; unsigned int winsize_x; @@ -82,6 +83,8 @@ int main(void) { XMapWindow(display, window); XSelectInput(display, window, KeyPressMask | ExposureMask); + XGetWindowAttributes(display, window, &win_info); + channel_step = 0xffff / pow((win_info.depth / 3), 2) ; //text struct @@ -121,14 +124,16 @@ int main(void) { } } else { + printf("%i\n", win_info.depth); switch(event.xkey.keycode) { case X_ENTER_KEY: break; case X_Q_KEY: - printf("%i\n", background_color.red); + printf("Before: %i\n", background_color.red); XFreeColors(display, colormap, &background_color.pixel, 1, NULL); - background_color.red += 1000; - printf("%i\n", background_color.red); + printf("Step: %i\n", channel_step); + background_color.red += channel_step; //TODO: change me to depth + printf("After: %i\n", background_color.red); XAllocColor(display, colormap, &background_color); break; case X_W_KEY: |