コード例 #1
0
ファイル: Liquid.go プロジェクト: ramsay/ramsay-snippets
func MakeSurface(surf *sdl.Surface) *Surface {
	surf.Lock() // Get Lock before creating the surface slice.
	surface := &Surface{surf, nil}
	sliceHeader := (*reflect.SliceHeader)((unsafe.Pointer(&surface.pixels)))
	sliceHeader.Cap = int(surf.H * surf.W)
	sliceHeader.Len = int(surf.H * surf.W)
	sliceHeader.Data = uintptr(unsafe.Pointer(surf.Pixels))
	surf.Unlock()
	return surface
}