compositor: Don't make internal API public

Things like meta_compositor_destroy() and meta_compositor_add_window()
isn't intended to be used externally, and if they was, things would
probably fall apart rather quickly.

MetaCompositor also isn't introspected, meaning things that technically
belong to the compositing parts isn't easily available via some object,
but much take detours via other objects like MetaDisplay.

So move the API intended for internal usage to compositor-private.h, and
leave API that is meant to be expose in the public compositor.h.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2718>
This commit is contained in:
Jonas Ådahl 2022-09-07 17:45:23 +02:00 committed by Robert Mader
parent 6487415e88
commit 4b3cab2cca
8 changed files with 82 additions and 99 deletions

View File

@ -81,8 +81,84 @@ ClutterStage * meta_compositor_get_stage (MetaCompositor *compositor);
gboolean meta_compositor_is_switching_workspace (MetaCompositor *compositor); gboolean meta_compositor_is_switching_workspace (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);
void meta_compositor_destroy (MetaCompositor *compositor);
void meta_compositor_manage (MetaCompositor *compositor);
void meta_compositor_unmanage (MetaCompositor *compositor);
void meta_compositor_window_shape_changed (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_window_opacity_changed (MetaCompositor *compositor,
MetaWindow *window);
gboolean meta_compositor_filter_keybinding (MetaCompositor *compositor,
MetaKeyBinding *binding);
void meta_compositor_add_window (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_remove_window (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_show_window (MetaCompositor *compositor,
MetaWindow *window,
MetaCompEffect effect);
void meta_compositor_hide_window (MetaCompositor *compositor,
MetaWindow *window,
MetaCompEffect effect);
void meta_compositor_switch_workspace (MetaCompositor *compositor,
MetaWorkspace *from,
MetaWorkspace *to,
MetaMotionDirection direction);
void meta_compositor_size_change_window (MetaCompositor *compositor,
MetaWindow *window,
MetaSizeChange which_change,
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect);
void meta_compositor_sync_window_geometry (MetaCompositor *compositor,
MetaWindow *window,
gboolean did_placement);
void meta_compositor_sync_updates_frozen (MetaCompositor *compositor,
MetaWindow *window);
void meta_compositor_queue_frame_drawn (MetaCompositor *compositor,
MetaWindow *window,
gboolean no_delay_frame);
void meta_compositor_sync_stack (MetaCompositor *compositor,
GList *stack);
void meta_compositor_flash_display (MetaCompositor *compositor,
MetaDisplay *display);
void meta_compositor_show_tile_preview (MetaCompositor *compositor,
MetaWindow *window,
MetaRectangle *tile_rect,
int tile_monitor_number);
void meta_compositor_hide_tile_preview (MetaCompositor *compositor);
void meta_compositor_show_window_menu (MetaCompositor *compositor,
MetaWindow *window,
MetaWindowMenuType menu,
int x,
int y);
void meta_compositor_show_window_menu_for_rect (MetaCompositor *compositor,
MetaWindow *window,
MetaWindowMenuType menu,
MetaRectangle *rect);
/* /*
* This function takes a 64 bit time stamp from the monotonic clock, and clamps * This function takes a 64 bit time stamp from the monotonic clock, and clamps
* it to the scope of the X server clock, without losing the granularity. * it to the scope of the X server clock, without losing the granularity.

View File

@ -38,9 +38,9 @@
#include <string.h> #include <string.h>
#include "compositor/compositor-private.h"
#include "core/display-private.h" #include "core/display-private.h"
#include "core/frame.h" #include "core/frame.h"
#include "meta/compositor.h"
#include "meta/meta-x11-errors.h" #include "meta/meta-x11-errors.h"
#include "meta/util.h" #include "meta/util.h"
#include "x11/meta-x11-display-private.h" #include "x11/meta-x11-display-private.h"

View File

@ -68,6 +68,7 @@
#include "backends/meta-backend-private.h" #include "backends/meta-backend-private.h"
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "cogl/cogl.h" #include "cogl/cogl.h"
#include "compositor/compositor-private.h"
#include "core/boxes-private.h" #include "core/boxes-private.h"
#include "core/constraints.h" #include "core/constraints.h"
#include "core/edge-resistance.h" #include "core/edge-resistance.h"

View File

@ -42,10 +42,10 @@
#include "backends/meta-cursor-tracker-private.h" #include "backends/meta-cursor-tracker-private.h"
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "cogl/cogl.h" #include "cogl/cogl.h"
#include "compositor/compositor-private.h"
#include "core/boxes-private.h" #include "core/boxes-private.h"
#include "core/meta-workspace-manager-private.h" #include "core/meta-workspace-manager-private.h"
#include "core/workspace-private.h" #include "core/workspace-private.h"
#include "meta/compositor.h"
#include "meta/meta-x11-errors.h" #include "meta/meta-x11-errors.h"
#include "meta/prefs.h" #include "meta/prefs.h"
#include "x11/meta-x11-display-private.h" #include "x11/meta-x11-display-private.h"

View File

@ -67,102 +67,6 @@ typedef enum
META_SIZE_CHANGE_MONITOR_MOVE, META_SIZE_CHANGE_MONITOR_MOVE,
} MetaSizeChange; } MetaSizeChange;
META_EXPORT
void meta_compositor_destroy (MetaCompositor *compositor);
META_EXPORT
void meta_compositor_manage (MetaCompositor *compositor);
META_EXPORT
void meta_compositor_unmanage (MetaCompositor *compositor);
META_EXPORT
void meta_compositor_window_shape_changed (MetaCompositor *compositor,
MetaWindow *window);
META_EXPORT
void meta_compositor_window_opacity_changed (MetaCompositor *compositor,
MetaWindow *window);
META_EXPORT
gboolean meta_compositor_filter_keybinding (MetaCompositor *compositor,
MetaKeyBinding *binding);
META_EXPORT
void meta_compositor_add_window (MetaCompositor *compositor,
MetaWindow *window);
META_EXPORT
void meta_compositor_remove_window (MetaCompositor *compositor,
MetaWindow *window);
META_EXPORT
void meta_compositor_show_window (MetaCompositor *compositor,
MetaWindow *window,
MetaCompEffect effect);
META_EXPORT
void meta_compositor_hide_window (MetaCompositor *compositor,
MetaWindow *window,
MetaCompEffect effect);
META_EXPORT
void meta_compositor_switch_workspace (MetaCompositor *compositor,
MetaWorkspace *from,
MetaWorkspace *to,
MetaMotionDirection direction);
META_EXPORT
void meta_compositor_size_change_window (MetaCompositor *compositor,
MetaWindow *window,
MetaSizeChange which_change,
MetaRectangle *old_frame_rect,
MetaRectangle *old_buffer_rect);
META_EXPORT
void meta_compositor_sync_window_geometry (MetaCompositor *compositor,
MetaWindow *window,
gboolean did_placement);
META_EXPORT
void meta_compositor_sync_updates_frozen (MetaCompositor *compositor,
MetaWindow *window);
META_EXPORT
void meta_compositor_queue_frame_drawn (MetaCompositor *compositor,
MetaWindow *window,
gboolean no_delay_frame);
META_EXPORT
void meta_compositor_sync_stack (MetaCompositor *compositor,
GList *stack);
META_EXPORT
void meta_compositor_flash_display (MetaCompositor *compositor,
MetaDisplay *display);
META_EXPORT
void meta_compositor_show_tile_preview (MetaCompositor *compositor,
MetaWindow *window,
MetaRectangle *tile_rect,
int tile_monitor_number);
META_EXPORT
void meta_compositor_hide_tile_preview (MetaCompositor *compositor);
META_EXPORT
void meta_compositor_show_window_menu (MetaCompositor *compositor,
MetaWindow *window,
MetaWindowMenuType menu,
int x,
int y);
META_EXPORT
void meta_compositor_show_window_menu_for_rect (MetaCompositor *compositor,
MetaWindow *window,
MetaWindowMenuType menu,
MetaRectangle *rect);
META_EXPORT META_EXPORT
MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor); MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);

View File

@ -32,6 +32,7 @@
#include "backends/meta-backend-private.h" #include "backends/meta-backend-private.h"
#include "backends/meta-backend-private.h" #include "backends/meta-backend-private.h"
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "compositor/compositor-private.h"
#include "compositor/meta-surface-actor-wayland.h" #include "compositor/meta-surface-actor-wayland.h"
#include "compositor/meta-window-actor-private.h" #include "compositor/meta-window-actor-private.h"
#include "core/boxes-private.h" #include "core/boxes-private.h"

View File

@ -44,6 +44,7 @@
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include "compositor/compositor-private.h"
#include "core/frame.h" #include "core/frame.h"
#include "core/meta-workspace-manager-private.h" #include "core/meta-workspace-manager-private.h"
#include "core/util-private.h" #include "core/util-private.h"

View File

@ -35,6 +35,7 @@
#include "backends/meta-logical-monitor.h" #include "backends/meta-logical-monitor.h"
#include "backends/x11/meta-backend-x11.h" #include "backends/x11/meta-backend-x11.h"
#include "compositor/compositor-private.h"
#include "compositor/meta-window-actor-private.h" #include "compositor/meta-window-actor-private.h"
#include "core/boxes-private.h" #include "core/boxes-private.h"
#include "core/frame.h" #include "core/frame.h"
@ -42,7 +43,6 @@
#include "core/window-private.h" #include "core/window-private.h"
#include "core/workspace-private.h" #include "core/workspace-private.h"
#include "meta/common.h" #include "meta/common.h"
#include "meta/compositor.h"
#include "meta/meta-cursor-tracker.h" #include "meta/meta-cursor-tracker.h"
#include "meta/meta-later.h" #include "meta/meta-later.h"
#include "meta/meta-x11-errors.h" #include "meta/meta-x11-errors.h"