126 lines
4.7 KiB
C
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 */
|