From e83c2b421d140244a6b9edb051b3e0d4aacda332 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 22 Jul 2019 16:30:53 +0200 Subject: Add PuglWorld The old API was broken for programs that manage multiple views, since it was impossible to wait for events on any view. There are also several functions in the API which are not actually associated with views at all, so those can now be moved to the more appropriate PuglWorld to make this more clear. The old puglInit() and puglDestroy() functions are preserved for compatibility, but marked as deprecated. --- pugl/detail/implementation.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pugl/detail/implementation.h') diff --git a/pugl/detail/implementation.h b/pugl/detail/implementation.h index 50f54f5..d6288a3 100644 --- a/pugl/detail/implementation.h +++ b/pugl/detail/implementation.h @@ -30,8 +30,17 @@ extern "C" { #endif -/** Allocate and initialise internals (implemented once per platform) */ -PuglInternals* puglInitInternals(void); +/** Allocate and initialise world internals (implemented once per platform) */ +PuglWorldInternals* puglInitWorldInternals(void); + +/** Destroy and free world internals (implemented once per platform) */ +void puglFreeWorldInternals(PuglWorld* world); + +/** Allocate and initialise view internals (implemented once per platform) */ +PuglInternals* puglInitViewInternals(void); + +/** Destroy and free view internals (implemented once per platform) */ +void puglFreeViewInternals(PuglView* view); /** Return the Unicode code point for `buf` or the replacement character. */ uint32_t puglDecodeUTF8(const uint8_t* buf); -- cgit v1.2.1