Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Clitherow <aphex@nildram.co.uk>2005-01-30 18:41:59 +0300
committerSimon Clitherow <aphex@nildram.co.uk>2005-01-30 18:41:59 +0300
commit4d17f9797c82e75c873ee66e0d7d7e6906303b7a (patch)
tree381e1769e59d36d9283e74760a5ac292d6dd9f2b /source/gameengine/GameLogic/Joystick
parentfa2a1c84c77486ad0813796019dd6455e856ee2c (diff)
- updated MSVC 6 projectfiles.
- removed 'using namespace std;' from SCA_Joystick.h (gave compile error on VC6).
Diffstat (limited to 'source/gameengine/GameLogic/Joystick')
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_Joystick.h195
1 files changed, 194 insertions, 1 deletions
diff --git a/source/gameengine/GameLogic/Joystick/SCA_Joystick.h b/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
index 413dbfa4771..2d2a713fe00 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
+++ b/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
@@ -1,195 +1,388 @@
/**
+
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+
*
+
* This program is free software; you can redistribute it and/or
+
* modify it under the terms of the GNU General Public License
+
* as published by the Free Software Foundation; either version 2
+
* of the License, or (at your option) any later version. The Blender
+
* Foundation also sells licenses for use in proprietary software under
+
* the Blender License. See http://www.blender.org/BL/ for information
+
* about this.
+
*
+
* This program is distributed in the hope that it will be useful,
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
* GNU General Public License for more details.
+
*
+
* You should have received a copy of the GNU General Public License
+
* along with this program; if not, write to the Free Software Foundation,
+
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
*
+
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+
* All rights reserved.
+
*
+
* The Original Code is: all of this file.
+
*
+
* Contributor(s): snailrose.
+
*
+
* ***** END GPL/BL DUAL LICENSE BLOCK *****
+
*/
+
#ifndef _SCA_JOYSTICK_H_
+
#define _SCA_JOYSTICK_H_
+
+
#include "SCA_JoystickDefines.h"
-using namespace std;
+
+
+
/*
+
* Basic Joystick class
+
*/
+
class SCA_Joystick
+
{
+
class PrivateData;
+
PrivateData *m_private;
+
int m_joyindex;
+
/*!
+
* the number of avail joysticks
+
*/
+
int m_numjoys;
+
/*
+
*support for 2 axes
+
*/
+
int m_axis10,m_axis11;
+
int m_axis20,m_axis21;
+
/*
+
* Precision or range of the axes
+
*/
+
int m_prec;
+
/*
+
* multiple axis values stored here
+
*/
+
int m_axisnum;
+
int m_axisvalue;
+
/*
+
* max # of axes avail
+
*/
+
/*disabled
+
int m_axismax;
+
*/
+
/*
+
* button values stored here
+
*/
+
int m_buttonnum;
+
/*
+
* max # of buttons avail
+
*/
+
int m_buttonmax;
+
/*
+
* hat values stored here
+
*/
+
int m_hatnum;
+
int m_hatdir;
+
/*
+
* max # of hats avail
+
disabled
+
int m_hatmax;
+
*/
+
/* is the joystick initialized ?*/
+
bool m_isinit;
+
+
/* is triggered */
+
bool m_istrig;
+
/*
+
* Open the joystick
+
*/
+
bool pCreateJoystickDevice(void);
+
/*
+
* Close the joystick
+
*/
+
void pDestroyJoystickDevice(void);
+
+
/*
+
* event callbacks
+
*/
+
void OnAxisMotion(void);
+
void OnHatMotion(void);
+
void OnButtonUp(void);
+
void OnButtonDown(void);
+
void OnNothing(void);
+
void OnBallMotion(void){}
+
/*
+
* fills the axis mnember values
+
*/
+
void pFillAxes(void);
+
+
void pFillButtons(void);
+
/*
+
* returns m_axis10,m_axis11...
+
*/
+
int pGetAxis(int axisnum, int udlr);
+
/*
+
* gets the current button
+
*/
+
int pGetButtonPress(int button);
+
/*
+
* returns if no button is pressed
+
*/
+
int pGetButtonRelease(int button);
+
/*
+
* gets the current hat direction
+
*/
+
int pGetHat(int direction);
+
+
public:
+
SCA_Joystick();
+
~SCA_Joystick();
+
+
bool CreateJoystickDevice(void);
+
void DestroyJoystickDevice(void);
+
void HandleEvents();
+
/*
+
*/
+
bool aUpAxisIsPositive(int axis);
+
bool aDownAxisIsPositive(int axis);
+
bool aLeftAxisIsPositive(int axis);
+
bool aRightAxisIsPositive(int axis);
+
bool aButtonPressIsPositive(int button);
+
bool aButtonReleaseIsPositive(int button);
+
bool aHatIsPositive(int dir);
+
/*
+
* precision is default '3200' which is overridden by input
+
*/
+
void cSetPrecision(int val);
+
+
int GetAxis10(void){
+
return m_axis10;
+
}
+
int GetAxis11(void){
+
return m_axis11;
+
}
+
int GetAxis20(void){
+
return m_axis20;
+
}
+
int GetAxis21(void){
+
return m_axis21;
+
}
+
int GetButton(void){
+
return m_buttonnum;
+
}
+
int GetHat(void){
+
return m_hatdir;
+
}
+
int GetThreshold(void){
+
return m_prec;
+
}
+
bool IsTrig(void){
+
return m_istrig;
+
}
+
+
/*
+
* returns true if an event is being processed
+
*/
+
bool GetJoyAxisMotion(void);
+
bool GetJoyButtonPress(void);
+
bool GetJoyButtonRelease(void);
+
bool GetJoyHatMotion(void);
+
/*
+
* returns the # of...
+
*/
+
int GetNumberOfAxes(void);
+
int GetNumberOfButtons(void);
+
int GetNumberOfHats(void);
+
+
};
+
+
#endif
+