mirror of https://github.com/anoshenko/rui.git
Updated Animation.String method
This commit is contained in:
parent
5e3d37a6a0
commit
9b27cb4a55
55
animation.go
55
animation.go
|
@ -411,9 +411,60 @@ func (animation *animationData) String() string {
|
|||
|
||||
buffer.WriteString("animation {")
|
||||
|
||||
// TODO
|
||||
for _, tag := range animation.AllTags() {
|
||||
if tag != PropertyTag {
|
||||
if value, ok := animation.properties[tag]; ok && value != nil {
|
||||
buffer.WriteString("\n\t")
|
||||
buffer.WriteString(tag)
|
||||
buffer.WriteString(" = ")
|
||||
writePropertyValue(buffer, tag, value, "\t")
|
||||
buffer.WriteRune(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buffer.WriteString("}")
|
||||
writeProperty := func(prop AnimatedProperty, indent string) {
|
||||
buffer.WriteString(prop.Tag)
|
||||
buffer.WriteString("{\n")
|
||||
buffer.WriteString(indent)
|
||||
buffer.WriteString("from = ")
|
||||
writePropertyValue(buffer, "from", prop.From, indent)
|
||||
buffer.WriteString(",\n")
|
||||
buffer.WriteString(indent)
|
||||
buffer.WriteString("to = ")
|
||||
writePropertyValue(buffer, "to", prop.To, indent)
|
||||
for key, value := range prop.KeyFrames {
|
||||
buffer.WriteString(",\n")
|
||||
buffer.WriteString(indent)
|
||||
tag := strconv.Itoa(key) + "%"
|
||||
buffer.WriteString(tag)
|
||||
buffer.WriteString(" = ")
|
||||
writePropertyValue(buffer, tag, value, indent)
|
||||
}
|
||||
buffer.WriteString("\n")
|
||||
buffer.WriteString(indent[1:])
|
||||
buffer.WriteString("}")
|
||||
}
|
||||
|
||||
if props := animation.animatedProperties(); len(props) > 0 {
|
||||
|
||||
buffer.WriteString("\n\t")
|
||||
buffer.WriteString(PropertyTag)
|
||||
buffer.WriteString(" = ")
|
||||
if len(props) > 1 {
|
||||
buffer.WriteString("[\n")
|
||||
for _, prop := range props {
|
||||
buffer.WriteString("\t\t")
|
||||
writeProperty(prop, "\t\t\t")
|
||||
buffer.WriteString(",\n")
|
||||
}
|
||||
buffer.WriteString("\t]")
|
||||
} else {
|
||||
writeProperty(props[0], "\t\t")
|
||||
}
|
||||
}
|
||||
|
||||
buffer.WriteString("\n}")
|
||||
return buffer.String()
|
||||
}
|
||||
|
||||
|
|
|
@ -605,8 +605,8 @@ func writePropertyValue(buffer *strings.Builder, tag string, value any, indent s
|
|||
} else {
|
||||
for _, ch := range text {
|
||||
if (ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') ||
|
||||
ch == '+' || ch == '-' || ch == '@' || ch == '/' || ch == '_' || ch == ':' ||
|
||||
ch == '#' || ch == '%' || ch == 'π' || ch == '°' {
|
||||
ch == '+' || ch == '-' || ch == '@' || ch == '/' || ch == '_' || ch == '.' ||
|
||||
ch == ':' || ch == '#' || ch == '%' || ch == 'π' || ch == '°' {
|
||||
} else {
|
||||
simple = false
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue