#include "stdafx.h"
#include "c_p5Wrapper.h"
#include "P5dll.h"

/**********************************************/
// C extentions for c source implementation
/**********************************************/

CP5DLL p5;
p5Datatype p5Data;

P5BOOL C_P5_Init()
{
	return p5.P5_Init();
}


P5BOOL C_P5_GetMouseState(int P5Id)
{
	return p5.P5_GetMouseState(P5Id);
}


void C_P5_SetMouseState(int P5Id, P5BOOL state)
{
	p5.P5_SetMouseState(P5Id, state);
}


void C_P5_SaveBendSensors(int P5Id)
{
	p5.P5_SaveBendSensors(P5Id);
}


void C_P5_CalibrateBendSensors(int P5Id)
{
	p5.P5_CalibrateBendSensors(P5Id);
}


void C_P5_CalibratePositionData(int P5Id)
{
	p5.P5_CalibratePositionData(P5Id);
}


void C_P5_GetClickSensitivity(int P5Id, int *leftclick, int *rightclick, int *middleclick)
{
	p5.P5_GetClickSensitivity(P5Id, leftclick, rightclick, middleclick);
}


void C_P5_SetClickSensitivity(int P5Id, unsigned char leftvalue, unsigned char rightvalue, unsigned char middlevalue)
{
	p5.P5_SetClickSensitivity(P5Id, leftvalue, rightvalue, middlevalue);
}


P5BOOL C_P5_GetLastError(int *P5Id, int *ErrorCode)
{
	return p5.P5_GetLastError(P5Id, ErrorCode);
}


void   C_P5_Close()
{
	p5.P5_Close();
}


void C_GetData()
{
	p5Data.x = p5.m_P5Devices->m_fx;
	p5Data.y = p5.m_P5Devices->m_fy;
	p5Data.z = p5.m_P5Devices->m_fz;
	p5Data.roll = p5.m_P5Devices->m_froll;
	p5Data.pitch = p5.m_P5Devices->m_fpitch;
	p5Data.yaw = p5.m_P5Devices->m_fyaw;
	p5Data.buttons[0] = p5.m_P5Devices->m_byButtons[0];   // A
	p5Data.buttons[1] = p5.m_P5Devices->m_byButtons[1];   // B
	p5Data.buttons[2] = p5.m_P5Devices->m_byButtons[2];   // C
	p5Data.buttons[3] = p5.m_P5Devices->m_byButtons[3];   // ON/OFF
	p5Data.bend[0] = p5.m_P5Devices->m_byBendSensor_Data[0];  // thumb
	p5Data.bend[1] = p5.m_P5Devices->m_byBendSensor_Data[1];  // index
	p5Data.bend[2] = p5.m_P5Devices->m_byBendSensor_Data[2];  // middle
	p5Data.bend[3] = p5.m_P5Devices->m_byBendSensor_Data[3];  // ring
	p5Data.bend[4] = p5.m_P5Devices->m_byBendSensor_Data[4];  // pinky
}






















