From 54b6dce805069534e951e21c1cb1fe798a00bab2 Mon Sep 17 00:00:00 2001 From: Jakub Sobon Date: Sun, 20 Jan 2019 15:44:43 -0500 Subject: [PATCH] Bugfix - correctly determine area on a braille canvas. --- canvas/braille/braille.go | 2 +- canvas/braille/braille_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/canvas/braille/braille.go b/canvas/braille/braille.go index 5bc3c6e..196f7e5 100644 --- a/canvas/braille/braille.go +++ b/canvas/braille/braille.go @@ -115,7 +115,7 @@ func (c *Canvas) Size() image.Point { // than the area used to create the braille canvas. func (c *Canvas) Area() image.Rectangle { ar := c.regular.Area() - return image.Rect(0, 0, ar.Dx()*ColMult, ar.Dx()*RowMult) + return image.Rect(0, 0, ar.Dx()*ColMult, ar.Dy()*RowMult) } // Clear clears all the content on the canvas. diff --git a/canvas/braille/braille_test.go b/canvas/braille/braille_test.go index 9a4bfe3..38dfd09 100644 --- a/canvas/braille/braille_test.go +++ b/canvas/braille/braille_test.go @@ -109,6 +109,12 @@ func TestNew(t *testing.T) { wantSize: image.Point{6, 12}, wantArea: image.Rect(0, 0, 6, 12), }, + { + desc: "braille from non-zero-based multi-cell rectangular area", + ar: image.Rect(6, 6, 9, 10), + wantSize: image.Point{6, 16}, + wantArea: image.Rect(0, 0, 6, 16), + }, } for _, tc := range tests {