summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/src/glcontext_html5.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/src/glcontext_html5.h')
-rw-r--r--3rdparty/bgfx/src/glcontext_html5.h50
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