2017-09-23 13:10:10 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#ifndef WLR_INTERFACES_WLR_OUTPUT_H
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#define WLR_INTERFACES_WLR_OUTPUT_H
							 | 
						
					
						
							
								
									
										
										
										
											2017-09-23 10:26:01 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2017-06-19 18:41:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#include <stdbool.h>
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-31 18:00:33 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#include <wlr/types/wlr_box.h>
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-21 17:37:25 +13:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#include <wlr/types/wlr_output.h>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#include <wlr/backend.h>
							 | 
						
					
						
							
								
									
										
										
										
											2017-06-19 18:41:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								struct wlr_output_impl {
							 | 
						
					
						
							
								
									
										
										
										
											2017-08-13 10:51:50 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									void (*enable)(struct wlr_output *output, bool enable);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									bool (*set_mode)(struct wlr_output *output, struct wlr_output_mode *mode);
							 | 
						
					
						
							
								
									
										
										
										
											2017-12-11 12:14:23 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									bool (*set_custom_mode)(struct wlr_output *output, int32_t width,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										int32_t height, int32_t refresh);
							 | 
						
					
						
							
								
									
										
										
										
											2017-08-13 10:51:50 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									void (*transform)(struct wlr_output *output,
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-12 09:40:51 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										enum wl_output_transform transform);
							 | 
						
					
						
							
								
									
										
										
										
											2017-08-13 10:51:50 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									bool (*set_cursor)(struct wlr_output *output, const uint8_t *buf,
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-12 09:40:51 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										int32_t stride, uint32_t width, uint32_t height,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										int32_t hotspot_x, int32_t hotspot_y, bool update_pixels);
							 | 
						
					
						
							
								
									
										
										
										
											2017-08-13 10:51:50 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									bool (*move_cursor)(struct wlr_output *output, int x, int y);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void (*destroy)(struct wlr_output *output);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void (*make_current)(struct wlr_output *output);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void (*swap_buffers)(struct wlr_output *output);
							 | 
						
					
						
							
								
									
										
										
										
											2017-09-06 18:53:08 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									void (*set_gamma)(struct wlr_output *output,
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-22 12:30:45 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										uint32_t size, uint16_t *r, uint16_t *g, uint16_t *b);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									uint32_t (*get_gamma_size)(struct wlr_output *output);
							 | 
						
					
						
							
								
									
										
										
										
											2017-06-19 18:41:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								};
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-21 17:37:25 +13:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									const struct wlr_output_impl *impl);
							 | 
						
					
						
							
								
									
										
										
										
											2017-06-19 18:41:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								void wlr_output_free(struct wlr_output *output);
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-23 21:03:00 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								void wlr_output_update_size(struct wlr_output *output, int32_t width,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									int32_t height);
							 | 
						
					
						
							
								
									
										
										
										
											2017-10-22 22:21:23 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								struct wl_global *wlr_output_create_global(struct wlr_output *wlr_output,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									struct wl_display *display);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								void wlr_output_destroy_global(struct wlr_output *wlr_output);
							 | 
						
					
						
							
								
									
										
										
										
											2017-06-19 18:41:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#endif
							 |