// Copyright © 2019 - 2020 Oscar Campos <oscar.campos@thepimpam.com>
// Copyright © 2017 - William Edwards
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#include "gdnative.gen.h"
#include <gdnative/aabb.h>
#include <gdnative/array.h>
#include <gdnative/basis.h>
#include <gdnative/color.h>
#include <gdnative/dictionary.h>
#include <gdnative/gdnative.h>
#include <gdnative/node_path.h>
#include <gdnative/plane.h>
#include <gdnative/pool_arrays.h>
#include <gdnative/quat.h>
#include <gdnative/rect2.h>
#include <gdnative/rid.h>
#include <gdnative/string.h>
#include <gdnative/string_name.h>
#include <gdnative/transform.h>
#include <gdnative/transform2d.h>
#include <gdnative/variant.h>
#include <gdnative/vector2.h>
#include <gdnative/vector3.h>
#include <gdnative_api_struct.gen.h>

/*------------------------------------------------------------------------------
//   This file was autogenerated by PimPam GDNative-Go binding tools
//   Please do not modify this file, any change will be lost
//----------------------------------------------------------------------------*/


/* GDNative ARVR 1.1 */
void go_godot_arvr_register_interface(godot_gdnative_ext_arvr_api_struct * p_api, const godot_arvr_interface_gdnative * p_interface) {
	p_api->godot_arvr_register_interface(p_interface);
}

godot_real go_godot_arvr_get_worldscale(godot_gdnative_ext_arvr_api_struct * p_api) {
	return p_api->godot_arvr_get_worldscale();
}

godot_transform go_godot_arvr_get_reference_frame(godot_gdnative_ext_arvr_api_struct * p_api) {
	return p_api->godot_arvr_get_reference_frame();
}

void go_godot_arvr_blit(godot_gdnative_ext_arvr_api_struct * p_api, int p_eye, godot_rid * p_render_target, godot_rect2 * p_screen_rect) {
	p_api->godot_arvr_blit(p_eye, p_render_target, p_screen_rect);
}

godot_int go_godot_arvr_get_texid(godot_gdnative_ext_arvr_api_struct * p_api, godot_rid * p_render_target) {
	return p_api->godot_arvr_get_texid(p_render_target);
}

godot_int go_godot_arvr_add_controller(godot_gdnative_ext_arvr_api_struct * p_api, char * p_device_name, godot_int p_hand, godot_bool p_tracks_orientation, godot_bool p_tracks_position) {
	return p_api->godot_arvr_add_controller(p_device_name, p_hand, p_tracks_orientation, p_tracks_position);
}

void go_godot_arvr_remove_controller(godot_gdnative_ext_arvr_api_struct * p_api, godot_int p_controller_id) {
	p_api->godot_arvr_remove_controller(p_controller_id);
}

void go_godot_arvr_set_controller_transform(godot_gdnative_ext_arvr_api_struct * p_api, godot_int p_controller_id, godot_transform * p_transform, godot_bool p_tracks_orientation, godot_bool p_tracks_position) {
	p_api->godot_arvr_set_controller_transform(p_controller_id, p_transform, p_tracks_orientation, p_tracks_position);
}

void go_godot_arvr_set_controller_button(godot_gdnative_ext_arvr_api_struct * p_api, godot_int p_controller_id, godot_int p_button, godot_bool p_is_pressed) {
	p_api->godot_arvr_set_controller_button(p_controller_id, p_button, p_is_pressed);
}

void go_godot_arvr_set_controller_axis(godot_gdnative_ext_arvr_api_struct * p_api, godot_int p_controller_id, godot_int p_exis, godot_real p_value, godot_bool p_can_be_negative) {
	p_api->godot_arvr_set_controller_axis(p_controller_id, p_exis, p_value, p_can_be_negative);
}

godot_real go_godot_arvr_get_controller_rumble(godot_gdnative_ext_arvr_api_struct * p_api, godot_int p_controller_id) {
	return p_api->godot_arvr_get_controller_rumble(p_controller_id);
}

