/*=========================================================================
* IPT_Kwan.h :
*     KeyWord Analyse
*
* (c) Ubi Studios 1997
*=======================================================================*/
 
#if !defined(__IPT_Kwan_h__)
#define __IPT_Kwan_h__
 
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
 
/****************************************/
#if !defined(CPA_EXPORT)
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif /*CPA_WANTS_IMPORT || CPA_WANTS_EXPORT*/
#endif /*CPA_EXPORT*/
/****************************************/
 
#undef EXTERN
#undef extern
#if !defined(D_IPT_Input_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_IPT_Input_VariableDefine*/
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
/**** Private functions ****/
/* LOL unsigned char IPT_fn_bIsKeyWordValid(IPT_tdxHandleToKeyWordElement hKeyWordElement);*/
 
/**** KeyWords functions ****/
unsigned char IPT_fn_bIsKeyWordValid_And(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_Or(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_Not(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_KeyJustPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_KeyJustReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_KeyPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_KeyReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_PadJustPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_PadJustReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_PadPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_PadReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickAxeValue(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickJustPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickJustReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickOrPadJustPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickOrPadJustReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickOrPadPressed(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_JoystickOrPadReleased(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_ActionJustValidated(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_ActionValidated(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_ActionJustInvalidated(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_ActionInvalidated(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_Sequence(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_SequenceKey(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_SequenceKeyEnd(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_SequencePad(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
unsigned char IPT_fn_bIsKeyWordValid_SequencePadEnd(IPT_tdxHandleToKeyWordElement _hKeyWordElement);
 
/* ANNECY AV {*/
/* This function must be defined for IPT_Kwan.c et IPT_Anal.c*/
#ifdef D_IPT_DefineIsKeyWordValid
 
#ifndef CODEWARRIOR
static
#endif
__inline unsigned char IPT_fn_bIsKeyWordValid(IPT_tdxHandleToKeyWordElement _hKeyWordElement)
{
 unsigned char ucReturn = IPT_C_FALSE;
 unsigned char (* p_fn_bFunction) (IPT_tdxHandleToKeyWordElement);
 
 if ((p_fn_bFunction = IPT_p_fn_bIsKeyWordValid[(_hKeyWordElement->u_ElementUnion.swKeyWord)&0x00ff]) != NULL)
  ucReturn = p_fn_bFunction (_hKeyWordElement);
#ifdef _DEBUG
 else
  M_IPTFatalError(E_uwIPT_UnknownActionAnalysis);
#endif
 
 return(ucReturn);
}
 
#endif
/* END ANNECY AV }*/
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#undef EXTERN
#undef extern
 
#endif /* __IPT_Kwan_h__ */
