From 646af656d4094d44ad0fed615429cb8585db5724 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 8 Mar 2020 17:47:10 +0100 Subject: Add a user data handle to the world --- pugl/pugl.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pugl/pugl.h') diff --git a/pugl/pugl.h b/pugl/pugl.h index 7b45f2d..d14c086 100644 --- a/pugl/pugl.h +++ b/pugl/pugl.h @@ -461,6 +461,11 @@ puglStrerror(PuglStatus status); */ typedef struct PuglWorldImpl PuglWorld; +/** + Handle for the world's opaque user data. +*/ +typedef void* PuglWorldHandle; + /** Create a new world. @@ -475,6 +480,23 @@ puglNewWorld(void); PUGL_API void puglFreeWorld(PuglWorld* world); +/** + Set the user data for the world. + + This is usually a pointer to a struct that contains all the state which must + be accessed by several views. + + The handle is opaque to Pugl and is not interpreted in any way. +*/ +PUGL_API void +puglSetWorldHandle(PuglWorld* world, PuglWorldHandle handle); + +/** + Get the user data for the world. +*/ +PUGL_API PuglWorldHandle +puglGetWorldHandle(PuglWorld* world); + /** Return a pointer to the native handle of the world. @@ -580,7 +602,7 @@ typedef struct PuglBackendImpl PuglBackend; typedef uintptr_t PuglNativeWindow; /** - Handle for opaque user data. + Handle for a view's opaque user data. */ typedef void* PuglHandle; -- cgit v1.2.1