mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 17:12:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			890 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			890 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| // FIXME: These should not be included outside of Serenity.
 | |
| #include <Kernel/API/KeyCode.h>
 | |
| #include <LibGUI/Event.h>
 | |
| 
 | |
| #import <System/Cocoa.h>
 | |
| 
 | |
| namespace Ladybird {
 | |
| 
 | |
| struct MouseEvent {
 | |
|     Gfx::IntPoint position {};
 | |
|     Gfx::IntPoint screen_position {};
 | |
|     GUI::MouseButton button { GUI::MouseButton::Primary };
 | |
|     KeyModifier modifiers { KeyModifier::Mod_None };
 | |
| };
 | |
| MouseEvent ns_event_to_mouse_event(NSEvent*, NSView*, GUI::MouseButton);
 | |
| 
 | |
| NSEvent* create_context_menu_mouse_event(NSView*, Gfx::IntPoint);
 | |
| NSEvent* create_context_menu_mouse_event(NSView*, NSPoint);
 | |
| 
 | |
| struct KeyEvent {
 | |
|     KeyCode key_code { KeyCode::Key_Invalid };
 | |
|     KeyModifier modifiers { KeyModifier::Mod_None };
 | |
|     u32 code_point { 0 };
 | |
| };
 | |
| KeyEvent ns_event_to_key_event(NSEvent*);
 | |
| 
 | |
| }
 | 
