Files
oak-editor/app/node/factory.h
T
itsmattkc 965519e9cf ported opacity node to external file format
The plan is to port all nodes that can be external to the external file format.
This should help keep things maintainable.
2019-12-15 02:51:28 +11:00

46 lines
710 B
C++

#ifndef NODEFACTORY_H
#define NODEFACTORY_H
#include <QList>
#include "node.h"
#include "widget/menu/menu.h"
class NodeFactory
{
public:
enum InternalID {
kViewerOutput,
kClipBlock,
kGapBlock,
kAlphaOverBlend,
kSolidGenerator,
kAudioInput,
kTransformDistort,
kTransitionBlock,
kVideoInput,
kTimelineOutput,
kTrackOutput,
// Count value
kInternalNodeCount
};
NodeFactory() = default;
static void Initialize();
static void Destroy();
static Menu* CreateMenu();
static Node *CreateFromMenuAction(QAction* action);
private:
static Node* CreateInternal(const InternalID& id);
static QList<Node*> library_;
};
#endif // NODEFACTORY_H