45 lines
946 B
Go
45 lines
946 B
Go
|
package subtypes
|
||
|
|
||
|
import (
|
||
|
"git.gammaspectra.live/WeebDataHoarder/swf-go/types"
|
||
|
)
|
||
|
|
||
|
type MORPHGRADIENT struct {
|
||
|
_ struct{} `swfFlags:"root"`
|
||
|
NumGradients uint8
|
||
|
Records []MORPHGRADRECORD `swfCount:"NumGradients"`
|
||
|
}
|
||
|
|
||
|
func (g MORPHGRADIENT) StartGradient() (g2 GRADIENT) {
|
||
|
g2.SpreadMode = 0 //TODO
|
||
|
g2.InterpolationMode = 0 //TODO
|
||
|
g2.NumGradients = g.NumGradients
|
||
|
for _, r := range g.Records {
|
||
|
g2.Records = append(g2.Records, GRADRECORD{
|
||
|
Ratio: r.StartRatio,
|
||
|
Color: r.StartColor,
|
||
|
})
|
||
|
}
|
||
|
return g2
|
||
|
}
|
||
|
|
||
|
func (g MORPHGRADIENT) EndGradient() (g2 GRADIENT) {
|
||
|
g2.SpreadMode = 0 //TODO
|
||
|
g2.InterpolationMode = 0 //TODO
|
||
|
g2.NumGradients = g.NumGradients
|
||
|
for _, r := range g.Records {
|
||
|
g2.Records = append(g2.Records, GRADRECORD{
|
||
|
Ratio: r.EndRatio,
|
||
|
Color: r.EndColor,
|
||
|
})
|
||
|
}
|
||
|
return g2
|
||
|
}
|
||
|
|
||
|
type MORPHGRADRECORD struct {
|
||
|
StartRatio uint8
|
||
|
StartColor types.RGBA
|
||
|
EndRatio uint8
|
||
|
EndColor types.RGBA
|
||
|
}
|