diff --git a/raylib/rtextures.go b/raylib/rtextures.go index 4e008c0..5459430 100644 --- a/raylib/rtextures.go +++ b/raylib/rtextures.go @@ -184,15 +184,6 @@ func LoadRenderTexture(width, height int32) RenderTexture2D { return v } -// LoadTextureCubemap - Loads a texture for a cubemap using given layout -func LoadTextureCubemap(image *Image, layout int32) Texture2D { - cimage := image.cptr() - clayout := (C.int)(layout) - ret := C.LoadTextureCubemap(*cimage, clayout) - v := newTexture2DFromPointer(unsafe.Pointer(&ret)) - return v -} - // UnloadImage - Unload image from CPU memory (RAM) func UnloadImage(image *Image) { cimage := image.cptr() @@ -255,11 +246,12 @@ func UpdateTextureRec(texture Texture2D, rec Rectangle, pixels []color.RGBA) { } // ExportImage - Export image as a PNG file -func ExportImage(image Image, fileName string) { +func ExportImage(image Image, fileName string) bool { cfileName := C.CString(fileName) defer C.free(unsafe.Pointer(cfileName)) cimage := image.cptr() - C.ExportImage(*cimage, cfileName) + + return bool(C.ExportImage(*cimage, cfileName)) } // ExportImageToMemory - Export image to memory buffer @@ -282,15 +274,6 @@ func ImageCopy(image *Image) *Image { return v } -// Create an image from another image piece -func ImageFromImage(image Image, rec Rectangle) Image { - cimage := image.cptr() - crec := rec.cptr() - ret := C.ImageFromImage(*cimage, *crec) - v := newImageFromPointer(unsafe.Pointer(&ret)) - return *v -} - // ImageText - Create an image from text (default font) func ImageText(text string, fontSize int32, col color.RGBA) *Image { ctext := C.CString(text) diff --git a/raylib/rtextures_test.go b/raylib/rtextures_test.go new file mode 100644 index 0000000..095084f --- /dev/null +++ b/raylib/rtextures_test.go @@ -0,0 +1,48 @@ +package rl_test + +import ( + "os" + "testing" + + "image/color" + + rl "github.com/gen2brain/raylib-go/raylib" +) + +func TestExportImage(t *testing.T) { + var tests = []struct { + name string + image rl.Image + fileName string + want bool + }{ + { + name: "ValidImageExport", + image: *rl.GenImageColor(100, 100, color.RGBA{255, 0, 0, 255}), + fileName: "test_image.png", + want: true, + }, + { + name: "InvalidImageExport", + image: rl.Image{}, + fileName: "", + want: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + success := rl.ExportImage(tt.image, tt.fileName) + defer os.Remove(tt.fileName) + + if success != tt.want { + t.Errorf("ExportImage() result = %v, wantResult %v", success, tt.want) + return + } + + if _, err := os.Stat(tt.fileName); os.IsNotExist(err) && tt.want { + t.Errorf("ExportImage() failed to create file %s", tt.fileName) + } + }) + } +}