mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	Add a focus change signal for wl_pointer and wl_keyboard
This commit is contained in:
		
							parent
							
								
									3fd1e128e9
								
							
						
					
					
						commit
						aa792ad3d6
					
				
					 2 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
					@ -565,6 +565,7 @@ wl_pointer_init(struct wl_pointer *pointer)
 | 
				
			||||||
	pointer->default_grab.interface = &default_pointer_grab_interface;
 | 
						pointer->default_grab.interface = &default_pointer_grab_interface;
 | 
				
			||||||
	pointer->default_grab.pointer = pointer;
 | 
						pointer->default_grab.pointer = pointer;
 | 
				
			||||||
	pointer->grab = &pointer->default_grab;
 | 
						pointer->grab = &pointer->default_grab;
 | 
				
			||||||
 | 
						wl_signal_init(&pointer->focus_signal);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* FIXME: Pick better co-ords. */
 | 
						/* FIXME: Pick better co-ords. */
 | 
				
			||||||
	pointer->x = wl_fixed_from_int(100);
 | 
						pointer->x = wl_fixed_from_int(100);
 | 
				
			||||||
| 
						 | 
					@ -589,6 +590,7 @@ wl_keyboard_init(struct wl_keyboard *keyboard)
 | 
				
			||||||
	keyboard->default_grab.interface = &default_keyboard_grab_interface;
 | 
						keyboard->default_grab.interface = &default_keyboard_grab_interface;
 | 
				
			||||||
	keyboard->default_grab.keyboard = keyboard;
 | 
						keyboard->default_grab.keyboard = keyboard;
 | 
				
			||||||
	keyboard->grab = &keyboard->default_grab;
 | 
						keyboard->grab = &keyboard->default_grab;
 | 
				
			||||||
 | 
						wl_signal_init(&keyboard->focus_signal);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WL_EXPORT void
 | 
					WL_EXPORT void
 | 
				
			||||||
| 
						 | 
					@ -747,6 +749,7 @@ wl_pointer_set_focus(struct wl_pointer *pointer, struct wl_surface *surface,
 | 
				
			||||||
	pointer->focus_resource = resource;
 | 
						pointer->focus_resource = resource;
 | 
				
			||||||
	pointer->focus = surface;
 | 
						pointer->focus = surface;
 | 
				
			||||||
	pointer->default_grab.focus = surface;
 | 
						pointer->default_grab.focus = surface;
 | 
				
			||||||
 | 
						wl_signal_emit(&pointer->focus_signal, pointer);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WL_EXPORT void
 | 
					WL_EXPORT void
 | 
				
			||||||
| 
						 | 
					@ -778,6 +781,7 @@ wl_keyboard_set_focus(struct wl_keyboard *keyboard, struct wl_surface *surface)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	keyboard->focus_resource = resource;
 | 
						keyboard->focus_resource = resource;
 | 
				
			||||||
	keyboard->focus = surface;
 | 
						keyboard->focus = surface;
 | 
				
			||||||
 | 
						wl_signal_emit(&keyboard->focus_signal, keyboard);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WL_EXPORT void
 | 
					WL_EXPORT void
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -247,6 +247,7 @@ struct wl_pointer {
 | 
				
			||||||
	struct wl_resource *focus_resource;
 | 
						struct wl_resource *focus_resource;
 | 
				
			||||||
	struct wl_listener focus_listener;
 | 
						struct wl_listener focus_listener;
 | 
				
			||||||
	uint32_t focus_serial;
 | 
						uint32_t focus_serial;
 | 
				
			||||||
 | 
						struct wl_signal focus_signal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct wl_pointer_grab *grab;
 | 
						struct wl_pointer_grab *grab;
 | 
				
			||||||
	struct wl_pointer_grab default_grab;
 | 
						struct wl_pointer_grab default_grab;
 | 
				
			||||||
| 
						 | 
					@ -270,6 +271,7 @@ struct wl_keyboard {
 | 
				
			||||||
	struct wl_resource *focus_resource;
 | 
						struct wl_resource *focus_resource;
 | 
				
			||||||
	struct wl_listener focus_listener;
 | 
						struct wl_listener focus_listener;
 | 
				
			||||||
	uint32_t focus_serial;
 | 
						uint32_t focus_serial;
 | 
				
			||||||
 | 
						struct wl_signal focus_signal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct wl_keyboard_grab *grab;
 | 
						struct wl_keyboard_grab *grab;
 | 
				
			||||||
	struct wl_keyboard_grab default_grab;
 | 
						struct wl_keyboard_grab default_grab;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue