renderer: improved code flow

This commit is contained in:
itsmattkc
2021-09-21 19:10:03 -07:00
parent 751b5f6c44
commit 677277c16d
17 changed files with 401 additions and 345 deletions
+5
View File
@@ -221,6 +221,11 @@ NodeValueTable NodeTraverser::ProcessInput(const Node* node, const QString& inpu
}
}
NodeTraverser::NodeTraverser() :
cancel_(nullptr)
{
}
NodeValueTable NodeTraverser::GenerateTable(const Node *n, const Node::ValueHint &hint, const TimeRange& range)
{
const Track* track = dynamic_cast<const Track*>(n);
+19 -2
View File
@@ -31,10 +31,10 @@
namespace olive {
class NodeTraverser : public CancelableObject
class NodeTraverser
{
public:
NodeTraverser() = default;
NodeTraverser();
NodeValueTable GenerateTable(const Node *n, const Node::ValueHint &hint, const TimeRange &range);
@@ -93,11 +93,28 @@ protected:
QVector2D GenerateResolution() const;
bool IsCancelled() const
{
return cancel_ && *cancel_;
}
const QAtomicInt *GetCancelPointer() const
{
return cancel_;
}
void SetCancelPointer(const QAtomicInt *cancel)
{
cancel_ = cancel;
}
private:
void PostProcessTable(const Node *node, const Node::ValueHint &hint, const TimeRange &range, NodeValueTable &output_params);
VideoParams video_params_;
const QAtomicInt *cancel_;
};
}