Documentation ¶
Index ¶
- func Div(a, b int) int
- func Mod(a, b int) int
- func Rint(f float64) int
- type Delta
- func (d Delta) Add(d2 Delta) Delta
- func (d Delta) Div(m int) Delta
- func (d Delta) Dot(d2 Delta) int
- func (d Delta) IsZero() bool
- func (d Delta) Length() float64
- func (d Delta) Length2() int
- func (d Delta) Mul(n int) Delta
- func (d Delta) Mul2(mx, my int) Delta
- func (d Delta) MulFloat(f float64) Delta
- func (d Delta) Norm0() int
- func (d Delta) Norm1() int
- func (d Delta) Sub(d2 Delta) Delta
- func (d Delta) WithLength(f float64) Delta
- func (d Delta) WithMaxLength(f float64) Delta
- type Orientation
- type Pos
- type Rect
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Delta ¶
type Delta struct {
DX, DY int
}
Delta represents a move between two pixel positions.
func (Delta) WithLength ¶
func (Delta) WithMaxLength ¶
type Orientation ¶
Orientation represents a transformation matrix, written as a right and a down vector.
func ParseOrientation ¶
func ParseOrientation(s string) (Orientation, error)
ParseOrientation parses an orientation from a string. It is given by the right and down directions in that order.
func (Orientation) Apply ¶
func (o Orientation) Apply(d Delta) Delta
Apply rotates a delta by an orientation.
func (Orientation) ApplyToRect2 ¶
func (o Orientation) ApplyToRect2(pivot2 Pos, r Rect) Rect
ApplyToRect2 rotates a rectangle by the given orientation, mapping the pivot to itself. The pivot is given in doubled coordinates to support half-pixel pivots. Note: odd numbers are pixel centers, even numbers are pixel corners!
func (Orientation) Concat ¶
func (o Orientation) Concat(o2 Orientation) Orientation
Concat returns the orientation o * o2 so that o.Concat(o2).Apply(d) == o.Apply(o2.Apply(d)).
func (Orientation) Determinant ¶
func (o Orientation) Determinant() int
func (Orientation) Inverse ¶
func (o Orientation) Inverse() Orientation
Inverse returns an orientation so that o.Concat(o.Invert()) == Identity().
type Pos ¶
type Pos struct {
X, Y int
}
Pos represents a pixel position, where X points right and Y points down.
type Rect ¶
type Rect struct { // Origin is the origin of the rectangle, typically the top left corner. Origin Pos // Size is the size of the rectangle, typically positive. Size Delta }
Rect represents a rectangle.
func RectFromPoints ¶
func (Rect) DeltaPos ¶
DeltaPos returns the vector between the closest points of a rectangle and a point.
func (Rect) Normalized ¶
Normalized returns a rectangle such that its size is nonnegative.
func (Rect) OppositeCorner ¶
OppositeCorner returns the coordinate of the opposite corner of the rectangle. Only correct on normalized rectangles.