Skip to content

Commit

Permalink
More purego functions added
Browse files Browse the repository at this point in the history
  • Loading branch information
JupiterRider committed Nov 9, 2023
1 parent 5c56ba6 commit 7ef7242
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions raylib/raylib_purego.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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
Expand Down Expand Up @@ -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)))
}

0 comments on commit 7ef7242

Please sign in to comment.