feat(后端架构): 完善后端解耦
build.yaml / build (push) Successful in 39s

This commit is contained in:
xiaoqidun committed 2026-09-23 16:12:57 +08:00
1 parent 73472c5d4b
commit 77ffbe6a72
56 files changed
+2420 -1635

No files matched your search

+13 -5
View File
@@ -23,8 +23,6 @@ import (
"math"
"reflect"
"slices"
"github.com/tdewolff/canvas"
)
// ObjectPath 定位页面顶层对象或注解外观内的成员,Children为从0开始的逐层绘制序号
@@ -60,7 +58,7 @@ type editorCompositeNode struct {
boundaryInCTM bool
defaults *DrawParam
drawParams []string
clip *canvas.Path
clip *GeometryPath
visible bool
alpha *int
ref *editorCompositeNode
@@ -404,7 +402,17 @@ func (e *Editor) compositeMembers(n *editorCompositeNode, reader *Reader, render
copy.TransFlag = nil
clips, clipMatrix = &copy, boundary
}
clip := intersectClipPath(n.clip, renderer.buildClipPath(clips, 0, 0, 0, clipMatrix))
clip := n.clip
if clips != nil {
geometry, err := renderer.Geometry()
if err != nil {
return nil, err
}
clip, err = geometry.Clip(renderer, clips, clipMatrix, n.clip)
if err != nil {
return nil, err
}
}
defaults := renderer.drawParamDefaults(c.DrawParam, n.defaults)
drawParams := append(slices.Clone(n.drawParams), c.DrawParam)
visible := n.visible && (c.Visible == nil || *c.Visible)
@@ -529,7 +537,7 @@ func (e *Editor) measureCompositeMembers(renderer *Renderer, nodes []*editorComp
}
if node.visible {
var err error
bounds, err = renderer.MeasureObject(object, MeasureOptions{Defaults: node.defaults, Parent: &node.parent, BoundaryInCTM: node.boundaryInCTM, Clip: geometryCanvasPath(node.clip), Contours: true})
bounds, err = renderer.MeasureObject(object, MeasureOptions{Defaults: node.defaults, Parent: &node.parent, BoundaryInCTM: node.boundaryInCTM, Clip: node.clip, Contours: true})
if err != nil {
return nil, err
}