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 "RageLog.h"
#include "RageInput.h"
#include "RageThreads.h"
InputFilter* INPUTFILTER = NULL; // global and accessable from anywhere in our program
InputFilter::InputFilter()
{
Reset();
queuemutex = new RageMutex;
}
InputFilter::~InputFilter()
{
delete queuemutex;
}
void InputFilter::Reset()
@@ -38,7 +47,7 @@ void InputFilter::ButtonPressed( DeviceInput di, bool Down )
InputEventType iet = Down? IET_FIRST_PRESS:IET_RELEASE;
LockMut(queuemutex);
LockMut(*queuemutex);
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
* things like "key pressed, key release, key repeat". */
LockMut(queuemutex);
LockMut(*queuemutex);
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 )
{
LockMut(queuemutex);
LockMut(*queuemutex);
array = queue;
queue.clear();
}
+3 -2
View File
@@ -14,7 +14,6 @@
*/
#include "RageInputDevice.h"
#include "RageThreads.h"
const float TIME_BEFORE_SLOW_REPEATS = 0.25f;
const float TIME_BEFORE_FAST_REPEATS = 1.5f;
@@ -36,19 +35,21 @@ struct InputEvent : public DeviceInput
typedef vector<InputEvent> InputEventArray;
class RageMutex;
class InputFilter
{
bool m_BeingHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS];
float m_fSecsHeld[NUM_INPUT_DEVICES][NUM_DEVICE_BUTTONS];
InputEventArray queue;
RageMutex queuemutex;
RageMutex *queuemutex;
public:
void ButtonPressed( DeviceInput di, bool Down );
void ResetDevice( InputDevice dev );
InputFilter();
~InputFilter();
void Reset();
void Update(float fDeltaTime);