From 379b4df6675981b29be889e3cce796d61597f820 Mon Sep 17 00:00:00 2001
From: faiface <faiface@ksp.sk>
Date: Thu, 23 Mar 2017 23:07:49 +0100
Subject: [PATCH] adopt new ToNRGBA function

---
 batch.go          |  2 +-
 data.go           | 10 ++++++++--
 imdraw/imdraw.go  |  4 ++--
 pixelgl/canvas.go |  4 ++--
 sprite.go         |  2 +-
 5 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/batch.go b/batch.go
index 712b15c..b822536 100644
--- a/batch.go
+++ b/batch.go
@@ -66,7 +66,7 @@ func (b *Batch) SetColorMask(c color.Color) {
 		b.col = NRGBA{1, 1, 1, 1}
 		return
 	}
-	b.col = NRGBAModel.Convert(c).(NRGBA)
+	b.col = ToNRGBA(c)
 }
 
 // MakeTriangles returns a specialized copy of the provided Triangles that draws onto this Batch.
diff --git a/data.go b/data.go
index 1057880..dbe44f3 100644
--- a/data.go
+++ b/data.go
@@ -284,7 +284,7 @@ func (pd *PictureData) Color(at Vec) NRGBA {
 	if !pd.Rect.Contains(at) {
 		return NRGBA{0, 0, 0, 0}
 	}
-	return NRGBAModel.Convert(pd.Pix[pd.Index(at)]).(NRGBA)
+	return ToNRGBA(pd.Pix[pd.Index(at)])
 }
 
 // SetColor changes the color located at the given position.
@@ -292,5 +292,11 @@ func (pd *PictureData) SetColor(at Vec, col color.Color) {
 	if !pd.Rect.Contains(at) {
 		return
 	}
-	pd.Pix[pd.Index(at)] = color.NRGBAModel.Convert(col).(color.NRGBA)
+	nrgba := ToNRGBA(col)
+	pd.Pix[pd.Index(at)] = color.NRGBA{
+		R: uint8(nrgba.R * 255),
+		G: uint8(nrgba.G * 255),
+		B: uint8(nrgba.B * 255),
+		A: uint8(nrgba.A * 255),
+	}
 }
diff --git a/imdraw/imdraw.go b/imdraw/imdraw.go
index 3f678db..39ac87e 100644
--- a/imdraw/imdraw.go
+++ b/imdraw/imdraw.go
@@ -127,7 +127,7 @@ func (imd *IMDraw) pushPt(pos pixel.Vec, pt point) {
 
 // Color sets the color of the next Pushed points.
 func (imd *IMDraw) Color(color color.Color) {
-	imd.opts.col = pixel.NRGBAModel.Convert(color).(pixel.NRGBA)
+	imd.opts.col = pixel.ToNRGBA(color)
 }
 
 // Picture sets the Picture coordinates of the next Pushed points.
@@ -160,7 +160,7 @@ func (imd *IMDraw) SetMatrix(m pixel.Matrix) {
 
 // SetColorMask sets a color that all further point's color will be multiplied by.
 func (imd *IMDraw) SetColorMask(color color.Color) {
-	imd.mask = pixel.NRGBAModel.Convert(color).(pixel.NRGBA)
+	imd.mask = pixel.ToNRGBA(color)
 	imd.batch.SetColorMask(imd.mask)
 }
 
diff --git a/pixelgl/canvas.go b/pixelgl/canvas.go
index 4b37078..01a36bf 100644
--- a/pixelgl/canvas.go
+++ b/pixelgl/canvas.go
@@ -162,7 +162,7 @@ func (c *Canvas) SetMatrix(m pixel.Matrix) {
 func (c *Canvas) SetColorMask(col color.Color) {
 	nrgba := pixel.NRGBA{R: 1, G: 1, B: 1, A: 1}
 	if col != nil {
-		nrgba = pixel.NRGBAModel.Convert(col).(pixel.NRGBA)
+		nrgba = pixel.ToNRGBA(col)
 	}
 	c.col = mgl32.Vec4{
 		float32(nrgba.R),
@@ -238,7 +238,7 @@ func (c *Canvas) setGlhfBounds() {
 func (c *Canvas) Clear(color color.Color) {
 	c.orig.dirty = true
 
-	nrgba := pixel.NRGBAModel.Convert(color).(pixel.NRGBA)
+	nrgba := pixel.ToNRGBA(color)
 
 	// color masking
 	nrgba = nrgba.Mul(pixel.NRGBA{
diff --git a/sprite.go b/sprite.go
index dee7e37..55e3968 100644
--- a/sprite.go
+++ b/sprite.go
@@ -67,7 +67,7 @@ func (s *Sprite) Matrix() Matrix {
 // Note, that this has nothing to do with BasicTarget's SetColorMask method. This only affects this
 // Sprite and is usable with any Target.
 func (s *Sprite) SetColorMask(mask color.Color) {
-	s.mask = NRGBAModel.Convert(mask).(NRGBA)
+	s.mask = ToNRGBA(mask)
 	s.calcData()
 }
 
-- 
GitLab