/
config.go
48 lines (41 loc) · 1.31 KB
/
config.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
41
42
43
44
45
46
47
48
package config
import (
"github.com/Ladicle/tcardgen/pkg/canvas/box"
"github.com/Ladicle/tcardgen/pkg/canvas/fontfamily"
)
type DrawingConfig struct {
Template string `json:"template,omitempty"`
Title *MultiLineTextOption `json:"title,omitempty"`
Category *TextOption `json:"category,omitempty"`
Info *TextOption `json:"info,omitempty"`
Tags *BoxTextsOption `json:"tags,omitempty"`
}
type TextOption struct {
Start *Point `json:"start,omitempty"`
FgHexColor string `json:"fgHexColor,omitempty"`
FontSize float64 `json:"fontSize,omitempty"`
FontStyle fontfamily.Style `json:"fontStyle,omitempty"`
Separator string `json:"separator,omitempty"`
}
type MultiLineTextOption struct {
TextOption
MaxWidth int `json:"maxWidth,omitempty"`
LineSpacing *int `json:"lineSpacing,omitempty"`
}
type BoxTextsOption struct {
TextOption
BgHexColor string `json:"bgHexColor,omitempty"`
BoxPadding *Padding `json:"boxPadding,omitempty"`
BoxSpacing *int `json:"boxSpacing,omitempty"`
BoxAlign box.Align `json:"boxAlign,omitempty"`
}
type Point struct {
X int `json:"px"`
Y int `json:"py"`
}
type Padding struct {
Top int `json:"top"`
Right int `json:"right"`
Bottom int `json:"bottom"`
Left int `json:"left"`
}