mirror of
https://github.com/brl/mutter.git
synced 2024-11-29 11:30:45 -05:00
37326e4a32
The repaint callbacks are not tied to repaint, thus a bit misleading. What the functionality in the pre/post-paint callbacks here cares about is when actually painting; the non-painting related parts has already moved out to a *-update signal. This also renames the related MetaWindowActorClass vfuncs, to align with naming convention of the signals that it listens to. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1285
79 lines
3.0 KiB
C
79 lines
3.0 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
#ifndef META_COMPOSITOR_PRIVATE_H
|
|
#define META_COMPOSITOR_PRIVATE_H
|
|
|
|
#include <X11/extensions/Xfixes.h>
|
|
|
|
#include "clutter/clutter.h"
|
|
#include "compositor/meta-plugin-manager.h"
|
|
#include "compositor/meta-window-actor-private.h"
|
|
#include "meta/compositor.h"
|
|
#include "meta/display.h"
|
|
|
|
/* Wait 2ms after vblank before starting to draw next frame */
|
|
#define META_SYNC_DELAY 2
|
|
|
|
typedef struct _MetaLaters MetaLaters;
|
|
|
|
struct _MetaCompositorClass
|
|
{
|
|
GObjectClass parent_class;
|
|
|
|
gboolean (* manage) (MetaCompositor *compositor,
|
|
GError **error);
|
|
void (* unmanage) (MetaCompositor *compositor);
|
|
void (* before_paint) (MetaCompositor *compositor);
|
|
void (* after_paint) (MetaCompositor *compositor);
|
|
void (* remove_window) (MetaCompositor *compositor,
|
|
MetaWindow *window);
|
|
};
|
|
|
|
gboolean meta_compositor_do_manage (MetaCompositor *compositor,
|
|
GError **error);
|
|
|
|
void meta_compositor_remove_window_actor (MetaCompositor *compositor,
|
|
MetaWindowActor *window_actor);
|
|
|
|
void meta_switch_workspace_completed (MetaCompositor *compositor);
|
|
|
|
gboolean meta_begin_modal_for_plugin (MetaCompositor *compositor,
|
|
MetaPlugin *plugin,
|
|
MetaModalOptions options,
|
|
guint32 timestamp);
|
|
void meta_end_modal_for_plugin (MetaCompositor *compositor,
|
|
MetaPlugin *plugin,
|
|
guint32 timestamp);
|
|
|
|
MetaPluginManager * meta_compositor_get_plugin_manager (MetaCompositor *compositor);
|
|
|
|
gint64 meta_compositor_monotonic_time_to_server_time (MetaDisplay *display,
|
|
gint64 monotonic_time);
|
|
|
|
void meta_compositor_flash_window (MetaCompositor *compositor,
|
|
MetaWindow *window);
|
|
|
|
MetaCloseDialog * meta_compositor_create_close_dialog (MetaCompositor *compositor,
|
|
MetaWindow *window);
|
|
|
|
MetaInhibitShortcutsDialog * meta_compositor_create_inhibit_shortcuts_dialog (MetaCompositor *compositor,
|
|
MetaWindow *window);
|
|
|
|
void meta_compositor_locate_pointer (MetaCompositor *compositor);
|
|
|
|
void meta_compositor_redirect_x11_windows (MetaCompositor *compositor);
|
|
|
|
gboolean meta_compositor_is_unredirect_inhibited (MetaCompositor *compositor);
|
|
|
|
MetaDisplay * meta_compositor_get_display (MetaCompositor *compositor);
|
|
|
|
MetaWindowActor * meta_compositor_get_top_window_actor (MetaCompositor *compositor);
|
|
|
|
ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
|
|
|
|
gboolean meta_compositor_is_switching_workspace (MetaCompositor *compositor);
|
|
|
|
MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
|
|
|
|
#endif /* META_COMPOSITOR_PRIVATE_H */
|