当前位置: 首页>>代码示例>>Golang>>正文


Golang C.SDL_RWFromFile函数代码示例

本文整理汇总了Golang中C.SDL_RWFromFile函数的典型用法代码示例。如果您正苦于以下问题:Golang SDL_RWFromFile函数的具体用法?Golang SDL_RWFromFile怎么用?Golang SDL_RWFromFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了SDL_RWFromFile函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: SaveBMP

func (s *Surface) SaveBMP(_file string) {
	cfile := C.CString(_file)
	defer C.free(unsafe.Pointer(cfile))
	cparams := C.CString("wb")
	defer C.free(unsafe.Pointer(cparams))
	C.SDL_SaveBMP_RW(s.Get(), C.SDL_RWFromFile(cfile, cparams), C.int(1))
}
开发者ID:gasperko,项目名称:pokemon-universe,代码行数:7,代码来源:image.go

示例2: LoadBMP

func LoadBMP(_file string) *Surface {
	cfile := C.CString(_file)
	defer C.free(unsafe.Pointer(cfile))
	cparams := C.CString("rb")
	defer C.free(unsafe.Pointer(cparams))
	return (*Surface)(C.SDL_LoadBMP_RW(C.SDL_RWFromFile(cfile, cparams), C.int(1)))
}
开发者ID:gasperko,项目名称:pokemon-universe,代码行数:7,代码来源:image.go

示例3: LoadWAV

func LoadWAV(file string) *Chunk {
	_file := C.CString(file)
	defer C.free(unsafe.Pointer(_file))
	_rb := C.CString("rb")
	defer C.free(unsafe.Pointer(_rb))
	return (*Chunk)(unsafe.Pointer(C.Mix_LoadWAV_RW(C.SDL_RWFromFile(_file, _rb), 1)))
}
开发者ID:TomMurray,项目名称:go-sdl2,代码行数:7,代码来源:sdl_mixer.go

示例4: RWFromFile

func RWFromFile(file, mode string) *RWops {
	_file := C.CString(file)
	defer C.free(unsafe.Pointer(_file))
	_mode := C.CString(mode)
	defer C.free(unsafe.Pointer(_mode))
	return (*RWops)(unsafe.Pointer(C.SDL_RWFromFile(_file, _mode)))
}
开发者ID:TomMurray,项目名称:go-sdl2,代码行数:7,代码来源:sdl_rwops.go

示例5: RWFromFile

// Functions to create SDL_RWops structures from various data sources
// Creates an RWOPS from a file
func RWFromFile(file, mode string) *C.SDL_RWops {
	cfile := cstr(file)
	defer cfile.free()
	cmode := cstr(mode)
	defer cmode.free()
	rw := C.SDL_RWFromFile(cfile, cmode)
	return rw
}
开发者ID:beoran,项目名称:fungo,代码行数:10,代码来源:sdl.go

示例6: LoadWAV

func LoadWAV(file string, spec *AudioSpec, audio_buf **uint8, audio_len *uint32) *AudioSpec {
	_file := (C.CString)(file)
	_spec := (*C.SDL_AudioSpec)(unsafe.Pointer(spec))
	_audio_buf := (**C.Uint8)(unsafe.Pointer(audio_buf))
	_audio_len := (*C.Uint32)(unsafe.Pointer(audio_len))
	return (*AudioSpec)(unsafe.Pointer(C.SDL_LoadWAV_RW(C.SDL_RWFromFile(_file, C.CString("rb")),
		1, _spec, _audio_buf, _audio_len)))
}
开发者ID:kyleconroy,项目名称:golds,代码行数:8,代码来源:sdl_audio.go

示例7: LoadWAV

// LoadWAV (https://wiki.libsdl.org/SDL_LoadWAV)
func LoadWAV(file string, spec *AudioSpec, audioBuf **uint8, audioLen *uint32) *AudioSpec {
	_file := C.CString(file)
	_rb := C.CString("rb")
	defer C.free(unsafe.Pointer(_file))
	defer C.free(unsafe.Pointer(_rb))
	_audioBuf := (**C.Uint8)(unsafe.Pointer(audioBuf))
	_audioLen := (*C.Uint32)(unsafe.Pointer(audioLen))
	return (*AudioSpec)(unsafe.Pointer(C.SDL_LoadWAV_RW(C.SDL_RWFromFile(_file, _rb), 1, spec.cptr(), _audioBuf, _audioLen)))
}
开发者ID:flazz,项目名称:go-sdl2,代码行数:10,代码来源:audio.go

示例8: loadSound

func loadSound(name string) *C.Mix_Chunk {
	cfile, rb := C.CString(name), C.CString("rb")
	rwop := C.SDL_RWFromFile(cfile, rb)
	C.free(unsafe.Pointer(cfile))
	C.free(unsafe.Pointer(rb))
	chunk := C.Mix_LoadWAV_RW(rwop, 1)
	if chunk == nil {
		panic(fmt.Sprintf("Unable to load Sound file (%v): %v", name, util.GetMixError()))
	}
	return chunk
}
开发者ID:swantescholz,项目名称:coding,代码行数:11,代码来源:sound.go

