Browse Source

Avoid multiple gl.h inclusions

Expose native Cocoa Window again...
pull/656/head
Ray 6 years ago
parent
commit
2652e7d1c1
2 changed files with 9 additions and 5 deletions
  1. +5
    -4
      src/core.c
  2. +4
    -1
      src/external/glfw/include/GLFW/glfw3native.h

+ 5
- 4
src/core.c View File

@ -141,7 +141,8 @@
#endif
#if defined(PLATFORM_DESKTOP)
//#define GLFW_INCLUDE_NONE // Disable the standard OpenGL header inclusion on GLFW3
#define GLFW_INCLUDE_NONE // Disable the standard OpenGL header inclusion on GLFW3
// NOTE: Already provided by rlgl implementation (on glad.h)
#include <GLFW/glfw3.h> // GLFW3 library: Windows, OpenGL context and Input management
// NOTE: GLFW3 already includes gl.h (OpenGL) headers
@ -166,7 +167,7 @@
#include <unistd.h> // Required for: usleep()
#include <objc/message.h> // Required for: objc_msgsend(), sel_registerName()
o">//#define GLFW_EXPOSE_NATIVE_COCOA // WARNING: typedef redefinition with different types ('void *' vs 'struct objc_object *')
cp">#define GLFW_EXPOSE_NATIVE_COCOA
#define GLFW_EXPOSE_NATIVE_NSGL
#include <GLFW/glfw3native.h> // Required for: glfwGetCocoaWindow(), glfwGetNSGLContext()
#endif
@ -821,8 +822,8 @@ void *GetWindowHandle(void)
//unsigned long id = (unsigned long)glfwGetX11Window(window);
return NULL; // TODO: Find a way to return value... cast to void *?
#elif defined(__APPLE__)
// NOTE: Returned handle is: kt">void *id
return nb">NULL; //glfwGetCocoaWindow(window); //
// NOTE: Returned handle is: p">(objc_object *)
return p">(void *)glfwGetCocoaWindow(window);
#else
return NULL;
#endif

+ 4
- 1
src/external/glfw/include/GLFW/glfw3native.h View File

@ -101,7 +101,10 @@ extern "C" {
#if defined(__OBJC__)
#import <Cocoa/Cocoa.h>
#else
typedef void* id;
// RAY: Added protection in case OBJC types defined
#if !defined(OBJC_TYPES_DEFINED)
typedef void* id;
#endif
#endif
#elif defined(GLFW_EXPOSE_NATIVE_X11)
#include <X11/Xlib.h>

Loading…
Cancel
Save