]> Cypherpunks repositories - gostls13.git/commitdiff
exp/draw: add Point.Eq, Point.Mul, Point.Div, Rectangle.Size methods
authorRoger Peppe <rogpeppe@gmail.com>
Thu, 23 Sep 2010 00:58:59 +0000 (10:58 +1000)
committerNigel Tao <nigeltao@golang.org>
Thu, 23 Sep 2010 00:58:59 +0000 (10:58 +1000)
R=nigeltao, nigeltao_golang, rsc
CC=golang-dev, r
https://golang.org/cl/2192048

src/pkg/image/geom.go

index 06c13fec16aaf985bfc4375abcf06cac31d080fa..d031c37d1c8a378319a1b84bc0ee6c5663cf085b 100644 (file)
@@ -28,6 +28,21 @@ func (p Point) Sub(q Point) Point {
        return Point{p.X - q.X, p.Y - q.Y}
 }
 
+// Mul returns the vector p*k.
+func (p Point) Mul(k int) Point {
+       return Point{p.X * k, p.Y * k}
+}
+
+// Div returns the vector p/k.
+func (p Point) Div(k int) Point {
+       return Point{p.X / k, p.Y / k}
+}
+
+// Eq returns whether p and q are equal.
+func (p Point) Eq(q Point) bool {
+       return p.X == q.X && p.Y == q.Y
+}
+
 // ZP is the zero Point.
 var ZP Point
 
@@ -59,6 +74,14 @@ func (r Rectangle) Dy() int {
        return r.Max.Y - r.Min.Y
 }
 
+// Size returns r's width and height.
+func (r Rectangle) Size() Point {
+       return Point{
+               r.Max.X - r.Min.X,
+               r.Max.Y - r.Min.Y,
+       }
+}
+
 // Add returns the rectangle r translated by p.
 func (r Rectangle) Add(p Point) Rectangle {
        return Rectangle{