finished embeddable/none platforms and the example
This commit is contained in:
parent
b0d4c5b0bc
commit
c13252e512
|
|
@ -2,7 +2,7 @@
|
||||||
include(CMakeDependentOption)
|
include(CMakeDependentOption)
|
||||||
include(EnumOption)
|
include(EnumOption)
|
||||||
|
|
||||||
enum_option(PLATFORM "Desktop;Web;Android;Raspberry Pi;DRM;SDL;Offscreen;None" "Platform to build for.")
|
enum_option(PLATFORM "Desktop;Web;Android;Raspberry Pi;DRM;SDL;Embeddable;None" "Platform to build for.")
|
||||||
|
|
||||||
enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific OpenGL Version?")
|
enum_option(OPENGL_VERSION "OFF;4.3;3.3;2.1;1.1;ES 2.0;ES 3.0" "Force a specific OpenGL Version?")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -105,9 +105,9 @@ elseif ("${PLATFORM}" MATCHES "None")
|
||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
|
|
||||||
set(LIBS_PRIVATE m atomic pthread ${OPENGL_LIBRARIES})
|
set(LIBS_PRIVATE m atomic pthread ${OPENGL_LIBRARIES})
|
||||||
elseif ("${PLATFORM}" MATCHES "Offscreen")
|
elseif ("${PLATFORM}" MATCHES "Embeddable")
|
||||||
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
|
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
|
||||||
set(PLATFORM_CPP "PLATFORM_OFFSCREEN")
|
set(PLATFORM_CPP "PLATFORM_EMBEDDABLE")
|
||||||
|
|
||||||
find_library(pthread NAMES pthread)
|
find_library(pthread NAMES pthread)
|
||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
|
|
|
||||||
|
|
@ -118,15 +118,16 @@ elseif (NOT SUPPORT_GESTURES_SYSTEM)
|
||||||
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_basic_screen_manager.c)
|
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_basic_screen_manager.c)
|
||||||
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures_web.c)
|
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures_web.c)
|
||||||
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures.c)
|
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_input_gestures.c)
|
||||||
elseif ("${PLATFORM}" STREQUAL "None" OR "${PLATFORM}" STREQUAL "Offscreen")
|
|
||||||
# for some reason i get an error when trying to compile this one from any platform? oh well we'll just stick it here
|
|
||||||
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/raylib_opengl_interop.c)
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
# The core_override one is only for Embeddable/Blank platforms
|
||||||
|
if (NOT ${PLATFORM} MATCHES "None" AND NOT ${PLATFORM} MATCHES "Embeddable")
|
||||||
|
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/core/core_override.c)
|
||||||
|
endif()
|
||||||
|
|
||||||
# The rlgl_standalone example only targets desktop, without shared libraries.
|
# The rlgl_standalone example only targets desktop, without shared libraries.
|
||||||
if (BUILD_SHARED_LIBS OR NOT ${PLATFORM} MATCHES "Desktop")
|
if (BUILD_SHARED_LIBS OR NOT ${PLATFORM} MATCHES "Desktop")
|
||||||
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c)
|
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(BEFORE SYSTEM others/external/include)
|
include_directories(BEFORE SYSTEM others/external/include)
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@
|
||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
#include "rmod.h"
|
|
||||||
#include "rcore.h"
|
#include "rcore.h"
|
||||||
|
|
||||||
#include "GLFW/glfw3.h" // Windows/Context and inputs management
|
#include "GLFW/glfw3.h" // Windows/Context and inputs management
|
||||||
|
|
@ -28,6 +27,15 @@ const int screenHeight = 450;
|
||||||
GLFWwindow *window;
|
GLFWwindow *window;
|
||||||
|
|
||||||
|
|
||||||
|
void CustomSetWindowTitle(const char *title)
|
||||||
|
{
|
||||||
|
GetCore()->Window.title = title;
|
||||||
|
glfwSetWindowTitle(window, title);
|
||||||
|
}
|
||||||
|
|
||||||
|
double CustomGetTime(void) {
|
||||||
|
return glfwGetTime();
|
||||||
|
}
|
||||||
|
|
||||||
bool CustomWindowShouldClose(void) {
|
bool CustomWindowShouldClose(void) {
|
||||||
if (GetCore()->Window.ready) return GetCore()->Window.shouldClose;
|
if (GetCore()->Window.ready) return GetCore()->Window.shouldClose;
|
||||||
|
|
@ -35,7 +43,6 @@ bool CustomWindowShouldClose(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CustomInitPlatform(void) {
|
int CustomInitPlatform(void) {
|
||||||
printf("Initing\n");
|
|
||||||
if (!glfwInit())
|
if (!glfwInit())
|
||||||
{
|
{
|
||||||
printf("GLFW3: Can not initialize GLFW\n");
|
printf("GLFW3: Can not initialize GLFW\n");
|
||||||
|
|
@ -65,6 +72,7 @@ int CustomInitPlatform(void) {
|
||||||
else printf("GLFW3: Window created successfully\n");
|
else printf("GLFW3: Window created successfully\n");
|
||||||
|
|
||||||
//glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
|
//glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
|
||||||
|
glfwSetWindowSize(window, GetCore()->Window.screen.width, GetCore()->Window.screen.height);
|
||||||
glfwSetWindowPos(window, 200, 200);
|
glfwSetWindowPos(window, 200, 200);
|
||||||
|
|
||||||
glfwMakeContextCurrent(window);
|
glfwMakeContextCurrent(window);
|
||||||
|
|
@ -94,40 +102,51 @@ void CustomClosePlatform(void) {
|
||||||
glfwTerminate(); // Free GLFW3 resources
|
glfwTerminate(); // Free GLFW3 resources
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
// Program main entry point
|
// Program main entry point
|
||||||
//------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------
|
||||||
int main(void)
|
int main(void)
|
||||||
|
|
||||||
{
|
{
|
||||||
union OverridableFunctionPointer funcs;
|
|
||||||
funcs.InitPlatform = CustomInitPlatform;
|
|
||||||
funcs.ClosePlatform = CustomClosePlatform;
|
|
||||||
funcs.WindowShouldClose = CustomWindowShouldClose;
|
|
||||||
//CustomInitPlatform();
|
|
||||||
|
|
||||||
OverrideInternalFunction("InitPlatform",&funcs);
|
union OverridableFunctionPointer funcs[4];
|
||||||
OverrideInternalFunction("ClosePlatform",&funcs);
|
|
||||||
OverrideInternalFunction("WindowShouldClose",&funcs);
|
|
||||||
|
|
||||||
RenderTexture2D fb = LoadRenderTexture(80,24);
|
funcs[0].InitPlatform = CustomInitPlatform;
|
||||||
|
OverrideInternalFunction("InitPlatform",&funcs[0]);
|
||||||
|
|
||||||
InitWindow(1,1,"r");
|
funcs[1].ClosePlatform = CustomClosePlatform;
|
||||||
|
OverrideInternalFunction("ClosePlatform",&funcs[1]);
|
||||||
|
|
||||||
Color col;
|
funcs[2].WindowShouldClose = CustomWindowShouldClose;
|
||||||
|
OverrideInternalFunction("WindowShouldClose",&funcs[2]);
|
||||||
|
|
||||||
|
funcs[3].GetTime = CustomGetTime;
|
||||||
|
OverrideInternalFunction("GetTime",&funcs[3]);
|
||||||
|
|
||||||
|
funcs[4].SetWindowTitle = CustomSetWindowTitle;
|
||||||
|
OverrideInternalFunction("SetWindowTitle",&funcs[4]);
|
||||||
|
|
||||||
|
|
||||||
|
InitWindow(screenWidth,screenHeight,"Test");
|
||||||
|
|
||||||
|
Color col = WHITE;
|
||||||
|
|
||||||
|
SetTargetFPS(5);
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Main game loop
|
||||||
while(!WindowShouldClose()) {
|
while(!WindowShouldClose()) {
|
||||||
Vector2 pos = GetMousePosition();
|
|
||||||
|
|
||||||
BeginDrawing();
|
BeginDrawing();
|
||||||
ClearBackground(WHITE);
|
ClearBackground(col);
|
||||||
BeginTextureMode(fb);
|
|
||||||
ClearBackground(RED);
|
|
||||||
EndTextureMode();
|
|
||||||
EndDrawing();
|
EndDrawing();
|
||||||
|
|
||||||
|
col.r = GetRandomValue(0,255);
|
||||||
|
col.g = GetRandomValue(0,255);
|
||||||
|
col.b = GetRandomValue(0,255);
|
||||||
|
|
||||||
glfwSwapBuffers(window);
|
glfwSwapBuffers(window);
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
GetCore()->Window.shouldClose = glfwWindowShouldClose(window);
|
GetCore()->Window.shouldClose = glfwWindowShouldClose(window);
|
||||||
4
src/external/RGFW.h
vendored
4
src/external/RGFW.h
vendored
|
|
@ -8516,9 +8516,9 @@ RGFW_window* RGFW_createWindow(const char* name, RGFW_rect rect, u16 args) {
|
||||||
attrs.preserveDrawingBuffer = EM_FALSE;
|
attrs.preserveDrawingBuffer = EM_FALSE;
|
||||||
|
|
||||||
if (RGFW_DOUBLE_BUFFER == 0)
|
if (RGFW_DOUBLE_BUFFER == 0)
|
||||||
attrs.renderViaOffscreenBackBuffer = 0;
|
attrs.renderViaEmbeddableBackBuffer = 0;
|
||||||
else
|
else
|
||||||
attrs.renderViaOffscreenBackBuffer = RGFW_AUX_BUFFERS;
|
attrs.renderViaEmbeddableBackBuffer = RGFW_AUX_BUFFERS;
|
||||||
|
|
||||||
attrs.failIfMajorPerformanceCaveat = EM_FALSE;
|
attrs.failIfMajorPerformanceCaveat = EM_FALSE;
|
||||||
attrs.majorVersion = (RGFW_majorVersion == 0) ? 1 : RGFW_majorVersion;
|
attrs.majorVersion = (RGFW_majorVersion == 0) ? 1 : RGFW_majorVersion;
|
||||||
|
|
|
||||||
|
|
@ -36,20 +36,72 @@ static PlatformData platform = { 0 }; // Platform specific data
|
||||||
return; \
|
return; \
|
||||||
}
|
}
|
||||||
|
|
||||||
// For the functions that have default behavior on PLATFORM_OFFSCREEN, check if the function exists
|
// For the functions that have default behavior on PLATFORM_EMBEDDABLE, check if the function exists
|
||||||
// first.
|
// first.
|
||||||
#define CHECK_AND_CALL(fn_name, args) \
|
#define CHECK_AND_CALL(fn_name, args) \
|
||||||
if(internal##fn_name##Callback != NULL) {\
|
if(internal##fn_name##Callback != NULL) {\
|
||||||
return (*internal##fn_name##Callback)(LIST args); \
|
return (*internal##fn_name##Callback)(LIST args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
// For the functions that have default behavior on PLATFORM_OFFSCREEN, check if the function exists
|
// For the functions that have default behavior on PLATFORM_EMBEDDABLE, check if the function exists
|
||||||
// first (void version).
|
// first (void version).
|
||||||
#define CHECK_AND_CALL_VOID(fn_name, args) \
|
#define CHECK_AND_CALL_VOID(fn_name, args) \
|
||||||
if(internal##fn_name##Callback != NULL) {\
|
if(internal##fn_name##Callback != NULL) {\
|
||||||
(*internal##fn_name##Callback)(LIST args); \
|
(*internal##fn_name##Callback)(LIST args); \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generate an internal callback function pointer
|
||||||
|
#define GEN_FUNCPOINTER(fn_name) \
|
||||||
|
static fn_name##Callback * internal##fn_name##Callback = NULL;
|
||||||
|
|
||||||
|
GEN_FUNCPOINTER(InitPlatform)
|
||||||
|
GEN_FUNCPOINTER(WindowShouldClose)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorCount)
|
||||||
|
GEN_FUNCPOINTER(GetCurrentMonitor)
|
||||||
|
GEN_FUNCPOINTER(ShowCursor)
|
||||||
|
GEN_FUNCPOINTER(HideCursor)
|
||||||
|
GEN_FUNCPOINTER(SetWindowState)
|
||||||
|
GEN_FUNCPOINTER(ClearWindowState)
|
||||||
|
GEN_FUNCPOINTER(SetWindowMinSize)
|
||||||
|
GEN_FUNCPOINTER(SetWindowMaxSize)
|
||||||
|
GEN_FUNCPOINTER(SetWindowSize)
|
||||||
|
GEN_FUNCPOINTER(ClosePlatform)
|
||||||
|
GEN_FUNCPOINTER(ToggleFullscreen)
|
||||||
|
GEN_FUNCPOINTER(ToggleBorderlessWindowed)
|
||||||
|
GEN_FUNCPOINTER(MaximizeWindow)
|
||||||
|
GEN_FUNCPOINTER(MinimizeWindow)
|
||||||
|
GEN_FUNCPOINTER(RestoreWindow)
|
||||||
|
GEN_FUNCPOINTER(SetWindowIcon)
|
||||||
|
GEN_FUNCPOINTER(SetWindowIcons)
|
||||||
|
GEN_FUNCPOINTER(SetWindowTitle)
|
||||||
|
GEN_FUNCPOINTER(SetWindowPosition)
|
||||||
|
GEN_FUNCPOINTER(SetWindowMonitor)
|
||||||
|
GEN_FUNCPOINTER(SetWindowOpacity)
|
||||||
|
GEN_FUNCPOINTER(SetWindowFocused)
|
||||||
|
GEN_FUNCPOINTER(EnableCursor)
|
||||||
|
GEN_FUNCPOINTER(DisableCursor)
|
||||||
|
GEN_FUNCPOINTER(SwapScreenBuffer)
|
||||||
|
GEN_FUNCPOINTER(SetGamepadVibration)
|
||||||
|
GEN_FUNCPOINTER(SetMousePosition)
|
||||||
|
GEN_FUNCPOINTER(SetMouseCursor)
|
||||||
|
GEN_FUNCPOINTER(PollInputEvents)
|
||||||
|
GEN_FUNCPOINTER(SetClipboardText)
|
||||||
|
GEN_FUNCPOINTER(SetGamepadMappings)
|
||||||
|
GEN_FUNCPOINTER(GetWindowHandle)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorPosition)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorWidth)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorHeight)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorPhysicalWidth)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorPhysicalHeight)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorRefreshRate)
|
||||||
|
GEN_FUNCPOINTER(GetMonitorName)
|
||||||
|
GEN_FUNCPOINTER(GetWindowPosition)
|
||||||
|
GEN_FUNCPOINTER(GetWindowScaleDPI)
|
||||||
|
GEN_FUNCPOINTER(GetClipboardText)
|
||||||
|
GEN_FUNCPOINTER(GetKeyName)
|
||||||
|
GEN_FUNCPOINTER(GetTime)
|
||||||
|
GEN_FUNCPOINTER(OpenURL)
|
||||||
|
|
||||||
GEN_CALLBACK_BODY_VOID(ClosePlatform, (void), ())
|
GEN_CALLBACK_BODY_VOID(ClosePlatform, (void), ())
|
||||||
GEN_CALLBACK_BODY_VOID(ToggleFullscreen, (void), ())
|
GEN_CALLBACK_BODY_VOID(ToggleFullscreen, (void), ())
|
||||||
GEN_CALLBACK_BODY_VOID(ToggleBorderlessWindowed, (void), ())
|
GEN_CALLBACK_BODY_VOID(ToggleBorderlessWindowed, (void), ())
|
||||||
|
|
@ -87,7 +139,7 @@ GEN_CALLBACK_BODY(const char *, "", GetKeyName, (int key), (key))
|
||||||
GEN_CALLBACK_BODY(double, 0.0, GetTime, (void), ())
|
GEN_CALLBACK_BODY(double, 0.0, GetTime, (void), ())
|
||||||
GEN_CALLBACK_BODY_VOID(OpenURL, (const char *url), (url))
|
GEN_CALLBACK_BODY_VOID(OpenURL, (const char *url), (url))
|
||||||
|
|
||||||
// Override an internal platform function with your own (PLATFORM_OFFSCREEN and PLATFORM_NONE only).
|
// Override an internal platform function with your own (PLATFORM_EMBEDDABLE and PLATFORM_NONE only).
|
||||||
// Note that there is no responsibility here for the Raylib maintainers to keep a stable API for core functions
|
// Note that there is no responsibility here for the Raylib maintainers to keep a stable API for core functions
|
||||||
void OverrideInternalFunction(const char * funcName, union OverridableFunctionPointer * func) {
|
void OverrideInternalFunction(const char * funcName, union OverridableFunctionPointer * func) {
|
||||||
GEN_CASE(InitPlatform)
|
GEN_CASE(InitPlatform)
|
||||||
|
|
@ -136,17 +188,29 @@ void OverrideInternalFunction(const char * funcName, union OverridableFunctionPo
|
||||||
GEN_CASE(GetClipboardText)
|
GEN_CASE(GetClipboardText)
|
||||||
GEN_CASE(GetKeyName)
|
GEN_CASE(GetKeyName)
|
||||||
GEN_CASE(GetTime)
|
GEN_CASE(GetTime)
|
||||||
|
GEN_CASE(OpenURL)
|
||||||
|
|
||||||
TraceLog(LOG_ERROR, "Unknown function name \"%s\", did not bind.",funcName);
|
TraceLog(LOG_ERROR, "Unknown function name \"%s\", did not bind.",funcName);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef PLATFORM_OFFSCREEN
|
#ifndef PLATFORM_EMBEDDABLE
|
||||||
//
|
GEN_CALLBACK_BODY(int, 0, InitPlatform, (void), ())
|
||||||
|
GEN_CALLBACK_BODY(bool, true, WindowShouldClose, (void), ())
|
||||||
|
GEN_CALLBACK_BODY(int, 0, GetMonitorCount, (void), ())
|
||||||
|
GEN_CALLBACK_BODY(int, 0, GetCurrentMonitor, (void), ())
|
||||||
|
GEN_CALLBACK_BODY_VOID(ShowCursor, (void), ())
|
||||||
|
GEN_CALLBACK_BODY_VOID(HideCursor, (void), ())
|
||||||
|
GEN_CALLBACK_BODY_VOID(SetWindowState, (unsigned int flags), (flags))
|
||||||
|
GEN_CALLBACK_BODY_VOID(ClearWindowState, (unsigned int flags), (flags))
|
||||||
|
GEN_CALLBACK_BODY_VOID(SetWindowMinSize, (int width, int height), (width,height))
|
||||||
|
GEN_CALLBACK_BODY_VOID(SetWindowMaxSize, (int width, int height), (width,height))
|
||||||
|
GEN_CALLBACK_BODY_VOID(SetWindowSize, (int width, int height), (width,height))
|
||||||
|
|
||||||
|
#else
|
||||||
int InitPlatform(void) {
|
int InitPlatform(void) {
|
||||||
printf("j\n");
|
|
||||||
CHECK_AND_CALL(InitPlatform, ());
|
CHECK_AND_CALL(InitPlatform, ());
|
||||||
printf("test\n");
|
printf("theJ\n");
|
||||||
CORE.Window.ready = true;
|
CORE.Window.ready = true;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ typedef struct {
|
||||||
#define LIST(...) __VA_ARGS__
|
#define LIST(...) __VA_ARGS__
|
||||||
|
|
||||||
// The code for warning the user that a function hasn't been overriden. On PLATFORM_NONE, this isn't emitted.
|
// The code for warning the user that a function hasn't been overriden. On PLATFORM_NONE, this isn't emitted.
|
||||||
#ifndef PLATFORM_OFFSCREEN
|
#ifndef PLATFORM_EMBEDDABLE
|
||||||
#define FUNCTION_MISSING_WARNING(fn_name) TRACELOG(LOG_WARNING, #fn_name " was called but not overriden by the user");
|
#define FUNCTION_MISSING_WARNING(fn_name) TRACELOG(LOG_WARNING, #fn_name " was called but not overriden by the user");
|
||||||
#else
|
#else
|
||||||
#define FUNCTION_MISSING_WARNING(fn_name)
|
#define FUNCTION_MISSING_WARNING(fn_name)
|
||||||
|
|
@ -72,13 +72,11 @@ typedef struct {
|
||||||
// Generate a callback
|
// Generate a callback
|
||||||
#define GEN_CALLBACK_HEAD(fn_ret, ret_value, fn_name, named_args, args) \
|
#define GEN_CALLBACK_HEAD(fn_ret, ret_value, fn_name, named_args, args) \
|
||||||
typedef fn_ret (*fn_name##Callback)(LIST named_args); \
|
typedef fn_ret (*fn_name##Callback)(LIST named_args); \
|
||||||
static fn_name##Callback * internal##fn_name##Callback = NULL; \
|
|
||||||
fn_ret fn_name(LIST named_args);
|
fn_ret fn_name(LIST named_args);
|
||||||
|
|
||||||
// Generate a callback that returns a void.
|
// Generate a callback that returns a void.
|
||||||
#define GEN_CALLBACK_HEAD_VOID(fn_name, named_args, args) \
|
#define GEN_CALLBACK_HEAD_VOID(fn_name, named_args, args) \
|
||||||
typedef void (*fn_name##Callback)(LIST named_args); \
|
typedef void (*fn_name##Callback)(LIST named_args); \
|
||||||
static fn_name##Callback * internal##fn_name##Callback = NULL; \
|
|
||||||
void fn_name(LIST named_args);
|
void fn_name(LIST named_args);
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
@ -141,7 +139,7 @@ GEN_CALLBACK_HEAD_VOID(SetWindowSize, (int width, int height), (width,height))
|
||||||
#define GEN_FIELD(fn_name) fn_name##Callback fn_name;
|
#define GEN_FIELD(fn_name) fn_name##Callback fn_name;
|
||||||
|
|
||||||
// The avaliable functions you can pass to OverrideInternalFunction.
|
// The avaliable functions you can pass to OverrideInternalFunction.
|
||||||
// The fields are only accessible when compiling with PLATFORM_NONE or PLATFORM_OFFSCREEN
|
// The fields are only accessible when compiling with PLATFORM_NONE or PLATFORM_EMBEDDABLE
|
||||||
union OverridableFunctionPointer {
|
union OverridableFunctionPointer {
|
||||||
GEN_FIELD(InitPlatform)
|
GEN_FIELD(InitPlatform)
|
||||||
GEN_FIELD(WindowShouldClose)
|
GEN_FIELD(WindowShouldClose)
|
||||||
|
|
@ -189,6 +187,7 @@ union OverridableFunctionPointer {
|
||||||
GEN_FIELD(GetClipboardText)
|
GEN_FIELD(GetClipboardText)
|
||||||
GEN_FIELD(GetKeyName)
|
GEN_FIELD(GetKeyName)
|
||||||
GEN_FIELD(GetTime)
|
GEN_FIELD(GetTime)
|
||||||
|
GEN_FIELD(OpenURL)
|
||||||
};
|
};
|
||||||
|
|
||||||
void OverrideInternalFunction(const char * funcName, union OverridableFunctionPointer * func);
|
void OverrideInternalFunction(const char * funcName, union OverridableFunctionPointer * func);
|
||||||
|
|
|
||||||
|
|
@ -361,7 +361,7 @@ const char *TextFormat(const char *text, ...); // Formatting of tex
|
||||||
#include "platforms/rcore_android.c"
|
#include "platforms/rcore_android.c"
|
||||||
#elif defined(PLATFORM_NONE)
|
#elif defined(PLATFORM_NONE)
|
||||||
#include "platforms/rcore_none.c"
|
#include "platforms/rcore_none.c"
|
||||||
#elif defined(PLATFORM_OFFSCREEN)
|
#elif defined(PLATFORM_EMBEDDABLE)
|
||||||
#include "platforms/rcore_none.c"
|
#include "platforms/rcore_none.c"
|
||||||
#else
|
#else
|
||||||
// TODO: Include your custom platform backend!
|
// TODO: Include your custom platform backend!
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,13 @@
|
||||||
#include <raylib.h>
|
#include <raylib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef PLATFORM_NONE
|
||||||
|
#include "platforms/rcore_none.h"
|
||||||
|
#endif
|
||||||
|
#ifdef PLATFORM_EMBEDDABLE
|
||||||
|
#include "platforms/rcore_none.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Defines and Macros
|
// Defines and Macros
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
11
src/rmod.h
11
src/rmod.h
|
|
@ -1,11 +0,0 @@
|
||||||
#ifndef RMOD_H
|
|
||||||
#define RMOD_H
|
|
||||||
|
|
||||||
#ifdef PLATFORM_NONE
|
|
||||||
#include "platforms/rcore_none.h"
|
|
||||||
#endif
|
|
||||||
#ifdef PLATFORM_OFFSCREEN
|
|
||||||
#include "platforms/rcore_none.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // RMOD_H
|
|
||||||
Loading…
Reference in New Issue
Block a user