47 lines
		
	
	
		
			1020 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1020 B
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <kinc/global.h>
 | 
						|
 | 
						|
/*! \file rotation.h
 | 
						|
    \brief Provides support for rotation-sensors.
 | 
						|
*/
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// Sets the rotation-callback which is called when the device is rotated. Act quickly when this is called for a desktop-system.
 | 
						|
/// </summary>
 | 
						|
/// <param name="value">The callback</param>
 | 
						|
KINC_FUNC void kinc_rotation_set_callback(void (*value)(float /*x*/, float /*y*/, float /*z*/));
 | 
						|
 | 
						|
void kinc_internal_on_rotation(float x, float y, float z);
 | 
						|
 | 
						|
#ifdef KINC_IMPLEMENTATION_INPUT
 | 
						|
#define KINC_IMPLEMENTATION
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef KINC_IMPLEMENTATION
 | 
						|
 | 
						|
#include <memory.h>
 | 
						|
#include <stddef.h>
 | 
						|
 | 
						|
static void (*rotation_callback)(float /*x*/, float /*y*/, float /*z*/) = NULL;
 | 
						|
 | 
						|
void kinc_rotation_set_callback(void (*value)(float /*x*/, float /*y*/, float /*z*/)) {
 | 
						|
	rotation_callback = value;
 | 
						|
}
 | 
						|
 | 
						|
void kinc_internal_on_rotation(float x, float y, float z) {
 | 
						|
	if (rotation_callback != NULL) {
 | 
						|
		rotation_callback(x, y, z);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |