From 6b16f4a8ad234e909a672b8b1f1232259ba6d558 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Sun, 26 Jul 2020 23:22:39 -0500 Subject: modified: ../bin/color modified: color.c --- src/color.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'src/color.c') diff --git a/src/color.c b/src/color.c index 565f85a..cfe6077 100644 --- a/src/color.c +++ b/src/color.c @@ -13,8 +13,6 @@ int add_color(update_info *color, int key) { XFreeColors(color->display, color->colormap, &color->background.pixel, 1, 0); - XFreeColors(color->display, color->colormap, &color->foreground.pixel, 1, 0); - printf("%i\n", color->channel_step); switch(key){ case X_Q_KEY: color->background.red += color->channel_step; @@ -39,14 +37,15 @@ int add_color(update_info *color, int key) { printf("what the actual fuck is wrong with your program you cunt\n"); break; } - color->foreground.red = 0xffff - color->background.red; - color->foreground.green = 0xffff - color->background.green; - color->foreground.blue = 0xffff - color->background.blue; - XAllocColor(color->display, color->colormap, &color->foreground); XAllocColor(color->display, color->colormap, &color->background); } int redraw_display(update_info *display_summary, XTextItem *text_prompt, GC *gc, unsigned int textpos_y) { + XFreeColors(display_summary->display, display_summary->colormap, &display_summary->foreground.pixel, 1, 0); + display_summary->foreground.red = 0xffff - display_summary->background.red; + display_summary->foreground.green = 0xffff - display_summary->background.green; + display_summary->foreground.blue = 0xffff - display_summary->background.blue; + XAllocColor(display_summary->display, display_summary->colormap, &display_summary->foreground); XClearWindow(display_summary->display, display_summary->window); XSetWindowBackground(display_summary->display, display_summary->window, display_summary->background.pixel); XSetForeground(display_summary->display, *gc, display_summary->foreground.pixel); @@ -102,7 +101,6 @@ int main(void) { foreground_color.green = 0xffff - background_color.green; foreground_color.blue = 0xffff - background_color.blue; - unsigned long live_pixels[2] = {foreground_color.pixel, foreground_color.pixel}; XAllocColor(display, colormap, &background_color); XAllocColor(display, colormap, &foreground_color); @@ -153,10 +151,8 @@ int main(void) { XNextEvent(display, &event); switch (event.type) { case KeyPress: - printf("%i\n", event.xkey.keycode); if(is_prompt) { - XClearWindow(display, window); - + XClearWindow(display, window); text_buffer_space = PROMPT_BUFSIZE - text_prompt.nchars; switch(event.xkey.keycode) { case X_BACKSPACE: @@ -168,6 +164,14 @@ int main(void) { text_prompt.nchars = 0; is_prompt = 0; break; + case X_ENTER_KEY: + text_prompt_buffer[text_prompt.nchars + 1] = '\0'; + printf("%i: %s\n", strlen(text_prompt_buffer), text_prompt_buffer); + XParseColor(display, colormap, text_prompt_buffer, &background_color); + is_prompt = 0; + text_prompt.nchars = 0; + redraw_display(&display_summary, &text_prompt, &text_prompt_gc, textpos_y); + break; default: if(text_buffer_space > 0) { text_prompt.nchars += XLookupString(&event.xkey, text_prompt_buffer + text_prompt.nchars, text_buffer_space, NULL, NULL); @@ -179,7 +183,10 @@ int main(void) { else { switch(event.xkey.keycode) { case X_ENTER_KEY: - break; + is_prompt = 1; + text_prompt.nchars = 4; + strcpy(text_prompt_buffer, "rgb:"); + break; case X_Q_KEY: //if anyone is reading this, on a scale from 1-10, case X_W_KEY: //just how ugly is this? case X_E_KEY: //I don't know why, but it feels gross. -- cgit v1.2.3