#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