1
0
mirror of https://github.com/fumiama/go-docx.git synced 2026-06-24 21:00:28 +08:00

optimize(drawing): use implicit a:graphicFrameLocks

This commit is contained in:
源文雨
2024-09-17 21:41:46 +09:00
parent 3e5e3f4b1e
commit f03badc77c
3 changed files with 11 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ func (p *Paragraph) AddInlineDrawing(pic []byte) (*Run, error) {
}, },
CNvGraphicFramePr: &WPCNvGraphicFramePr{ CNvGraphicFramePr: &WPCNvGraphicFramePr{
Locks: AGraphicFrameLocks{ Locks: AGraphicFrameLocks{
XMLA: XMLNS_DRAWINGML_MAIN,
NoChangeAspect: 1, NoChangeAspect: 1,
}, },
}, },
@@ -174,6 +175,7 @@ func (p *Paragraph) AddAnchorDrawing(pic []byte) (*Run, error) {
}, },
CNvGraphicFramePr: &WPCNvGraphicFramePr{ CNvGraphicFramePr: &WPCNvGraphicFramePr{
Locks: AGraphicFrameLocks{ Locks: AGraphicFrameLocks{
XMLA: XMLNS_DRAWINGML_MAIN,
NoChangeAspect: 1, NoChangeAspect: 1,
}, },
}, },

View File

@@ -40,7 +40,9 @@ func (p *Paragraph) AddInlineShape(w, h int64, name, bwMode, prst string, ln *AL
ID: idn, ID: idn,
Name: name + " " + id, Name: name + " " + id,
}, },
CNvGraphicFramePr: &WPCNvGraphicFramePr{}, CNvGraphicFramePr: &WPCNvGraphicFramePr{
Locks: AGraphicFrameLocks{XMLA: XMLNS_DRAWINGML_MAIN},
},
Graphic: &AGraphic{ Graphic: &AGraphic{
XMLA: XMLNS_DRAWINGML_MAIN, XMLA: XMLNS_DRAWINGML_MAIN,
GraphicData: &AGraphicData{ GraphicData: &AGraphicData{
@@ -107,7 +109,9 @@ func (p *Paragraph) AddAnchorShape(w, h int64, name, bwMode, prst string, ln *AL
ID: idn, ID: idn,
Name: name + " " + id, Name: name + " " + id,
}, },
CNvGraphicFramePr: &WPCNvGraphicFramePr{}, CNvGraphicFramePr: &WPCNvGraphicFramePr{
Locks: AGraphicFrameLocks{XMLA: XMLNS_DRAWINGML_MAIN},
},
Graphic: &AGraphic{ Graphic: &AGraphic{
XMLA: XMLNS_DRAWINGML_MAIN, XMLA: XMLNS_DRAWINGML_MAIN,
GraphicData: &AGraphicData{ GraphicData: &AGraphicData{

View File

@@ -450,6 +450,7 @@ func (w *WPCNvGraphicFramePr) UnmarshalXML(d *xml.Decoder, _ xml.StartElement) e
if tt, ok := t.(xml.StartElement); ok { if tt, ok := t.(xml.StartElement); ok {
switch tt.Name.Local { switch tt.Name.Local {
case "graphicFrameLocks": case "graphicFrameLocks":
w.Locks.XMLA = getAtt(tt.Attr, "a")
v := getAtt(tt.Attr, "noChangeAspect") v := getAtt(tt.Attr, "noChangeAspect")
if v == "" { if v == "" {
continue continue
@@ -472,7 +473,8 @@ func (w *WPCNvGraphicFramePr) UnmarshalXML(d *xml.Decoder, _ xml.StartElement) e
// AGraphicFrameLocks represents the locks applied to a graphic frame. // AGraphicFrameLocks represents the locks applied to a graphic frame.
type AGraphicFrameLocks struct { type AGraphicFrameLocks struct {
XMLName xml.Name `xml:"http://schemas.openxmlformats.org/drawingml/2006/main graphicFrameLocks,omitempty"` XMLName xml.Name `xml:"a:graphicFrameLocks,omitempty"`
XMLA string `xml:"xmlns:a,attr,omitempty"`
NoChangeAspect int `xml:"noChangeAspect,attr,omitempty"` NoChangeAspect int `xml:"noChangeAspect,attr,omitempty"`
} }