starting with initial draw.h
This commit is contained in:
		
							parent
							
								
									fd3c19bd55
								
							
						
					
					
						commit
						87adcd263b
					
				| 
						 | 
					@ -0,0 +1,76 @@
 | 
				
			||||||
 | 
					/* See LICENSE file for copyright and license details. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* X11 types - begin */
 | 
				
			||||||
 | 
					struct _XDraw {
 | 
				
			||||||
 | 
						unsigned int w, h;
 | 
				
			||||||
 | 
						Display *dpy;
 | 
				
			||||||
 | 
						Drawable drawable;
 | 
				
			||||||
 | 
						GC gc;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					typedef struct _XDraw Draw;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct _XCol {
 | 
				
			||||||
 | 
						unsigned long rgb;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					typedef struct _XCol Col;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct _XFont {
 | 
				
			||||||
 | 
						int ascent;
 | 
				
			||||||
 | 
						int descent;
 | 
				
			||||||
 | 
						unsigned int h, w;
 | 
				
			||||||
 | 
						XFontSet set;
 | 
				
			||||||
 | 
						XFontStruct *xfont;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					typedef struct _XFont Fnt;
 | 
				
			||||||
 | 
					/* X11 types - end */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct {
 | 
				
			||||||
 | 
						Draw *draw;
 | 
				
			||||||
 | 
						Col *fg;
 | 
				
			||||||
 | 
						Col *bg;
 | 
				
			||||||
 | 
						Fnt *font;
 | 
				
			||||||
 | 
						Bool fill;
 | 
				
			||||||
 | 
					} DDC;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct {
 | 
				
			||||||
 | 
						unsigned int w;
 | 
				
			||||||
 | 
						unsigned int h;
 | 
				
			||||||
 | 
						int x;
 | 
				
			||||||
 | 
						int y;
 | 
				
			||||||
 | 
						int xOff;
 | 
				
			||||||
 | 
						int yOff;
 | 
				
			||||||
 | 
					} TextExtents;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Drawable abstraction */
 | 
				
			||||||
 | 
					Draw *draw_create(Display *dpy, 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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Colour abstraction */
 | 
				
			||||||
 | 
					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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Map functions */
 | 
				
			||||||
 | 
					void dc_map(DDC *dc, int x, int y, unsigned int w, unsigned int h);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Text functions */
 | 
				
			||||||
 | 
					void dc_getextents(DDC *dc, const char *text, TextExtents *extents);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								dwm.c
								
								
								
								
							
							
						
						
									
										2
									
								
								dwm.c
								
								
								
								
							| 
						 | 
					@ -43,6 +43,8 @@
 | 
				
			||||||
#include <X11/extensions/Xinerama.h>
 | 
					#include <X11/extensions/Xinerama.h>
 | 
				
			||||||
#endif /* XINERAMA */
 | 
					#endif /* XINERAMA */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "draw.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* macros */
 | 
					/* macros */
 | 
				
			||||||
#define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
 | 
					#define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
 | 
				
			||||||
#define CLEANMASK(mask)         (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
 | 
					#define CLEANMASK(mask)         (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue