init and clear drw context
This commit is contained in:
		
							
								
								
									
										9
									
								
								sent.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								sent.c
									
									
									
									
									
								
							| @ -12,8 +12,10 @@ | |||||||
| #include <X11/Xatom.h> | #include <X11/Xatom.h> | ||||||
| #include <X11/Xlib.h> | #include <X11/Xlib.h> | ||||||
| #include <X11/Xutil.h> | #include <X11/Xutil.h> | ||||||
|  | #include <X11/Xft/Xft.h> | ||||||
|  |  | ||||||
| #include "arg.h" | #include "arg.h" | ||||||
|  | #include "drw.h" | ||||||
|  |  | ||||||
| char *argv0; | char *argv0; | ||||||
|  |  | ||||||
| @ -119,6 +121,7 @@ static int idx = 0; | |||||||
| static int slidecount = 0; | static int slidecount = 0; | ||||||
| static XWindow xw; | static XWindow xw; | ||||||
| static struct DC dc; | static struct DC dc; | ||||||
|  | static Drw *d = NULL; | ||||||
| static int running = 1; | static int running = 1; | ||||||
| static char *opt_font = NULL; | static char *opt_font = NULL; | ||||||
|  |  | ||||||
| @ -410,6 +413,8 @@ void cleanup(struct DC *cur) | |||||||
| 		return; | 		return; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	drw_free(d); | ||||||
|  |  | ||||||
| 	XDestroyWindow(xw.dpy, xw.win); | 	XDestroyWindow(xw.dpy, xw.win); | ||||||
| 	XSync(xw.dpy, False); | 	XSync(xw.dpy, False); | ||||||
| 	XCloseDisplay(xw.dpy); | 	XCloseDisplay(xw.dpy); | ||||||
| @ -580,6 +585,9 @@ void xinit() | |||||||
| 	xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); | 	xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); | ||||||
| 	XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); | 	XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); | ||||||
|  |  | ||||||
|  | 	if(!(d = drw_create(xw.dpy, xw.scr, xw.win, xw.w, xw.h))) | ||||||
|  | 		eprintf("Can't create drawing context."); | ||||||
|  |  | ||||||
| 	xloadfonts(opt_font ? opt_font : font); | 	xloadfonts(opt_font ? opt_font : font); | ||||||
|  |  | ||||||
| 	XStringListToTextProperty(&argv0, 1, &prop); | 	XStringListToTextProperty(&argv0, 1, &prop); | ||||||
| @ -663,6 +671,7 @@ void kpress(XEvent *e) | |||||||
| void configure(XEvent *e) | void configure(XEvent *e) | ||||||
| { | { | ||||||
| 	resize(e->xconfigure.width, e->xconfigure.height); | 	resize(e->xconfigure.width, e->xconfigure.height); | ||||||
|  | 	drw_resize(d, e->xconfigure.width, e->xconfigure.height); | ||||||
| 	if (slides[idx].img) | 	if (slides[idx].img) | ||||||
| 		slides[idx].img->state &= ~(DRAWN | SCALED); | 		slides[idx].img->state &= ~(DRAWN | SCALED); | ||||||
| 	xdraw(); | 	xdraw(); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user