diff --git a/geom/geom.go b/geom/geom.go index 9693127..71340ae 100644 --- a/geom/geom.go +++ b/geom/geom.go @@ -17,6 +17,7 @@ type Pt float32 // Px converts the length to current device pixels. func (p Pt) Px() float32 { return float32(p) * Scale } +// String returns a string representation of p like "3.2pt". func (p Pt) String() string { return fmt.Sprintf("%.2fpt", p) } // Point is a point in a two-dimensional plane. @@ -24,7 +25,17 @@ type Point struct { X, Y Pt } -func (p Point) String() string { return fmt.Sprintf("Point(%.2f, %.2f)", p.X, p.Y) } +// String returns a string representation of p like "(1.2,3.4)". +func (p Point) String() string { return fmt.Sprintf("(%.2f,%.2f)", p.X, p.Y) } + +// A Rectangle is region of points. +// The top-left point is Min, and the bottom-right point is Max. +type Rectangle struct { + Min, Max Point +} + +// String returns a string representation of r like "(3,4)-(6,5)". +func (r Rectangle) String() string { return r.Min.String() + "-" + r.Max.String() } // Scale is the number of pixels in a single Pt on the current device. //