diff --git a/sdl/pixels.go b/sdl/pixels.go
index <HASH>..<HASH> 100644
--- a/sdl/pixels.go
+++ b/sdl/pixels.go
@@ -54,6 +54,25 @@ func (c Color) Uint32() uint32 {
 	return v
 }
 
+// RGBA returns the alpha-premultiplied red, green, blue and alpha values
+// for the color. Each value ranges within [0, 0xffff], but is represented
+// by a uint32 so that multiplying by a blend factor up to 0xffff will not
+// overflow.
+//
+// An alpha-premultiplied color component c has been scaled by alpha (a),
+// so has valid values 0 <= c <= a.
+func (c Color) RGBA() (r, g, b, a uint32) {
+	r = uint32(c.R)
+	r |= r << 8
+	g = uint32(c.G)
+	g |= g << 8
+	b = uint32(c.B)
+	b |= b << 8
+	a = uint32(c.A)
+	a |= a << 8
+	return
+}
+
 const (
 	PIXELTYPE_UNKNOWN  = C.SDL_PIXELTYPE_UNKNOWN
 	PIXELTYPE_INDEX1   = C.SDL_PIXELTYPE_INDEX1
Implement standard library Color interface (#<I>)

* Implement standard library Color interface



* Add comment for Color.RGBA



* Fix method signature