laters: Expose MetaLaters publicly
Will allow not having to use the context-less meta_later_add(). Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2264>
This commit is contained in:
parent
73c010d8b0
commit
dd14592314
@ -72,8 +72,6 @@ ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
|
|||||||
|
|
||||||
gboolean meta_compositor_is_switching_workspace (MetaCompositor *compositor);
|
gboolean meta_compositor_is_switching_workspace (MetaCompositor *compositor);
|
||||||
|
|
||||||
MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
|
|
||||||
|
|
||||||
void meta_compositor_grab_begin (MetaCompositor *compositor);
|
void meta_compositor_grab_begin (MetaCompositor *compositor);
|
||||||
void meta_compositor_grab_end (MetaCompositor *compositor);
|
void meta_compositor_grab_end (MetaCompositor *compositor);
|
||||||
|
|
||||||
|
@ -18,8 +18,7 @@
|
|||||||
#ifndef META_LATER_PRIVATE_H
|
#ifndef META_LATER_PRIVATE_H
|
||||||
#define META_LATER_PRIVATE_H
|
#define META_LATER_PRIVATE_H
|
||||||
|
|
||||||
typedef struct _MetaLaters MetaLaters;
|
#include <meta/types.h>
|
||||||
typedef struct _MetaCompositor MetaCompositor;
|
|
||||||
|
|
||||||
MetaLaters * meta_laters_new (MetaCompositor *compositor);
|
MetaLaters * meta_laters_new (MetaCompositor *compositor);
|
||||||
|
|
||||||
|
@ -208,7 +208,25 @@ invoke_later_idle (gpointer data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int
|
/**
|
||||||
|
* meta_laters_add:
|
||||||
|
* @laters: a #MetaLaters
|
||||||
|
* @when: enumeration value determining the phase at which to run the callback
|
||||||
|
* @func: callback to run later
|
||||||
|
* @user_data: data to pass to the callback
|
||||||
|
* @notify: function to call to destroy @data when it is no longer in use, or %NULL
|
||||||
|
*
|
||||||
|
* Sets up a callback to be called at some later time. @when determines the
|
||||||
|
* particular later occasion at which it is called. This is much like g_idle_add(),
|
||||||
|
* except that the functions interact properly with clutter event handling.
|
||||||
|
* If a "later" function is added from a clutter event handler, and is supposed
|
||||||
|
* to be run before the stage is redrawn, it will be run before that redraw
|
||||||
|
* of the stage, not the next one.
|
||||||
|
*
|
||||||
|
* Return value: an integer ID (guaranteed to be non-zero) that can be used
|
||||||
|
* to cancel the callback and prevent it from being run.
|
||||||
|
*/
|
||||||
|
unsigned int
|
||||||
meta_laters_add (MetaLaters *laters,
|
meta_laters_add (MetaLaters *laters,
|
||||||
MetaLaterType when,
|
MetaLaterType when,
|
||||||
GSourceFunc func,
|
GSourceFunc func,
|
||||||
@ -287,7 +305,14 @@ meta_later_add (MetaLaterType when,
|
|||||||
when, func, data, notify);
|
when, func, data, notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
/**
|
||||||
|
* meta_laters_remove:
|
||||||
|
* @laters: a #MetaLaters
|
||||||
|
* @later_id: the integer ID returned from meta_later_add()
|
||||||
|
*
|
||||||
|
* Removes a callback added with meta_later_add()
|
||||||
|
*/
|
||||||
|
void
|
||||||
meta_laters_remove (MetaLaters *laters,
|
meta_laters_remove (MetaLaters *laters,
|
||||||
unsigned int later_id)
|
unsigned int later_id)
|
||||||
{
|
{
|
||||||
|
@ -162,4 +162,7 @@ void meta_compositor_show_window_menu_for_rect (MetaCompositor *compositor,
|
|||||||
MetaWindowMenuType menu,
|
MetaWindowMenuType menu,
|
||||||
MetaRectangle *rect);
|
MetaRectangle *rect);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
|
||||||
|
|
||||||
#endif /* META_COMPOSITOR_H */
|
#endif /* META_COMPOSITOR_H */
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
#ifndef META_LATER_H
|
#ifndef META_LATER_H
|
||||||
#define META_LATER_H
|
#define META_LATER_H
|
||||||
|
|
||||||
|
#include <meta/types.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MetaLaterType:
|
* MetaLaterType:
|
||||||
* @META_LATER_RESIZE: call in a resize processing phase that is done
|
* @META_LATER_RESIZE: call in a resize processing phase that is done
|
||||||
@ -50,4 +52,15 @@ guint meta_later_add (MetaLaterType when,
|
|||||||
META_EXPORT
|
META_EXPORT
|
||||||
void meta_later_remove (guint later_id);
|
void meta_later_remove (guint later_id);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
unsigned int meta_laters_add (MetaLaters *laters,
|
||||||
|
MetaLaterType when,
|
||||||
|
GSourceFunc func,
|
||||||
|
gpointer user_data,
|
||||||
|
GDestroyNotify notify);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
void meta_laters_remove (MetaLaters *laters,
|
||||||
|
unsigned int later_id);
|
||||||
|
|
||||||
#endif /* META_LATER_H */
|
#endif /* META_LATER_H */
|
||||||
|
@ -32,6 +32,7 @@ typedef struct _MetaX11Display MetaX11Display;
|
|||||||
typedef struct _MetaFrame MetaFrame;
|
typedef struct _MetaFrame MetaFrame;
|
||||||
typedef struct _MetaWindow MetaWindow;
|
typedef struct _MetaWindow MetaWindow;
|
||||||
typedef struct _MetaWorkspace MetaWorkspace;
|
typedef struct _MetaWorkspace MetaWorkspace;
|
||||||
|
typedef struct _MetaLaters MetaLaters;
|
||||||
/**
|
/**
|
||||||
* MetaGroup: (skip)
|
* MetaGroup: (skip)
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user