Added fixed precision point utilities

This commit is contained in:
Sasha Koshka 2023-02-15 18:41:03 -05:00
parent ae551c47ea
commit 234503f104
1 changed files with 26 additions and 0 deletions

26
fixedutil/fixedutil.go Normal file
View File

@ -0,0 +1,26 @@
// Package fixedutil contains functions that make working with fixed precision
// values easier.
package fixedutil
import "image"
import "golang.org/x/image/math/fixed"
// Pt creates a fixed point from a regular point.
func Pt (point image.Point) fixed.Point26_6 {
return fixed.P(point.X, point.Y)
}
// RoundPt rounds a fixed point into a regular point.
func RoundPt (point fixed.Point26_6) image.Point {
return image.Pt(point.X.Round(), point.Y.Round())
}
// FloorPt creates a regular point from the floor of a fixed point.
func FloorPt (point fixed.Point26_6) image.Point {
return image.Pt(point.X.Floor(),point.Y.Floor())
}
// CeilPt creates a regular point from the ceiling of a fixed point.
func CeilPt (point fixed.Point26_6) image.Point {
return image.Pt(point.X.Ceil(),point.Y.Ceil())
}