From 8862696926173104957729683832591438161557 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Fri, 27 Dec 2024 16:14:46 -0500 Subject: Render Layers --- flowgraph.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'flowgraph.cpp') diff --git a/flowgraph.cpp b/flowgraph.cpp index 257764c9..b28b7ed9 100644 --- a/flowgraph.cpp +++ b/flowgraph.cpp @@ -256,6 +256,12 @@ Ref 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 FlowGraph::GetRenderLayers() const +{ + size_t count = 0; + BNRenderLayer** layers = BNGetFlowGraphRenderLayers(m_object, &count); + std::vector 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()); -- cgit v1.3.1