Exemple #1
0
// Maps a pixel value into the RGBA components for a given pixel format
func getRGBA(format *C.SDL_PixelFormat, pixel uint32) (byte, byte, byte, byte) {
	var r, b, g, a uint8
	pr := cbyteptr(&r)
	pb := cbyteptr(&b)
	pg := cbyteptr(&g)
	pa := cbyteptr(&a)
	C.SDL_GetRGBA(C.Uint32(pixel), format, pr, pg, pb, pa)
	return r, g, b, a
}
Exemple #2
0
// Gets RGBA values from a pixel in the specified pixel format.
func GetRGBA(color uint32, format *PixelFormat, r, g, b, a *uint8) {
	C.SDL_GetRGBA(C.Uint32(color), (*C.SDL_PixelFormat)(cast(format)), (*C.Uint8)(r), (*C.Uint8)(g), (*C.Uint8)(b), (*C.Uint8)(a))
}
Exemple #3
0
// GetRGBA gets the RGBA components from a pixel of the specified format.
// GetRGBA (https://wiki.libsdl.org/SDL_GetRGBA)
func GetRGBA(pixel uint32, format *PixelFormat) (r, g, b, a uint8) {
	C.SDL_GetRGBA(C.Uint32(pixel), (*C.SDL_PixelFormat)(unsafe.Pointer(format)),
		(*C.Uint8)(&r), (*C.Uint8)(&g), (*C.Uint8)(&b), (*C.Uint8)(&a))
	return
}
Exemple #4
0
func (p *PixelFormat) GetRGBA(pix uint32) (r, g, b, a uint8) {
	var cr, cg, cb, ca C.Uint8
	C.SDL_GetRGBA(C.Uint32(pix), p.c(), &cr, &cg, &cb, &ca)

	return uint8(cr), uint8(cg), uint8(cb), uint8(ca)
}
Exemple #5
0
func (s *Surface) GetColor(c32 uint32) color.Color {
	var r8, g8, b8, a8 C.Uint8
	C.SDL_GetRGBA(C.Uint32(c32), s.ptr.format, &r8, &g8, &b8, &a8)
	return color.RGBA{uint8(r8), uint8(g8), uint8(b8), uint8(a8)}
}