forked from unidoc/unioffice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtextbox.go
40 lines (34 loc) · 1.2 KB
/
textbox.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright 2017 FoxyUtils ehf. All rights reserved.
//
// Use of this source code is governed by the terms of the Affero GNU General
// Public License version 3.0 as published by the Free Software Foundation and
// appearing in the file LICENSE included in the packaging of this file. A
// commercial license can be purchased on https://unidoc.io.
package presentation
import (
"github.com/unidoc/unioffice/drawing"
"github.com/unidoc/unioffice/schema/soo/dml"
"github.com/unidoc/unioffice/schema/soo/pml"
)
// TextBox is a text box within a slide.
type TextBox struct {
x *pml.CT_Shape
}
// AddParagraph adds a paragraph to the text box
func (t TextBox) AddParagraph() drawing.Paragraph {
p := dml.NewCT_TextParagraph()
t.x.TxBody.P = append(t.x.TxBody.P, p)
return drawing.MakeParagraph(p)
}
// Properties returns the properties of the TextBox.
func (t TextBox) Properties() drawing.ShapeProperties {
if t.x.SpPr == nil {
t.x.SpPr = dml.NewCT_ShapeProperties()
}
return drawing.MakeShapeProperties(t.x.SpPr)
}
// SetTextAnchor controls the text anchoring
func (t TextBox) SetTextAnchor(a dml.ST_TextAnchoringType) {
t.x.TxBody.BodyPr = dml.NewCT_TextBodyProperties()
t.x.TxBody.BodyPr.AnchorAttr = a
}