From 7ef7242a981193e881efcfd4d98fe0c665dc9c67 Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Thu, 9 Nov 2023 16:11:12 +0100 Subject: [PATCH] More purego functions added --- raylib/raylib_purego.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/raylib/raylib_purego.go b/raylib/raylib_purego.go index 7fb1e298..d993e2a0 100644 --- a/raylib/raylib_purego.go +++ b/raylib/raylib_purego.go @@ -23,6 +23,9 @@ var windowShouldClose func() bool var beginDrawing func() var endDrawing func() var clearBackground func(col uintptr) +var loadTexture func(texture uintptr, fileName string) +var unloadTexture func(texture uintptr) +var drawTextureV func(texture uintptr, position uintptr, tint uintptr) func init() { switch runtime.GOOS { @@ -38,6 +41,9 @@ func init() { purego.RegisterLibFunc(&beginDrawing, raylibDll, "BeginDrawing") purego.RegisterLibFunc(&endDrawing, raylibDll, "EndDrawing") purego.RegisterLibFunc(&clearBackground, raylibDll, "ClearBackground") + purego.RegisterLibFunc(&loadTexture, raylibDll, "LoadTexture") + purego.RegisterLibFunc(&unloadTexture, raylibDll, "UnloadTexture") + purego.RegisterLibFunc(&drawTextureV, raylibDll, "DrawTextureV") } // InitWindow - Initialize Window and OpenGL Graphics @@ -69,3 +75,20 @@ func EndDrawing() { func ClearBackground(col color.RGBA) { clearBackground(*(*uintptr)(unsafe.Pointer(&col))) } + +// LoadTexture - Load an image as texture into GPU memory +func LoadTexture(fileName string) Texture2D { + var texture Texture2D + loadTexture(uintptr(unsafe.Pointer(&texture)), fileName) + return texture +} + +// UnloadTexture - Unload texture from GPU memory +func UnloadTexture(texture Texture2D) { + unloadTexture(uintptr(unsafe.Pointer(&texture))) +} + +// DrawTextureV - Draw a Texture2D with position defined as Vector2 +func DrawTextureV(texture Texture2D, position Vector2, tint color.RGBA) { + drawTextureV(uintptr(unsafe.Pointer(&texture)), *(*uintptr)(unsafe.Pointer(&position)), *(*uintptr)(unsafe.Pointer(&tint))) +}