summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile4
-rw-r--r--src/color.c13
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: