mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*************************************************************************/
 | |
| /*  godot_webxr.h                                                        */
 | |
| /*************************************************************************/
 | |
| /*                       This file is part of:                           */
 | |
| /*                           GODOT ENGINE                                */
 | |
| /*                      https://godotengine.org                          */
 | |
| /*************************************************************************/
 | |
| /* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur.                 */
 | |
| /* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md).   */
 | |
| /*                                                                       */
 | |
| /* Permission is hereby granted, free of charge, to any person obtaining */
 | |
| /* a copy of this software and associated documentation files (the       */
 | |
| /* "Software"), to deal in the Software without restriction, including   */
 | |
| /* without limitation the rights to use, copy, modify, merge, publish,   */
 | |
| /* distribute, sublicense, and/or sell copies of the Software, and to    */
 | |
| /* permit persons to whom the Software is furnished to do so, subject to */
 | |
| /* the following conditions:                                             */
 | |
| /*                                                                       */
 | |
| /* The above copyright notice and this permission notice shall be        */
 | |
| /* included in all copies or substantial portions of the Software.       */
 | |
| /*                                                                       */
 | |
| /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */
 | |
| /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */
 | |
| /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
 | |
| /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */
 | |
| /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */
 | |
| /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */
 | |
| /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */
 | |
| /*************************************************************************/
 | |
| 
 | |
| #ifndef GODOT_WEBXR_H
 | |
| #define GODOT_WEBXR_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #include "stddef.h"
 | |
| 
 | |
| typedef void (*GodotWebXRSupportedCallback)(char *p_session_mode, int p_supported);
 | |
| typedef void (*GodotWebXRStartedCallback)(char *p_reference_space_type);
 | |
| typedef void (*GodotWebXREndedCallback)();
 | |
| typedef void (*GodotWebXRFailedCallback)(char *p_message);
 | |
| typedef void (*GodotWebXRControllerCallback)();
 | |
| typedef void (*GodotWebXRInputEventCallback)(char *p_signal_name, int p_controller_id);
 | |
| typedef void (*GodotWebXRSimpleEventCallback)(char *p_signal_name);
 | |
| 
 | |
| extern int godot_webxr_is_supported();
 | |
| extern void godot_webxr_is_session_supported(const char *p_session_mode, GodotWebXRSupportedCallback p_callback);
 | |
| 
 | |
| extern void godot_webxr_initialize(
 | |
| 		const char *p_session_mode,
 | |
| 		const char *p_required_features,
 | |
| 		const char *p_optional_features,
 | |
| 		const char *p_requested_reference_space_types,
 | |
| 		GodotWebXRStartedCallback p_on_session_started,
 | |
| 		GodotWebXREndedCallback p_on_session_ended,
 | |
| 		GodotWebXRFailedCallback p_on_session_failed,
 | |
| 		GodotWebXRControllerCallback p_on_controller_changed,
 | |
| 		GodotWebXRInputEventCallback p_on_input_event,
 | |
| 		GodotWebXRSimpleEventCallback p_on_simple_event);
 | |
| extern void godot_webxr_uninitialize();
 | |
| 
 | |
| extern int godot_webxr_get_view_count();
 | |
| extern int *godot_webxr_get_render_targetsize();
 | |
| extern float *godot_webxr_get_transform_for_eye(int p_eye);
 | |
| extern float *godot_webxr_get_projection_for_eye(int p_eye);
 | |
| extern int godot_webxr_get_external_texture_for_eye(int p_eye);
 | |
| extern void godot_webxr_commit_for_eye(int p_eye);
 | |
| 
 | |
| extern void godot_webxr_sample_controller_data();
 | |
| extern int godot_webxr_get_controller_count();
 | |
| extern int godot_webxr_is_controller_connected(int p_controller);
 | |
| extern float *godot_webxr_get_controller_transform(int p_controller);
 | |
| extern int *godot_webxr_get_controller_buttons(int p_controller);
 | |
| extern int *godot_webxr_get_controller_axes(int p_controller);
 | |
| 
 | |
| extern char *godot_webxr_get_visibility_state();
 | |
| extern int *godot_webxr_get_bounds_geometry();
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* GODOT_WEBXR_H */
 | 
