Make w3mimgdisplay work with st
Before this patch draw() calls drawregion which calls xdraws and then updates whole window in one call thus overdrawing anything drawn by w3mimgdisplay. After moving XCopyArea to xdraws it only updates the regions which are being updated by XftDraw* functions. It may do a few more calls to XCopyArea with this patch. Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
This commit is contained in:
		 Amadeusz Sławiński
					Amadeusz Sławiński
				
			
				
					committed by
					
						 Roberto E. Vargas Caballero
						Roberto E. Vargas Caballero
					
				
			
			
				
	
			
			
			 Roberto E. Vargas Caballero
						Roberto E. Vargas Caballero
					
				
			
						parent
						
							9df9a4723d
						
					
				
				
					commit
					c0a56ef4be
				
			
							
								
								
									
										4
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								st.c
									
									
									
									
									
								
							| @@ -3301,6 +3301,8 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | |||||||
| 		XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1, | 		XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1, | ||||||
| 				width, 1); | 				width, 1); | ||||||
| 	} | 	} | ||||||
|  | 	XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, winx, winy, width, | ||||||
|  | 			font->ascent + font->descent, winx, winy); | ||||||
|  |  | ||||||
| 	/* Reset clip to none. */ | 	/* Reset clip to none. */ | ||||||
| 	XftDrawSetClip(xw.draw, 0); | 	XftDrawSetClip(xw.draw, 0); | ||||||
| @@ -3399,8 +3401,6 @@ redraw(int timeout) { | |||||||
| void | void | ||||||
| draw(void) { | draw(void) { | ||||||
| 	drawregion(0, 0, term.col, term.row); | 	drawregion(0, 0, term.col, term.row); | ||||||
| 	XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w, |  | ||||||
| 			xw.h, 0, 0); |  | ||||||
| 	XSetForeground(xw.dpy, dc.gc, | 	XSetForeground(xw.dpy, dc.gc, | ||||||
| 			dc.col[IS_SET(MODE_REVERSE)? | 			dc.col[IS_SET(MODE_REVERSE)? | ||||||
| 				defaultfg : defaultbg].pixel); | 				defaultfg : defaultbg].pixel); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user