|  |  | @ -1,19 +1,5 @@ | 
			
		
	
		
			
				
					|  |  |  | /* See LICENSE file for copyright and license details. */ | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | typedef struct _DDC DDC; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* X11 types - begin */ | 
			
		
	
		
			
				
					|  |  |  | typedef struct _XDraw Draw; | 
			
		
	
		
			
				
					|  |  |  | struct _XDraw { | 
			
		
	
		
			
				
					|  |  |  | unsigned int w, h; | 
			
		
	
		
			
				
					|  |  |  | Display *dpy; | 
			
		
	
		
			
				
					|  |  |  | int screen; | 
			
		
	
		
			
				
					|  |  |  | Window win; | 
			
		
	
		
			
				
					|  |  |  | Drawable drawable; | 
			
		
	
		
			
				
					|  |  |  | GC gc; | 
			
		
	
		
			
				
					|  |  |  | DDC *dc; | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | struct _XCol { | 
			
		
	
		
			
				
					|  |  |  | unsigned long rgb; | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
	
		
			
				
					|  |  | @ -29,15 +15,6 @@ struct _XFont { | 
			
		
	
		
			
				
					|  |  |  | typedef struct _XFont Fnt; | 
			
		
	
		
			
				
					|  |  |  | /* X11 types - end */ | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | struct _DDC { | 
			
		
	
		
			
				
					|  |  |  | Draw *draw; | 
			
		
	
		
			
				
					|  |  |  | Col *fg; | 
			
		
	
		
			
				
					|  |  |  | Col *bg; | 
			
		
	
		
			
				
					|  |  |  | Fnt *font; | 
			
		
	
		
			
				
					|  |  |  | Bool fill; | 
			
		
	
		
			
				
					|  |  |  | DDC *next; | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | typedef struct { | 
			
		
	
		
			
				
					|  |  |  | unsigned int w; | 
			
		
	
		
			
				
					|  |  |  | unsigned int h; | 
			
		
	
	
		
			
				
					|  |  | @ -47,15 +24,26 @@ typedef struct { | 
			
		
	
		
			
				
					|  |  |  | int yOff; | 
			
		
	
		
			
				
					|  |  |  | } TextExtents; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* X11 types - begin */ | 
			
		
	
		
			
				
					|  |  |  | typedef struct _XDraw Draw; | 
			
		
	
		
			
				
					|  |  |  | struct _XDraw { | 
			
		
	
		
			
				
					|  |  |  | unsigned int w, h; | 
			
		
	
		
			
				
					|  |  |  | Display *dpy; | 
			
		
	
		
			
				
					|  |  |  | int screen; | 
			
		
	
		
			
				
					|  |  |  | Window win; | 
			
		
	
		
			
				
					|  |  |  | Drawable drawable; | 
			
		
	
		
			
				
					|  |  |  | GC gc; | 
			
		
	
		
			
				
					|  |  |  | Col *fg; | 
			
		
	
		
			
				
					|  |  |  | Col *bg; | 
			
		
	
		
			
				
					|  |  |  | Fnt *font; | 
			
		
	
		
			
				
					|  |  |  | }; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Drawable abstraction */ | 
			
		
	
		
			
				
					|  |  |  | Draw *draw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  | void draw_resize(Draw *draw, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  | void draw_free(Draw *draw); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Drawing context abstraction */ | 
			
		
	
		
			
				
					|  |  |  | DDC *dc_create(Draw *draw); | 
			
		
	
		
			
				
					|  |  |  | void dc_free(DDC *dc); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Fnt abstraction */ | 
			
		
	
		
			
				
					|  |  |  | Fnt *font_create(const char *fontname); | 
			
		
	
		
			
				
					|  |  |  | void font_free(Fnt *font); | 
			
		
	
	
		
			
				
					|  |  | @ -65,18 +53,17 @@ Col *col_create(const char *colname); | 
			
		
	
		
			
				
					|  |  |  | void col_free(Col *col); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Drawing context manipulation */ | 
			
		
	
		
			
				
					|  |  |  | void dc_setfont(DDC *dc, Fnt *font); | 
			
		
	
		
			
				
					|  |  |  | void dc_setfg(DDC *dc, Col *col); | 
			
		
	
		
			
				
					|  |  |  | void dc_setbg(DDC *dc, Col *col); | 
			
		
	
		
			
				
					|  |  |  | void dc_setfill(DDC *dc, Bool fill); | 
			
		
	
		
			
				
					|  |  |  | void draw_setfont(Draw *draw, Fnt *font); | 
			
		
	
		
			
				
					|  |  |  | void draw_setfg(Draw *draw, Col *col); | 
			
		
	
		
			
				
					|  |  |  | void draw_setbg(Draw *draw, Col *col); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Drawing functions */ | 
			
		
	
		
			
				
					|  |  |  | void dc_drawrect(DDC *dc, int x, int y, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  | void dc_drawtext(DDC *dc, int x, int y, const char *text); | 
			
		
	
		
			
				
					|  |  |  | void draw_rect(Draw *draw, int x, int y, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  | void draw_text(Draw *draw, int x, int y, const char *text); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Map functions */ | 
			
		
	
		
			
				
					|  |  |  | void dc_map(DDC *dc, int x, int y, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  | void draw_map(Draw *draw, int x, int y, unsigned int w, unsigned int h); | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | /* Text functions */ | 
			
		
	
		
			
				
					|  |  |  | void dc_getextents(DDC *dc, const char *text, TextExtents *extents); | 
			
		
	
		
			
				
					|  |  |  | void draw_getextents(Draw *draw, const char *text, TextExtents *extents); | 
			
		
	
		
			
				
					|  |  |  |  |