diff options
author | David Robillard <d@drobilla.net> | 2019-08-04 19:51:49 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-09-03 08:34:39 +0200 |
commit | 075c5c5927e511dd03d9608a285ed58ef395120b (patch) | |
tree | aadda860de0eecc07ef331cb94e9900068be200d | |
parent | e7ccbec8f5f0097ca54b8d7ea27e0815b069b57c (diff) |
Replace puglInitTransientFor() with puglSetTransientFor()
-rw-r--r-- | pugl/detail/implementation.c | 6 | ||||
-rw-r--r-- | pugl/detail/x11.c | 13 | ||||
-rw-r--r-- | pugl/pugl.h | 30 |
3 files changed, 34 insertions, 15 deletions
diff --git a/pugl/detail/implementation.c b/pugl/detail/implementation.c index f971284..a64e6fd 100644 --- a/pugl/detail/implementation.c +++ b/pugl/detail/implementation.c @@ -143,12 +143,6 @@ puglInitWindowParent(PuglView* view, PuglNativeWindow parent) view->parent = parent; } -void -puglInitTransientFor(PuglView* view, uintptr_t parent) -{ - view->transientParent = parent; -} - int puglInitBackend(PuglView* view, const PuglBackend* backend) { diff --git a/pugl/detail/x11.c b/pugl/detail/x11.c index d7b7677..ea8367c 100644 --- a/pugl/detail/x11.c +++ b/pugl/detail/x11.c @@ -761,3 +761,16 @@ puglSetAspectRatio(PuglView* const view, return PUGL_SUCCESS; } + +void +puglSetTransientFor(PuglView* view, PuglNativeWindow parent) +{ + Display* display = view->world->impl->display; + + view->transientParent = parent; + + if (view->impl->win) { + XSetTransientForHint(display, view->impl->win, + (Window)view->transientParent); + } +} diff --git a/pugl/pugl.h b/pugl/pugl.h index 26593f2..017338c 100644 --- a/pugl/pugl.h +++ b/pugl/pugl.h @@ -535,15 +535,6 @@ PUGL_API void puglInitWindowParent(PuglView* view, PuglNativeWindow parent); /** - Set transient parent before creating a window. - - On X11, parent must be a Window. - On OSX, parent must be an NSView*. -*/ -PUGL_API void -puglInitTransientFor(PuglView* view, uintptr_t parent); - -/** Set the graphics backend to use. This needs to be called once before creating the window to set the graphics @@ -646,6 +637,15 @@ PUGL_API PuglStatus puglSetAspectRatio(PuglView* view, int minX, int minY, int maxX, int maxY); /** + Set the transient parent of the window. + + This is used for things like dialogs, to have them associated with the + window they are a transient child of properly. +*/ +PUGL_API void +puglSetTransientFor(PuglView* view, PuglNativeWindow parent); + +/** @name Context Functions for accessing the drawing context. @{ @@ -842,6 +842,18 @@ puglInitWindowAspectRatio(PuglView* view, } /** + Set transient parent before creating a window. + + On X11, parent must be a Window. + On OSX, parent must be an NSView*. +*/ +static inline PUGL_DEPRECATED_BY("puglSetTransientFor") void +puglInitTransientFor(PuglView* view, uintptr_t parent) +{ + puglSetTransientFor(view, (PuglNativeWindow)parent); +} + +/** Enable or disable resizing before creating a window. @deprecated Use puglInitWindowHint() with @ref PUGL_RESIZABLE. |