From 7ce9b578a4433f9606b14291fb3b816aa67999d9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 22 Nov 2020 12:34:35 +0100 Subject: Move puglEnterContext and puglLeaveContext to GL backends These only do anything for OpenGL, and it seems unlikely that they will ever be used for anything else. So, move them to the GL headers to remove clutter from the core API, and ensure that they are only used in GL applications that include the appropriate headers and link with a GL backend. Also add missing C++ bindings. --- include/pugl/gl.h | 18 ++++++++++++++++++ include/pugl/pugl.h | 30 ------------------------------ 2 files changed, 18 insertions(+), 30 deletions(-) (limited to 'include/pugl') diff --git a/include/pugl/gl.h b/include/pugl/gl.h index 36b2887..79cb6e9 100644 --- a/include/pugl/gl.h +++ b/include/pugl/gl.h @@ -73,6 +73,24 @@ typedef void (*PuglGlFunc)(void); PUGL_API PuglGlFunc puglGetProcAddress(const char* name); +/** + Enter the OpenGL context. + + This can be used to enter the graphics context in unusual situations, for + doing things like loading textures. Note that this must not be used for + drawing, which may only be done while processing an expose event. +*/ +PUGL_API PuglStatus +puglEnterContext(PuglView* view); + +/** + Leave the OpenGL context. + + This must only be called after puglEnterContext(). +*/ +PUGL_API PuglStatus +puglLeaveContext(PuglView* view); + /** OpenGL graphics backend. diff --git a/include/pugl/pugl.h b/include/pugl/pugl.h index 4018c45..30d92c6 100644 --- a/include/pugl/pugl.h +++ b/include/pugl/pugl.h @@ -1063,36 +1063,6 @@ puglGetNativeWindow(PuglView* view); @{ */ -/** - Enter the graphics context. - - This can be used to enter the graphics context in unusual situations, for - doing things like loading textures. Note that this must not be used for - drawing, which may only be done while processing an expose event. Note also - that initial setup should not use this, but instead be done while handling a - #PUGL_CREATE event. - - - Cairo: Does nothing. - - OpenGL: Sets the current OpenGL context. - - Stub: Does nothing. - - Vulkan: Does nothing. -*/ -PUGL_API PuglStatus -puglEnterContext(PuglView* view); - -/** - Leave the graphics context. - - This must only be called after puglEnterContext(). - - - Cairo: Does nothing. - - OpenGL: Resets the current OpenGL context. - - Stub: Does nothing. - - Vulkan: Does nothing. -*/ -PUGL_API PuglStatus -puglLeaveContext(PuglView* view); - /** Get the graphics context. -- cgit v1.2.1