diff options
Diffstat (limited to '3rdparty/bgfx/src/glcontext_html5.h')
-rw-r--r-- | 3rdparty/bgfx/src/glcontext_html5.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/3rdparty/bgfx/src/glcontext_html5.h b/3rdparty/bgfx/src/glcontext_html5.h new file mode 100644 index 00000000000..e1b93799a75 --- /dev/null +++ b/3rdparty/bgfx/src/glcontext_html5.h @@ -0,0 +1,50 @@ +/* + * Copyright 2011-2022 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE + */ + +#ifndef BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD +#define BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD + +#if BGFX_USE_HTML5 + +namespace bgfx { namespace gl +{ + struct SwapChainGL; + + struct GlContext + { + GlContext() + : m_current(NULL) + , m_primary(NULL) + , m_msaaContext(false) + { + } + + void create(uint32_t _width, uint32_t _height, uint32_t _flags); + void destroy(); + void resize(uint32_t _width, uint32_t _height, uint32_t _flags); + + uint64_t getCaps() const; + SwapChainGL* createSwapChain(void* _nwh, int _width, int _height); + void destroySwapChain(SwapChainGL* _swapChain); + void swap(SwapChainGL* _swapChain = NULL); + void makeCurrent(SwapChainGL* _swapChain = NULL); + + void import(int webGLVersion); + + bool isValid() const + { + return NULL != m_primary; + } + + SwapChainGL* m_current; + SwapChainGL* m_primary; + // true when MSAA is handled by the context instead of using MSAA FBO + bool m_msaaContext; + }; +} /* namespace gl */ } // namespace bgfx + +#endif // BGFX_USE_HTML5 + +#endif // BGFX_GLCONTEXT_HTML5_H_HEADER_GUARD |