diff options
Diffstat (limited to 'flowgraph.cpp')
| -rw-r--r-- | flowgraph.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/flowgraph.cpp b/flowgraph.cpp index 257764c9..b28b7ed9 100644 --- a/flowgraph.cpp +++ b/flowgraph.cpp @@ -256,6 +256,12 @@ Ref<FlowGraphNode> FlowGraph::GetNode(size_t i) } +size_t FlowGraph::GetNodeCount() const +{ + return BNGetFlowGraphNodeCount(m_object); +} + + bool FlowGraph::HasNodes() const { return BNFlowGraphHasNodes(m_object); @@ -269,6 +275,18 @@ size_t FlowGraph::AddNode(FlowGraphNode* node) } +void FlowGraph::ReplaceNode(size_t i, FlowGraphNode* newNode) +{ + BNReplaceFlowGraphNode(m_object, i, newNode->GetObject()); +} + + +void FlowGraph::ClearNodes() +{ + BNClearFlowGraphNodes(m_object); +} + + int FlowGraph::GetWidth() const { return BNGetFlowGraphWidth(m_object); @@ -419,6 +437,32 @@ bool FlowGraph::IsOptionSet(BNFlowGraphOption option) } +std::vector<RenderLayer*> FlowGraph::GetRenderLayers() const +{ + size_t count = 0; + BNRenderLayer** layers = BNGetFlowGraphRenderLayers(m_object, &count); + std::vector<RenderLayer*> result; + for (size_t i = 0; i < count; i ++) + { + result.push_back(new CoreRenderLayer(layers[i])); + } + BNFreeRenderLayerList(layers); + return result; +} + + +void FlowGraph::AddRenderLayer(RenderLayer* layer) +{ + BNAddFlowGraphRenderLayer(m_object, layer->GetObject()); +} + + +void FlowGraph::RemoveRenderLayer(RenderLayer* layer) +{ + BNRemoveFlowGraphRenderLayer(m_object, layer->GetObject()); +} + + CoreFlowGraph::CoreFlowGraph(BNFlowGraph* graph) : FlowGraph(graph) { m_queryMode = BNFlowGraphUpdateQueryMode(GetObject()); |
