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:
		
							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); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Amadeusz Sławiński
						Amadeusz Sławiński