| 
									
										
										
										
											2022-01-16 08:32:58 -05:00
										 |  |  | /* Taken from sway. MIT licensed */ | 
					
						
							| 
									
										
										
										
											2024-02-27 11:23:12 -05:00
										 |  |  | #ifndef WMENU_POOL_BUFFER_H
 | 
					
						
							|  |  |  | #define WMENU_POOL_BUFFER_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-16 08:32:58 -05:00
										 |  |  | #include <cairo.h>
 | 
					
						
							|  |  |  | #include <pango/pangocairo.h>
 | 
					
						
							|  |  |  | #include <stdbool.h>
 | 
					
						
							|  |  |  | #include <stdint.h>
 | 
					
						
							|  |  |  | #include <wayland-client.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct pool_buffer { | 
					
						
							|  |  |  | 	struct wl_buffer *buffer; | 
					
						
							|  |  |  | 	cairo_surface_t *surface; | 
					
						
							|  |  |  | 	cairo_t *cairo; | 
					
						
							|  |  |  | 	PangoContext *pango; | 
					
						
							|  |  |  | 	size_t size; | 
					
						
							|  |  |  | 	int32_t width, height, scale; | 
					
						
							|  |  |  | 	bool busy; | 
					
						
							| 
									
										
										
										
											2023-12-28 11:28:08 -05:00
										 |  |  | 	void *data; | 
					
						
							| 
									
										
										
										
											2022-01-16 08:32:58 -05:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct pool_buffer *get_next_buffer(struct wl_shm *shm, | 
					
						
							|  |  |  | 		struct pool_buffer pool[static 2], int32_t width, int32_t height, int32_t scale); | 
					
						
							|  |  |  | void destroy_buffer(struct pool_buffer *buffer); | 
					
						
							| 
									
										
										
										
											2024-02-27 11:23:12 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |