diff options
author | David Robillard <d@drobilla.net> | 2016-09-01 22:23:47 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2016-09-01 22:23:47 -0400 |
commit | ddfcee0fd3e6daf7174497c6a7183d83651a5c88 (patch) | |
tree | de8b1ac8a9636dc1166690ef60e148260e136340 /pugl/pugl.h | |
parent | a25ecaf03e75e61314b7271068a030b7d33eaf09 (diff) | |
download | pugl-ddfcee0fd3e6daf7174497c6a7183d83651a5c88.tar.gz pugl-ddfcee0fd3e6daf7174497c6a7183d83651a5c88.tar.bz2 pugl-ddfcee0fd3e6daf7174497c6a7183d83651a5c88.zip |
Expose puglEnterContext() and puglLeaveContext()
This allows code in the main thread to set up the GL context outside the
scope of a draw callback, which is useful for porting existing code that
assumes the GL context can be entered anywhere.
Diffstat (limited to 'pugl/pugl.h')
-rw-r--r-- | pugl/pugl.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/pugl/pugl.h b/pugl/pugl.h index 0c6dd79..c376d3f 100644 --- a/pugl/pugl.h +++ b/pugl/pugl.h @@ -141,7 +141,7 @@ typedef void (*PuglSpecialFunc)(PuglView* view, bool press, PuglKey key); */ /** - Create a Pugl context. + Create a Pugl view. To create a window, call the various puglInit* functions as necessary, then call puglCreateWindow(). @@ -310,6 +310,25 @@ PUGL_API void puglIgnoreKeyRepeat(PuglView* view, bool ignore); /** + Enter the drawing context. + + This must be called before any code that accesses the drawing context, + including any GL functions. This is only necessary for code that does so + outside the usual draw callback or handling of an expose event. +*/ +PUGL_API void +puglEnterContext(PuglView* view); + +/** + Leave the drawing context. + + This must be called after puglEnterContext and applies the results of the + drawing code (for example, by swapping buffers). +*/ +PUGL_API void +puglLeaveContext(PuglView* view, bool flush); + +/** @name Event Callbacks Functions to set event callbacks for handling user input. @{ |