Mercurial > hg > pub > prymula > com
diff DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/include/pugl/gl.h @ 3:84e66ea83026
DPF-Prymula-audioplugins-0.231015-2
author | prymula <prymula76@outlook.com> |
---|---|
date | Mon, 16 Oct 2023 21:53:34 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/include/pugl/gl.h Mon Oct 16 21:53:34 2023 +0200 @@ -0,0 +1,94 @@ +// Copyright 2012-2020 David Robillard <d@drobilla.net> +// SPDX-License-Identifier: ISC + +#ifndef PUGL_GL_H +#define PUGL_GL_H + +#include "pugl/pugl.h" + +// IWYU pragma: begin_exports + +/* Unfortunately, GL includes vary across platforms, so include them here to + enable pure portable programs. */ + +#ifndef PUGL_NO_INCLUDE_GL_H +# ifdef __APPLE__ +# include <OpenGL/gl.h> +# else +# ifdef _WIN32 +# include <windows.h> +# endif +# include <GL/gl.h> +# endif +#endif + +#ifndef PUGL_NO_INCLUDE_GLU_H +# ifdef __APPLE__ +# include <OpenGL/glu.h> +# else +# ifdef _WIN32 +# include <windows.h> +# endif +# include <GL/glu.h> +# endif +#endif + +// IWYU pragma: end_exports + +PUGL_BEGIN_DECLS + +/** + @defgroup gl OpenGL + OpenGL graphics support. + @ingroup pugl + @{ +*/ + +/** + OpenGL extension function. +*/ +typedef void (*PuglGlFunc)(void); + +/** + Return the address of an OpenGL extension function. +*/ +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. + + Pass the returned value to puglSetBackend() to draw to a view with OpenGL. +*/ +PUGL_CONST_API +const PuglBackend* +puglGlBackend(void); + +PUGL_END_DECLS + +/** + @} +*/ + +#endif // PUGL_GL_H