don't pull in RageThreads.h

This commit is contained in:
Glenn Maynard
2003-07-26 21:58:48 +00:00
parent 9b3112facd
commit dc9b6ed06d
2 changed files with 15 additions and 5 deletions
+12 -3
View File
@@ -13,13 +13,22 @@
#include "InputFilter.h" #include "InputFilter.h"
#include "RageLog.h" #include "RageLog.h"
#include "RageInput.h" #include "RageInput.h"
#include "RageThreads.h"
InputFilter* INPUTFILTER = NULL; // global and accessable from anywhere in our program InputFilter* INPUTFILTER = NULL; // global and accessable from anywhere in our program
InputFilter::InputFilter() InputFilter::InputFilter()
{ {
Reset(); Reset();
queuemutex = new RageMutex;
}
InputFilter::~InputFilter()
{
delete queuemutex;
} }
void InputFilter::Reset() void InputFilter::Reset()
@@ -38,7 +47,7 @@ void InputFilter::ButtonPressed( DeviceInput di, bool Down )
InputEventType iet = Down? IET_FIRST_PRESS:IET_RELEASE; InputEventType iet = Down? IET_FIRST_PRESS:IET_RELEASE;
LockMut(queuemutex); LockMut(*queuemutex);
queue.push_back( InputEvent(di,iet) ); queue.push_back( InputEvent(di,iet) );
} }
@@ -55,7 +64,7 @@ void InputFilter::Update(float fDeltaTime)
/* Make sure that nothing gets inserted while we do this, to prevent /* Make sure that nothing gets inserted while we do this, to prevent
* things like "key pressed, key release, key repeat". */ * things like "key pressed, key release, key repeat". */
LockMut(queuemutex); LockMut(*queuemutex);
for( int d=0; d<NUM_INPUT_DEVICES; d++ ) // foreach InputDevice for( int d=0; d<NUM_INPUT_DEVICES; d++ ) // foreach InputDevice
{ {
@@ -106,7 +115,7 @@ float InputFilter::GetSecsHeld( DeviceInput di )
void InputFilter::GetInputEvents( InputEventArray &array ) void InputFilter::GetInputEvents( InputEventArray &array )
{ {
LockMut(queuemutex); LockMut(*queuemutex);
array = queue; array = queue;
queue.clear(); queue.clear();
} }
+3 -2
View File
@@ -14,7 +14,6 @@
*/ */
#include "RageInputDevice.h" #include "RageInputDevice.h"
#include "RageThreads.h"
const float TIME_BEFORE_SLOW_REPEATS = 0.25f; const float TIME_BEFORE_SLOW_REPEATS = 0.25f;
const float TIME_BEFORE_FAST_REPEATS = 1.5f; const float TIME_BEFORE_FAST_REPEATS = 1.5f;
@@ -36,19 +35,21 @@ struct InputEvent : public DeviceInput
typedef vector<InputEvent> InputEventArray; typedef vector<InputEvent> InputEventArray;
class RageMutex;
class InputFilter class InputFilter
{ {
bool m_BeingHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS]; bool m_BeingHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS];
float m_fSecsHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS]; float m_fSecsHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS];
InputEventArray queue; InputEventArray queue;
RageMutex queuemutex; RageMutex *queuemutex;
public: public:
void ButtonPressed( DeviceInput di, bool Down ); void ButtonPressed( DeviceInput di, bool Down );
void ResetDevice( InputDevice dev ); void ResetDevice( InputDevice dev );
InputFilter(); InputFilter();
~InputFilter();
void Reset(); void Reset();
void Update(float fDeltaTime); void Update(float fDeltaTime);