move stuff from draw_win to separate functions
This commit is contained in:
		
							parent
							
								
									e16b1764f8
								
							
						
					
					
						commit
						e380849c24
					
				
							
								
								
									
										81
									
								
								dunst.c
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								dunst.c
									
									
									
									
									
								
							| @ -621,18 +621,42 @@ int calculate_width(void) | ||||
|         } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void draw_win(void) | ||||
| void move_and_map(int width, int height) | ||||
| { | ||||
| 
 | ||||
|         r_line_cache_reset(&line_cache); | ||||
|         update_screen_info(); | ||||
|         int width = calculate_width(); | ||||
|         int x,y; | ||||
|         /* calculate window position */ | ||||
|         if (geometry.mask & XNegative) { | ||||
|                 x = (scr.dim.x + (scr.dim.w - width)) + geometry.x; | ||||
|         } else { | ||||
|                 x = scr.dim.x + geometry.x; | ||||
|         } | ||||
| 
 | ||||
|         if (geometry.mask & YNegative) { | ||||
|                 y = scr.dim.y + (scr.dim.h + geometry.y) - height; | ||||
|         } else { | ||||
|                 y = scr.dim.y + geometry.y; | ||||
|         } | ||||
| 
 | ||||
|         line_height = MAX(line_height, font_h); | ||||
|         /* move and map window */ | ||||
|         if (x != window_dim.x || y != window_dim.y | ||||
|             || width != window_dim.w || height != window_dim.h) { | ||||
| 
 | ||||
|                 XResizeWindow(dc->dpy, win, width, height); | ||||
|                 XMoveWindow(dc->dpy, win, x, y); | ||||
| 
 | ||||
|                 window_dim.x = x; | ||||
|                 window_dim.y = y; | ||||
|                 window_dim.h = height; | ||||
|                 window_dim.w = width; | ||||
|         } | ||||
| 
 | ||||
|         mapdc(dc, win, width, height); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| void fill_line_cache(int width) | ||||
| { | ||||
|         /* create cache with all lines */ | ||||
|         for (l_node * iter = displayed_notifications->head; iter; | ||||
|              iter = iter->next) { | ||||
| @ -660,6 +684,21 @@ void draw_win(void) | ||||
|                         line_cache.lines[0].str = new; | ||||
|                 } | ||||
|         } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void draw_win(void) | ||||
| { | ||||
| 
 | ||||
|         r_line_cache_reset(&line_cache); | ||||
|         update_screen_info(); | ||||
|         int width = calculate_width(); | ||||
| 
 | ||||
| 
 | ||||
|         line_height = MAX(line_height, font_h); | ||||
| 
 | ||||
| 
 | ||||
|         fill_line_cache(width); | ||||
| 
 | ||||
| 
 | ||||
|         /* if we have a dynamic width, calculate the actual width */ | ||||
| @ -709,35 +748,7 @@ void draw_win(void) | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         int x,y; | ||||
|         /* calculate window position */ | ||||
|         if (geometry.mask & XNegative) { | ||||
|                 x = (scr.dim.x + (scr.dim.w - width)) + geometry.x; | ||||
|         } else { | ||||
|                 x = scr.dim.x + geometry.x; | ||||
|         } | ||||
| 
 | ||||
|         if (geometry.mask & YNegative) { | ||||
|                 y = scr.dim.y + (scr.dim.h + geometry.y) - height; | ||||
|         } else { | ||||
|                 y = scr.dim.y + geometry.y; | ||||
|         } | ||||
| 
 | ||||
|         /* move and map window */ | ||||
|         if (x != window_dim.x || y != window_dim.y | ||||
|             || width != window_dim.w || height != window_dim.h) { | ||||
| 
 | ||||
|                 XResizeWindow(dc->dpy, win, width, height); | ||||
|                 XMoveWindow(dc->dpy, win, x, y); | ||||
| 
 | ||||
|                 window_dim.x = x; | ||||
|                 window_dim.y = y; | ||||
|                 window_dim.h = height; | ||||
|                 window_dim.w = width; | ||||
|         } | ||||
| 
 | ||||
|         mapdc(dc, win, width, height); | ||||
|         move_and_map(width, height); | ||||
| } | ||||
| 
 | ||||
| char | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sascha Kruse
						Sascha Kruse