feat(编辑能力): 完善对象变换与复制,修复字体栏错位
build.yaml / build (push) Successful in 40s

This commit is contained in:
xiaoqidun committed 2026-09-17 13:47:04 +08:00
1 parent 7f79d1e70a
commit 3a867a7cac
15 files changed
+444 -81

No files matched your search

+6 -1
View File
@@ -320,7 +320,7 @@ func (e *Editor) usedResources() (fonts, images []editorResource, spaces []Color
for _, layer := range page.Content.Layer {
for _, object := range layer.Objects {
before, exists := original[editorObjectID(object)]
if origin := e.objectOrigin(editorObjectID(object)); origin != nil && !exists {
if origin := e.objectOrigin(editorObjectID(object)); origin != nil && (!exists || before.Type != object.Type) {
for _, name := range origin.page.original.PageRes {
files[e.source.reader.ResPath(resolveResourcePath(origin.page.ref.BaseLoc, "", name))] = true
}
@@ -334,6 +334,8 @@ func (e *Editor) usedResources() (fonts, images []editorResource, spaces []Color
}
}
switch object.Type {
case "CompositeObject", "CompositeGraphicUnit":
used[object.CompositeGraphicUnit.ResourceID] = true
case "TextObject":
used[object.TextObject.Font] = true
if e.source != nil && (!exists || before.Type != object.Type || before.TextObject.Font != object.TextObject.Font) {
@@ -355,6 +357,9 @@ func (e *Editor) usedResources() (fonts, images []editorResource, spaces []Color
}
}
for _, resource := range e.resources {
if resource.composite != "" && used[resource.composite] {
files[resource.name] = true
}
if resource.font != nil && used[resource.font.ID] {
fonts = append(fonts, resource)
delete(promoted, resource.font.ID)