mirror of
https://github.com/wavemotion-dave/NINTV-DS.git
synced 2025-06-18 13:55:33 -04:00
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
|
|
#ifndef INPUTCONSUMEROBJECT_H
|
|
#define INPUTCONSUMEROBJECT_H
|
|
|
|
#include "InputProducer.h"
|
|
#include "types.h"
|
|
|
|
#define MAX_BINDINGS 10
|
|
|
|
class InputConsumerObject
|
|
{
|
|
friend class InputConsumer;
|
|
|
|
public:
|
|
InputConsumerObject(INT32 id, const CHAR* name, GUID defaultDeviceGuid, INT32 defaultObjectID);
|
|
virtual ~InputConsumerObject();
|
|
|
|
INT32 getId() { return id; }
|
|
|
|
const CHAR* getName() { return name; }
|
|
|
|
GUID getDefaultDeviceGuid() { return defaultDeviceGuid; }
|
|
|
|
INT32 getDefaultEnum() { return defaultObjectID; }
|
|
|
|
INT32 getBindingCount() { return bindingCount; }
|
|
|
|
INT32 getSubBindingCount(INT32 i) { return subBindingCounts[i]; }
|
|
|
|
InputProducer* getSubBindingProducer(INT32 i, INT32 j) { return producerBindings[i][j]; }
|
|
|
|
INT32 getSubBindingEnum(INT32 i, INT32 j) { return objectIDBindings[i][j]; }
|
|
|
|
void addBinding(InputProducer** producer, INT32* objectid, INT32 count);
|
|
|
|
void clearBindings();
|
|
|
|
float getInputValue();
|
|
|
|
private:
|
|
INT32 id;
|
|
const CHAR* name;
|
|
GUID defaultDeviceGuid;
|
|
INT32 defaultObjectID;
|
|
|
|
InputProducer** producerBindings[MAX_BINDINGS];
|
|
INT32* objectIDBindings[MAX_BINDINGS];
|
|
INT32 subBindingCounts[MAX_BINDINGS];
|
|
INT32 bindingCount;
|
|
|
|
};
|
|
|
|
#endif |