Add SetTraceLogCallback to enable users setting custom logging (#597)

This commit is contained in:
Pablo Marcos Oltra 2018-07-26 21:57:45 +02:00 committed by Ahmad Fatoum
parent 64e9d72c07
commit c69f7953c7
4 changed files with 112 additions and 3 deletions

View file

@ -71,6 +71,8 @@
#ifndef RAYLIB_H
#define RAYLIB_H
#include <stdarg.h> // Required for va_list
#if defined(_WIN32) && defined(BUILD_LIBTYPE_SHARED)
#define RLAPI __declspec(dllexport) // We are building raylib as a Win32 shared library (.dll)
#elif defined(_WIN32) && defined(USE_LIBTYPE_SHARED)
@ -727,6 +729,9 @@ typedef enum {
HMD_SONY_PSVR
} VrDeviceType;
// Callbacks to be implemented by users
typedef void (*TraceLogCallback)(int msgType, const char *text, va_list args);
#ifdef __cplusplus
extern "C" { // Prevents name mangling of functions
#endif
@ -796,6 +801,7 @@ RLAPI Color Fade(Color color, float alpha); // Color fade-
RLAPI void ShowLogo(void); // Activate raylib logo at startup (can be done with flags)
RLAPI void SetConfigFlags(unsigned char flags); // Setup window configuration flags (view FLAGS)
RLAPI void SetTraceLog(unsigned char types); // Enable trace log message types (bit flags based)
RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set a trace log callback to enable custom logging bypassing raylib's one
RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG)
RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (saved a .png)
RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included)