diff --git a/batch.go b/batch.go index 712b15ca59cab96b0111cde038a99778fc4b9345..b82253620915e5a8ba42debb0c53819e211f812b 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 1057880e745b22a6c896aba1f6afcf15697fb8d7..dbe44f30df78bc1a58a1fee7455e891dc7e2fdcd 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 3f678db832349e81ed1e0695802aa8916f599b29..39ac87e024cebbb2d73375d0878e4581ac2c87e2 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 4b37078963a2768e7c3c5c890c38ef90c4b1d760..01a36bf497a5f981958baa414f7a7d092e9f5c7d 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 dee7e3790b8cfa7e966201e1fdc0e4776287011c..55e396849a6fd2392aa28f1f47d0115975f4741b 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() }