raylib-go/raylib/utils.go
2022-10-25 21:58:31 +02:00

43 lines
926 B
Go

//go:build !android
// +build !android
package rl
/*
#include "stdlib.h"
#include "raylib.h"
void TraceLogWrapper(int logLevel, const char *text)
{
TraceLog(logLevel, text);
}
*/
import "C"
import (
"fmt"
"os"
"unsafe"
)
// Set the current threshold (minimum) log level
func SetTraceLog(logLevel TraceLogLevel) {
clogLevel := (C.int)(logLevel)
C.SetTraceLogLevel(clogLevel)
}
// Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
func TraceLog(logLevel TraceLogLevel, text string, v ...interface{}) {
ctext := C.CString(fmt.Sprintf(text, v...))
defer C.free(unsafe.Pointer(ctext))
clogLevel := (C.int)(logLevel)
C.TraceLogWrapper(clogLevel, ctext)
}
// HomeDir - Returns user home directory
// NOTE: On Android this returns internal data path and must be called after InitWindow
func HomeDir() string {
if homeDir, err := os.UserHomeDir(); err != nil {
return homeDir
}
return ""
}