LoadImageAnimFromMemory function added

This commit is contained in:
JupiterRider 2024-11-24 12:17:59 +01:00
parent 77b59b8ebe
commit 4da4ec54eb
2 changed files with 21 additions and 0 deletions

View file

@ -257,6 +257,7 @@ var getCollisionRec func(rec uintptr, rec1 uintptr, rec2 uintptr)
var loadImage func(img uintptr, fileName string)
var loadImageRaw func(img uintptr, fileName string, width int32, height int32, format int32, headerSize int32)
var loadImageAnim func(img uintptr, fileName string, frames []int32)
var loadImageAnimFromMemory func(img uintptr, fileType string, fileData []byte, dataSize int32, frames []int32)
var loadImageFromMemory func(img uintptr, fileType string, fileData []byte, dataSize int32)
var loadImageFromTexture func(img uintptr, texture uintptr)
var loadImageFromScreen func(img uintptr)
@ -760,6 +761,7 @@ func init() {
purego.RegisterLibFunc(&loadImage, raylibDll, "LoadImage")
purego.RegisterLibFunc(&loadImageRaw, raylibDll, "LoadImageRaw")
purego.RegisterLibFunc(&loadImageAnim, raylibDll, "LoadImageAnim")
purego.RegisterLibFunc(&loadImageAnimFromMemory, raylibDll, "LoadImageAnimFromMemory")
purego.RegisterLibFunc(&loadImageFromMemory, raylibDll, "LoadImageFromMemory")
purego.RegisterLibFunc(&loadImageFromTexture, raylibDll, "LoadImageFromTexture")
purego.RegisterLibFunc(&loadImageFromScreen, raylibDll, "LoadImageFromScreen")
@ -2343,6 +2345,13 @@ func LoadImageAnim(fileName string, frames []int32) *Image {
return &img
}
// LoadImageAnimFromMemory - Load image sequence from memory buffer
func LoadImageAnimFromMemory(fileType string, fileData []byte, dataSize int32, frames []int32) *Image {
var img Image
loadImageAnimFromMemory(uintptr(unsafe.Pointer(&img)), fileType, fileData, dataSize, frames)
return &img
}
// LoadImageFromMemory - Load image from memory buffer, fileType refers to extension: i.e. '.png'
func LoadImageFromMemory(fileType string, fileData []byte, dataSize int32) *Image {
var img Image

View file

@ -113,6 +113,18 @@ func LoadImageAnim(fileName string, frames *int32) *Image {
return v
}
// LoadImageAnimFromMemory - Load image sequence from memory buffer
func LoadImageAnimFromMemory(fileType string, fileData []byte, dataSize int32, frames []int32) *Image {
cfileType := C.CString(fileType)
defer C.free(unsafe.Pointer(cfileType))
cfileData := (*C.uchar)(unsafe.Pointer(&fileData[0]))
cdataSize := (C.int)(dataSize)
cframes := (*C.int)(unsafe.Pointer(&frames[0]))
ret := C.LoadImageAnimFromMemory(cfileType, cfileData, cdataSize, cframes)
v := newImageFromPointer(unsafe.Pointer(&ret))
return v
}
// LoadImageFromMemory - Load image from memory buffer, fileType refers to extension: i.e. ".png"
func LoadImageFromMemory(fileType string, fileData []byte, dataSize int32) *Image {
cfileType := C.CString(fileType)