initial infrastructure for handling modal dialogs on macOS

This commit is contained in:
Paul Davis 2024-08-19 11:19:26 -06:00
parent 002eabc01f
commit 221fd82d59
4 changed files with 15 additions and 1 deletions

View file

@ -159,6 +159,7 @@ typedef struct {
int dx, dy; /* The amount that the source was moved to reach dest_region */
} GdkWindowRegionMove;
void (*_gdk_modal_motify)(GdkWindowModalNotify) = 0;
/* Global info */
@ -11408,6 +11409,11 @@ gdk_window_get_height (GdkWindow *window)
return height;
}
void
gdk_window_set_modal_notify (void (*modal_notify)(GdkWindow*,gboolean))
{
_gdk_modal_motify = modal_notify;
}
#define __GDK_WINDOW_C__
#include "gdkaliasdef.c"

View file

@ -2389,6 +2389,9 @@ gdk_window_set_modal_hint (GdkWindow *window,
!WINDOW_IS_TOPLEVEL (window))
return;
if (_gdk_modal_notify) {
_gdk_modal_notify (window, modal);
}
/* FIXME: Implement */
}

View file

@ -709,6 +709,8 @@ void _gdk_offscreen_window_new (GdkWindow *window,
void _gdk_image_exit (void);
void _gdk_windowing_exit (void);
extern void (*_gdk_modal_motify)(GdkWindowModalNotify);
G_END_DECLS
#endif /* __GDK_INTERNALS_H__ */

View file

@ -406,7 +406,7 @@ void gdk_window_move_region (GdkWindow *window,
gint dy);
gboolean gdk_window_ensure_native (GdkWindow *window);
/*
/*
* This allows for making shaped (partially transparent) windows
* - cool feature, needed for Drag and Drag for example.
* The shape_mask can be the mask
@ -508,6 +508,9 @@ gboolean gdk_window_get_modal_hint (GdkWindow *window);
void gdk_window_set_modal_hint (GdkWindow *window,
gboolean modal);
typedef void (*GdkWindowModalNotify)(GdkWindow*,gboolean);
void gdk_window_set_modal_notify (GdkWindowModalNotify);
void gdk_window_set_skip_taskbar_hint (GdkWindow *window,
gboolean skips_taskbar);
void gdk_window_set_skip_pager_hint (GdkWindow *window,