new file: src/Makefile
new file: src/color.c
This commit is contained in:
		
							parent
							
								
									727cb1420c
								
							
						
					
					
						commit
						7d40fa9039
					
				
							
								
								
									
										4
									
								
								src/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| make: | ||||
| 	gcc color.c -lX11 -o ../color | ||||
| debug: | ||||
| 	gcc color.c -lX11 -Wall -o ../color -ggdb | ||||
							
								
								
									
										83
									
								
								src/color.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								src/color.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,83 @@ | ||||
| #include <X11/Xlib.h> | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| #include <errno.h> | ||||
| 
 | ||||
| //TODO: fix your ugly ass vim colors, I don't care if it's part of the code
 | ||||
| 
 | ||||
| 
 | ||||
| int main(void) { | ||||
| 
 | ||||
|   char text_prompt_buffer[32] = "testing"; //TODO: everything
 | ||||
| 
 | ||||
|    Display *display; | ||||
|    Window window; | ||||
|    XEvent event; | ||||
|    Colormap colormap; | ||||
|    int screen; | ||||
|     | ||||
|    XColor background_color; | ||||
|    XTextItem text_prompt; | ||||
|    XGCValues text_prompt_formatting; | ||||
|    GC text_prompt_gc;  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
|    if((display = XOpenDisplay(NULL)) == NULL) { | ||||
|       printf("Couldn't open display due to fatal error: %s\n", strerror(errno)); | ||||
|       exit(errno); | ||||
|    } | ||||
|   | ||||
|    screen = DefaultScreen(display); | ||||
|    colormap = DefaultColormap(display, screen); | ||||
|     | ||||
|    background_color.red = 0; | ||||
|    background_color.green = 65535; | ||||
|    background_color.blue = 0; | ||||
| 
 | ||||
|    XAllocColor(display, colormap, &background_color); | ||||
|     | ||||
| 
 | ||||
|    window = XCreateSimpleWindow(display, RootWindow(display, screen),  | ||||
|        10, 10,  | ||||
|        100, 100,  | ||||
|        0, | ||||
|        background_color.pixel, | ||||
|        background_color.pixel); //last arg is color
 | ||||
| 
 | ||||
|    XMapWindow(display, window); | ||||
|    XSelectInput(display, window, KeyPressMask | ExposureMask); | ||||
| 
 | ||||
| 
 | ||||
|    //text struct
 | ||||
|    text_prompt.chars = text_prompt_buffer; | ||||
|    text_prompt.nchars = strlen(text_prompt_buffer); | ||||
|    text_prompt.delta = 0; //what?
 | ||||
|    text_prompt.font = None;  | ||||
| 
 | ||||
|    //text formatting struct
 | ||||
|    text_prompt_formatting.foreground = BlackPixel(display, screen); | ||||
|    text_prompt_gc = XCreateGC(display, window, GCForeground | GCBackground, &text_prompt_formatting); | ||||
| 
 | ||||
| 
 | ||||
|    for(;;) { | ||||
|      XNextEvent(display, &event); | ||||
|      switch (event.type) { | ||||
|        case KeyPress: | ||||
|          printf("Key press\n"); | ||||
|          break; | ||||
|        case Expose: | ||||
|          XDrawText(display, window, text_prompt_gc, 10, 10, &text_prompt, 1); //TODO learn inverting math, move to bottom right of window
 | ||||
|          break; | ||||
|        default: | ||||
|          printf("wot\n"); | ||||
|          break; | ||||
|      } | ||||
|    } | ||||
|   | ||||
|   | ||||
|    return 0; | ||||
| }  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Brett Weiland
						Brett Weiland