aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Peppe <rogpeppe@gmail.com>2010-09-23 10:58:59 +1000
committerNigel Tao <nigeltao@golang.org>2010-09-23 10:58:59 +1000
commit0f17173f79d674b3e94e6dabf096116677468fe6 (patch)
tree11b88a4cb2813ac420cceade9e4c00657ad72d12
parent1a8bd6715d0f4d1edb3cb1570ca090ba0b2c1133 (diff)
downloadgo-0f17173f79d674b3e94e6dabf096116677468fe6.tar.gz
go-0f17173f79d674b3e94e6dabf096116677468fe6.zip
exp/draw: add Point.Eq, Point.Mul, Point.Div, Rectangle.Size methods
R=nigeltao, nigeltao_golang, rsc CC=golang-dev, r https://golang.org/cl/2192048
-rw-r--r--src/pkg/image/geom.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/pkg/image/geom.go b/src/pkg/image/geom.go
index 06c13fec16..d031c37d1c 100644
--- a/src/pkg/image/geom.go
+++ b/src/pkg/image/geom.go
@@ -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{