started node factory class for making nodes at runtime

This commit is contained in:
itsmattkc
2019-12-13 02:30:31 +11:00
parent f15683b593
commit 5b0513efed
5 changed files with 169 additions and 2 deletions
+46
View File
@@ -0,0 +1,46 @@
#ifndef NODEFACTORY_H
#define NODEFACTORY_H
#include <QList>
#include "node.h"
#include "widget/menu/menu.h"
class NodeFactory
{
public:
enum InternalID {
kAlphaOverBlend,
kClipBlock,
kGapBlock,
kTransitionBlock,
kOpacity,
kTransformDistort,
kSolidGenerator,
kVideoInput,
kAudioInput,
kTimelineOutput,
kTrackOutput,
kViewerOutput,
// Count value
kInternalNodeCount
};
NodeFactory() = default;
static void Initialize();
static void Destroy();
static void Create(const Entry& create_info);
static Menu* CreateMenu();
private:
static Node* CreateInternal(const InternalID& id);
static QList<Node*> library_;
};
#endif // NODEFACTORY_H