package gstreamer

import (
	"github.com/go-gst/go-gst/gst"
	"github.com/goccy/go-graphviz/cgraph"
)

func gstreamerBinToDot(bin *gst.Bin) string {
	return bin.DebugBinToDotData(gst.DebugGraphShowAll)
}

func setFontSize(graph *cgraph.Graph, fontSize float64) {
	graph.SetFontSize(20)
	graph.Set("arrowSize", "3")
	for node, err := graph.FirstNode(); err == nil && node != nil; node, err = graph.NextNode(node) {
		node.SetFontSize(fontSize)
		for edge, err := graph.FirstEdge(node); err == nil && edge != nil; edge, err = graph.NextEdge(edge, node) {
			edge.SetFontSize(fontSize)
		}
	}
	//for subGraph, err := graph.FirstSubGraph(); err == nil && subGraph != nil; subGraph, err = graph.NextSubGraph() {
	//	setFontSize(subGraph, fontSize)
	//}
}