summaryrefslogtreecommitdiff
path: root/libs/raylib/src/rglfw.c
diff options
context:
space:
mode:
authorLuca Sas <sas.luca.alex@gmail.com>2020-03-06 17:48:44 +0000
committerLuca Sas <sas.luca.alex@gmail.com>2020-03-06 17:48:44 +0000
commit581538a8b371c0a9003dc0f1bf081222b8c4fdd9 (patch)
treef5759a699424211d4a66e24365a596072818ab33 /libs/raylib/src/rglfw.c
downloadgamejam-slgj-2024-581538a8b371c0a9003dc0f1bf081222b8c4fdd9.tar.gz
gamejam-slgj-2024-581538a8b371c0a9003dc0f1bf081222b8c4fdd9.tar.bz2
gamejam-slgj-2024-581538a8b371c0a9003dc0f1bf081222b8c4fdd9.zip
Setup the project
Diffstat (limited to 'libs/raylib/src/rglfw.c')
-rw-r--r--libs/raylib/src/rglfw.c120
1 files changed, 120 insertions, 0 deletions
diff --git a/libs/raylib/src/rglfw.c b/libs/raylib/src/rglfw.c
new file mode 100644
index 0000000..840805a
--- /dev/null
+++ b/libs/raylib/src/rglfw.c
@@ -0,0 +1,120 @@
+/**********************************************************************************************
+*
+* rglfw - raylib GLFW single file compilation
+*
+* This file includes latest GLFW sources (https://github.com/glfw/glfw) to be compiled together
+* with raylib for all supported platforms, this way, no external dependencies are required.
+*
+* LICENSE: zlib/libpng
+*
+* Copyright (c) 2017-2020 Ramon Santamaria (@raysan5)
+*
+* This software is provided "as-is", without any express or implied warranty. In no event
+* will the authors be held liable for any damages arising from the use of this software.
+*
+* Permission is granted to anyone to use this software for any purpose, including commercial
+* applications, and to alter it and redistribute it freely, subject to the following restrictions:
+*
+* 1. The origin of this software must not be misrepresented; you must not claim that you
+* wrote the original software. If you use this software in a product, an acknowledgment
+* in the product documentation would be appreciated but is not required.
+*
+* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
+* as being the original software.
+*
+* 3. This notice may not be removed or altered from any source distribution.
+*
+**********************************************************************************************/
+
+//#define _GLFW_BUILD_DLL // To build shared version
+//http://www.glfw.org/docs/latest/compile.html#compile_manual
+
+#if defined(_WIN32)
+ #define _GLFW_WIN32
+#endif
+#if defined(__linux__)
+ #if !defined(_GLFW_WAYLAND) // Required for Wayland windowing
+ #define _GLFW_X11
+ #endif
+#endif
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
+ #define _GLFW_X11
+#endif
+#if defined(__APPLE__)
+ #define _GLFW_COCOA
+ #define _GLFW_USE_MENUBAR // To create and populate the menu bar when the first window is created
+ #define _GLFW_USE_RETINA // To have windows use the full resolution of Retina displays
+#endif
+#if defined(__TINYC__)
+ #define _WIN32_WINNT_WINXP 0x0501
+#endif
+
+// NOTE: _GLFW_MIR experimental platform not supported at this moment
+
+#include "external/glfw/src/context.c"
+#include "external/glfw/src/init.c"
+#include "external/glfw/src/input.c"
+#include "external/glfw/src/monitor.c"
+#include "external/glfw/src/vulkan.c"
+#include "external/glfw/src/window.c"
+
+#if defined(_WIN32)
+ #include "external/glfw/src/win32_init.c"
+ #include "external/glfw/src/win32_joystick.c"
+ #include "external/glfw/src/win32_monitor.c"
+ #include "external/glfw/src/win32_time.c"
+ #include "external/glfw/src/win32_thread.c"
+ #include "external/glfw/src/win32_window.c"
+ #include "external/glfw/src/wgl_context.c"
+ #include "external/glfw/src/egl_context.c"
+ #include "external/glfw/src/osmesa_context.c"
+#endif
+
+#if defined(__linux__)
+ #if defined(_GLFW_WAYLAND)
+ #include "external/glfw/src/wl_init.c"
+ #include "external/glfw/src/wl_monitor.c"
+ #include "external/glfw/src/wl_window.c"
+ #include "external/glfw/src/wayland-pointer-constraints-unstable-v1-client-protocol.c"
+ #include "external/glfw/src/wayland-relative-pointer-unstable-v1-client-protocol.c"
+ #endif
+ #if defined(_GLFW_X11)
+ #include "external/glfw/src/x11_init.c"
+ #include "external/glfw/src/x11_monitor.c"
+ #include "external/glfw/src/x11_window.c"
+ #include "external/glfw/src/glx_context.c"
+ #endif
+
+ #include "external/glfw/src/linux_joystick.c"
+ #include "external/glfw/src/posix_thread.c"
+ #include "external/glfw/src/posix_time.c"
+ #include "external/glfw/src/xkb_unicode.c"
+ #include "external/glfw/src/egl_context.c"
+ #include "external/glfw/src/osmesa_context.c"
+#endif
+
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__) || defined(__DragonFly__)
+ #include "external/glfw/src/x11_init.c"
+ #include "external/glfw/src/x11_monitor.c"
+ #include "external/glfw/src/x11_window.c"
+ #include "external/glfw/src/xkb_unicode.c"
+ // TODO: Joystick implementation
+ #include "external/glfw/src/null_joystick.c"
+ #include "external/glfw/src/posix_time.c"
+ #include "external/glfw/src/posix_thread.c"
+ #include "external/glfw/src/glx_context.c"
+ #include "external/glfw/src/egl_context.c"
+ #include "external/glfw/src/osmesa_context.c"
+#endif
+
+#if defined(__APPLE__)
+ #include "external/glfw/src/cocoa_init.m"
+ #include "external/glfw/src/cocoa_joystick.m"
+ #include "external/glfw/src/cocoa_monitor.m"
+ #include "external/glfw/src/cocoa_window.m"
+ #include "external/glfw/src/cocoa_time.c"
+ #include "external/glfw/src/posix_thread.c"
+ #include "external/glfw/src/nsgl_context.m"
+ #include "external/glfw/src/egl_context.c"
+ #include "external/glfw/src/osmesa_context.c"
+#endif