示例9: LoadWAV

func LoadWAV(file string) *Chunk {
	cfile := C.CString(file)
	cchunk := C.Mix_LoadWAV_RW(C.SDL_RWFromFile(cfile, C.CString("rb")), 1)
	C.free(unsafe.Pointer(cfile))

	if cchunk == nil {
		return nil
	}

	return &Chunk{cchunk}
}
开发者ID:pakohan,项目名称:Go-SDL,代码行数:11,代码来源:mixer.go

示例10: LoadWAV

func LoadWAV(file string) (chunk *Chunk, err error) {
	_file := C.CString(file)
	defer C.free(unsafe.Pointer(_file))
	_rb := C.CString("rb")
	defer C.free(unsafe.Pointer(_rb))
	// why doesn't this call Mix_LoadWAV ?
	chunk = (*Chunk)(unsafe.Pointer(C.Mix_LoadWAV_RW(C.SDL_RWFromFile(_file, _rb), 1)))
	if chunk == nil {
		err = sdl.GetError()
	}
	return
}
开发者ID:flazz,项目名称:go-sdl2,代码行数:12,代码来源:sdl_mixer.go

示例11: RWFromFile

func RWFromFile(file string, mode int) *RWops {
	cfile := C.CString(file)
	defer C.free(unsafe.Pointer(cfile))

	cmode := modeFromFlags(mode)
	if cmode == nil {
		return nil
	}
	defer C.free(unsafe.Pointer(cmode))

	return (*RWops)(C.SDL_RWFromFile(cfile, cmode))
}
开发者ID:gnanderson,项目名称:Go-SDL,代码行数:12,代码来源:sdl.go

示例12: RWFromFile

func RWFromFile(file string, mode string) (*RWops, error) {
	cfile := C.CString(file)
	defer C.free(unsafe.Pointer(cfile))

	cmode := C.CString(mode)
	defer C.free(unsafe.Pointer(cmode))

	rw := C.SDL_RWFromFile(cfile, cmode)
	if rw == nil {
		return nil, getError()
	}

	return &RWops{rw}, nil
}
开发者ID:DeedleFake,项目名称:sdl,代码行数:14,代码来源:rwops.go

示例13: LoadWAV

// LoadWAV (https://wiki.libsdl.org/SDL_LoadWAV)
func LoadWAV(file string, spec *AudioSpec) ([]byte, *AudioSpec) {
	_file := C.CString(file)
	_rb := C.CString("rb")
	defer C.free(unsafe.Pointer(_file))
	defer C.free(unsafe.Pointer(_rb))

	var _audioBuf *C.Uint8
	var _audioLen C.Uint32
	audioSpec := (*AudioSpec)(unsafe.Pointer(C.SDL_LoadWAV_RW(C.SDL_RWFromFile(_file, _rb), 1, spec.cptr(), &_audioBuf, &_audioLen)))

	var b []byte
	sliceHeader := (*reflect.SliceHeader)(unsafe.Pointer(&b))
	sliceHeader.Len = (int)(_audioLen)
	sliceHeader.Cap = (int)(_audioLen)
	sliceHeader.Data = uintptr(unsafe.Pointer(_audioBuf))
	return b, audioSpec
}
开发者ID:tanema,项目名称:go-sdl2,代码行数:18,代码来源:audio.go

示例14: loadWAV

func loadWAV(path string) (*audioData, error) {
	cpath := C.CString(path)
	defer C.free(unsafe.Pointer(cpath))

	var data *C.Uint8
	var len C.Uint32
	var s C.SDL_AudioSpec // Apparently just a buffer?  SDL just zeroes it, fills it, and returns it.
	spec := C.SDL_LoadWAV_RW(C.SDL_RWFromFile(cpath, rb), 1, &s, &data, &len)
	if spec == nil {
		return nil, sdlError()
	}

	var err error
	data, len, err = convert(spec, data, len)
	if err != nil {
		return nil, err
	}

	return &audioData{
		path: path,
		data: unsafe.Pointer(data),
		len:  uintptr(len),
	}, nil
}
开发者ID:velour,项目名称:ui,代码行数:24,代码来源:audio.go

示例15: LoadWAV

func LoadWAV(file string) *Chunk {
	_file := (C.CString)(file)
	return (*Chunk)(unsafe.Pointer(C.Mix_LoadWAV_RW(C.SDL_RWFromFile(_file,
		C.CString("rb")), 1)))
}
开发者ID:hybridgroup,项目名称:go-sdl2,代码行数:5,代码来源:sdl_mixer.go


注:本文中的C.SDL_RWFromFile函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。