reman3/Rayman_X/cpa/public/INO/Mouse.h

126 lines
4.7 KiB
C

/******************************************************************************
Mouse.h : Definition of structures and Macros for mouse
Author : JENTEY F.
Last update : 09/08/97
******************************************************************************/
#ifndef _INO_MOUSE_H
#define _INO_MOUSE_H
#include "cpa_std.h"
#include "GLD.h"
#include "dinput.h"
#ifndef u_short
#define u_short unsigned short
#endif
#ifndef u_long
#define u_long unsigned long
#endif
/**************************************/
#ifndef 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
#endif
/**************************************/
/* All functions return a short value that should be compared with this constant */
#define C_wMouseError 32767
#define C_wMouseTrue 32766
#define C_wMouseFalse 32765
/* Mouse error code */
#define C_FirstErrorMouse 0x3000
#define C_ErrMouseInvalidGLDDeviceHandle ( C_FirstErrorMouse + 0 )
#define C_ErrMouseNotInitialized ( C_FirstErrorMouse + 1 )
#define C_ErrMouseFailedGettingDeviceAttributes ( C_FirstErrorMouse + 2 )
#define C_ErrNoGLDDeviceLinkedWithMouse ( C_FirstErrorMouse + 3 )
#define C_ErrMouseFocusLost ( C_FirstErrorMouse + 4 )
#define C_ErrMouseDirectInputError ( C_FirstErrorMouse + 5 )
#if defined(__cplusplus)
extern "C"
{
/**************************************************************/
/* Init mouse with the given GLD Device */
CPA_EXPORT short INO_fn_wInitMouseWithGLD(HINSTANCE hInstance, GLD_tdhDevice tdGLDDeviceHandle);
/**************************************************************/
/* Init mouse with the given window */
/* INO_fn_wGetMousePositionInGldDevice isn't available */
CPA_EXPORT short INO_fn_wInitMouse(HINSTANCE hInstance, HWND hWindow);
/**************************************************************/
/* Release mouse ressource */
CPA_EXPORT short INO_fn_wFreeMouse(void);
/**************************************************************/
/* Get mouse capabilities */
CPA_EXPORT short INO_fn_wGetMouseNumberOfButtons(void);
CPA_EXPORT short INO_fn_wGetMouseNumberOfAxes(void);
/**************************************************************/
/* The polling function to call each engine loop */
CPA_EXPORT short INO_fn_wReadMouse(void);
/**************************************************************/
/* Give the current mouse position in the attached GLD Device */
/* For a 640, 480 device: */
/* (0.0 , 0.0) means (0 , 0) in pixel coordinate */
/* (1.0 , 1.0) means (639 , 439) in pixel coordinate */
CPA_EXPORT short INO_fn_wGetMousePositionInGldDevice(float *p_fX, float *p_fY);
/**************************************************************/
CPA_EXPORT short INO_fn_wGetMousePosition(int *p_iX, int *p_iY);
/* Mouse Button state */
CPA_EXPORT short INO_fn_wLeftMouseButtonDown(void);
CPA_EXPORT short INO_fn_wRightMouseButtonDown(void);
CPA_EXPORT short INO_fn_wLeftMouseButtonJustDown(void);
CPA_EXPORT short INO_fn_wRightMouseButtonJustDown(void);
CPA_EXPORT short INO_fn_wLeftMouseButtonJustUp(void);
CPA_EXPORT short INO_fn_wRightMouseButtonJustUp(void);
/**************************************************************/
/* Get mouse last error code */
CPA_EXPORT u_long INO_fn_ulGetMouseErrorCode(void);
}
#else /* C prototype */
extern CPA_EXPORT short INO_fn_wInitMouseWithGLD(HINSTANCE hInstance, GLD_tdhDevice tdGLDDeviceHandle);
extern CPA_EXPORT short INO_fn_wInitMouse(HINSTANCE hInstance, HWND hWindow);
extern CPA_EXPORT short INO_fn_wFreeMouse(void);
extern CPA_EXPORT short INO_fn_wGetMouseNumberOfButtons(void);
extern CPA_EXPORT short INO_fn_wGetMouseNumberOfAxes(void);
extern CPA_EXPORT short INO_fn_wReadMouse(void);
extern CPA_EXPORT short INO_fn_wGetMousePositionInGldDevice(float *p_fX, float *p_fY);
extern CPA_EXPORT short INO_fn_wGetMousePosition(int *p_iX, int *p_iY);
extern CPA_EXPORT short INO_fn_wLeftMouseButtonDown(void);
extern CPA_EXPORT short INO_fn_wRightMouseButtonDown(void);
extern CPA_EXPORT short INO_fn_wLeftMouseButtonJustDown(void);
extern CPA_EXPORT short INO_fn_wRightMouseButtonJustDown(void);
extern CPA_EXPORT short INO_fn_wLeftMouseButtonJustUp(void);
extern CPA_EXPORT short INO_fn_wRightMouseButtonJustUp(void);
extern CPA_EXPORT u_long INO_fn_ulGetMouseErrorCode(void);
#endif
#endif /* _INO_MOUSE_H */