2023-06-19 01:36:07 -04:00
|
|
|
#ifndef MXOBJECTFACTORY_H
|
|
|
|
#define MXOBJECTFACTORY_H
|
|
|
|
|
2023-06-29 04:10:08 -04:00
|
|
|
#include "mxcore.h"
|
2023-07-02 03:00:28 -04:00
|
|
|
#include "mxatomid.h"
|
|
|
|
|
|
|
|
#define FOR_MXOBJECTFACTORY_OBJECTS(X) \
|
|
|
|
X(MxPresenter) \
|
|
|
|
X(MxCompositePresenter) \
|
|
|
|
X(MxVideoPresenter) \
|
|
|
|
X(MxFlcPresenter) \
|
|
|
|
X(MxSmkPresenter) \
|
|
|
|
X(MxStillPresenter) \
|
|
|
|
X(MxWavePresenter) \
|
|
|
|
X(MxMIDIPresenter) \
|
|
|
|
X(MxEventPresenter) \
|
|
|
|
X(MxLoopingFlcPresenter) \
|
|
|
|
X(MxLoopingSmkPresenter) \
|
|
|
|
X(MxLoopingMIDIPresenter)
|
2023-06-29 04:10:08 -04:00
|
|
|
|
|
|
|
// VTABLE 0x100dc220
|
|
|
|
class MxObjectFactory : public MxCore
|
2023-06-19 01:36:07 -04:00
|
|
|
{
|
2023-07-02 03:00:28 -04:00
|
|
|
public:
|
|
|
|
MxObjectFactory();
|
|
|
|
virtual MxCore *Create(const char *name); // vtable 0x14
|
|
|
|
virtual void vtable18(void *); // vtable 0x18
|
|
|
|
private:
|
|
|
|
#define X(V) MxAtomId m_id##V;
|
|
|
|
FOR_MXOBJECTFACTORY_OBJECTS(X)
|
|
|
|
#undef X
|
2023-06-19 01:36:07 -04:00
|
|
|
};
|
|
|
|
|
2023-07-02 02:53:54 -04:00
|
|
|
#endif // MXOBJECTFACTORY_H
|