feat(媒体支持): 完善媒体播放与资源释放
build.yaml / build (push) Successful in 40s

This commit is contained in:
xiaoqidun committed 2026-09-30 21:15:14 +08:00
1 parent 91aa711dfc
commit c5867b0948
20 files changed
+541 -54

No files matched your search

+6
View File
@@ -318,26 +318,32 @@ func collectPaintReferences(paint *FillColor, used map[string]bool) {
// 入参: object 图形对象, used 引用集合
func collectObjectReferences(object GraphicObject, used map[string]bool) {
var clips *Clips
var actions []Action
switch object.Type {
case "TextObject", "Text":
used[object.TextObject.Font], used[object.TextObject.DrawParam] = true, true
collectPaintReferences(object.TextObject.FillColor, used)
collectPaintReferences((*FillColor)(object.TextObject.StrokeColor), used)
clips = object.TextObject.Clips
actions = object.TextObject.Actions
case "PathObject", "Path":
used[object.PathObject.DrawParam] = true
collectPaintReferences(object.PathObject.FillColor, used)
collectPaintReferences((*FillColor)(object.PathObject.StrokeColor), used)
clips = object.PathObject.Clips
actions = object.PathObject.Actions
case "ImageObject":
used[object.ImageObject.ResourceID], used[object.ImageObject.ImageMask] = true, true
if object.ImageObject.Border != nil {
collectPaintReferences((*FillColor)(object.ImageObject.Border.BorderColor), used)
}
clips = object.ImageObject.Clips
actions = object.ImageObject.Actions
case "CompositeObject", "CompositeGraphicUnit":
collectCompositeReferences(object.CompositeGraphicUnit, used)
actions = object.CompositeGraphicUnit.Actions
}
collectActionReferences(actions, used)
if clips == nil {
return
}