swf2ass-go/types/records/Record.go

32 lines
546 B
Go

package records
import (
"git.gammaspectra.live/WeebDataHoarder/swf2ass-go/types/math"
)
type Record interface {
GetStart() math.Vector2[float64]
GetEnd() math.Vector2[float64]
Reverse() Record
Equals(other Record) bool
SameType(other Record) bool
ApplyMatrixTransform(transform math.MatrixTransform, applyTranslation bool) Record
BoundingBox() (topLeft, bottomRight math.Vector2[float64])
IsFlat() bool
String() string
}
type CurvedRecord interface {
Record
ToLineRecords(scale int64) []Record
}
type RecordPair [2]Record