summaryrefslogtreecommitdiff
path: root/flowgraph.cpp
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2024-12-27 16:14:46 -0500
committerGlenn Smith <glenn@vector35.com>2025-01-30 17:20:05 -0500
commit8862696926173104957729683832591438161557 (patch)
tree78ba6d7dc8144430136086c8dc84726171eec8ab /flowgraph.cpp
parent5a5426d030b6be26d4564ba1eba2d8a275533256 (diff)
Render Layers
Diffstat (limited to 'flowgraph.cpp')
-rw-r--r--flowgraph.cpp44
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());