#ifndef DMSDK_GRAPHICS_NATIVE_H
#define DMSDK_GRAPHICS_NATIVE_H
#if defined(__APPLE_CC__)
#include <objc/objc.h>
#else
typedef void* id;
#endif
#if defined(ANDROID)
#include <EGL/egl.h>
#include <GLES/gl.h>
#include <android/native_window.h>
#include <android_native_app_glue.h>
#else
typedef void* EGLContext;
typedef void* EGLSurface;
typedef void* JavaVM;
typedef void* jobject;
typedef void* android_app;
#endif
#if defined(_WIN32)
#include <Windows.h>
#else
typedef void* HWND;
typedef void* HGLRC;
#endif
#if defined(__linux__) && !defined(ANDROID)
#include <GL/glx.h>
#else
typedef void* Window;
typedef void* GLXContext;
#endif
#if defined(__EMSCRIPTEN__)
#endif
namespace dmGraphics
{
id GetNativeiOSUIWindow(void);
id GetNativeiOSUIView(void);
id GetNativeiOSEAGLContext(void);
id GetNativeOSXNSWindow(void);
id GetNativeOSXNSView(void);
id GetNativeOSXNSOpenGLContext(void);
HWND GetNativeWindowsHWND(void);
HGLRC GetNativeWindowsHGLRC(void);
EGLContext GetNativeAndroidEGLContext(void);
EGLSurface GetNativeAndroidEGLSurface(void);
JavaVM* GetNativeAndroidJavaVM(void);
jobject GetNativeAndroidActivity(void);
android_app* GetNativeAndroidApp(void);
Window GetNativeX11Window(void);
GLXContext GetNativeX11GLXContext(void);
}
#endif