bgfx/include/bgfxplatform.h

67 lines
1.4 KiB
C
Raw Normal View History

/*
* Copyright 2011-2013 Branimir Karadzic. All rights reserved.
* License: http://www.opensource.org/licenses/BSD-2-Clause
*/
#ifndef __BGFXPLATFORM_H__
#define __BGFXPLATFORM_H__
2013-01-14 01:44:04 -05:00
// NOTICE:
// This header file contains platform specific interfaces. It is only
// necessary to use this header in conjunction with creating windows.
#include <bx/bx.h>
2013-04-16 02:10:32 -04:00
#if BX_PLATFORM_ANDROID
2013-04-19 00:16:09 -04:00
# include <android/native_window.h>
2013-04-16 02:10:32 -04:00
namespace bgfx
{
2013-04-19 00:16:09 -04:00
void androidSetWindow(::ANativeWindow* _window);
2013-04-16 02:10:32 -04:00
} // namespace bgfx
2013-07-21 17:44:53 -04:00
#elif BX_PLATFORM_IOS
namespace bgfx
{
2013-07-21 18:38:44 -04:00
void iosSetEaglLayer(void* _layer);
2013-07-21 17:44:53 -04:00
} // namespace bgfx
2013-04-16 02:10:32 -04:00
#elif BX_PLATFORM_LINUX
# include <X11/Xlib.h>
namespace bgfx
{
void x11SetDisplayWindow(::Display* _display, ::Window _window);
} // namespace bgfx
#elif BX_PLATFORM_NACL
# include <ppapi/c/ppb_graphics_3d.h>
# include <ppapi/c/ppb_instance.h>
namespace bgfx
{
typedef void (*PostSwapBuffersFn)(uint32_t _width, uint32_t _height);
void naclSetIntefraces(::PP_Instance, const ::PPB_Instance*, const ::PPB_Graphics3D*, PostSwapBuffersFn);
} // namespace bgfx
2013-04-19 00:16:09 -04:00
#elif BX_PLATFORM_OSX
# include <Cocoa/Cocoa.h>
# include <stdlib.h>
namespace bgfx
{
2013-04-19 02:32:12 -04:00
void osxSetNSWindow(void* _window);
} // namespace bgfx
2013-04-19 00:16:09 -04:00
#elif BX_PLATFORM_WINDOWS
# include <windows.h>
namespace bgfx
{
2013-04-19 02:32:12 -04:00
void winSetHwnd(::HWND _window);
} // namespace bgfx
#endif // BX_PLATFORM_
#endif // __BGFXPLATFORM_H__