[metacity] compositor: add missing vfuncs
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] compositor: add missing vfuncs
- Date: Sun, 8 Jan 2017 19:54:16 +0000 (UTC)
commit d259ff5b7ad5dc72cdca2df50c45acc18b4e4076
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Sun Jan 8 20:05:15 2017 +0200
compositor: add missing vfuncs
src/compositor/compositor-none.c | 50 ++++++++++---
src/compositor/compositor-private.h | 14 ++++
src/compositor/compositor-xrender.c | 137 +++++++++++++++++------------------
src/compositor/compositor.c | 6 ++
4 files changed, 125 insertions(+), 82 deletions(-)
---
diff --git a/src/compositor/compositor-none.c b/src/compositor/compositor-none.c
index 31280ef..56044ae 100644
--- a/src/compositor/compositor-none.c
+++ b/src/compositor/compositor-none.c
@@ -28,6 +28,12 @@ typedef struct
} MetaCompositorNone;
static void
+meta_compositor_none_destroy (MetaCompositor *compositor)
+{
+ g_free (compositor);
+}
+
+static void
meta_compositor_none_manage_screen (MetaCompositor *compositor,
MetaScreen *screen)
{
@@ -61,18 +67,6 @@ meta_compositor_none_set_updates (MetaCompositor *compositor,
}
static void
-meta_compositor_none_destroy (MetaCompositor *compositor)
-{
- g_free (compositor);
-}
-
-static void
-meta_compositor_none_free_window (MetaCompositor *compositor,
- MetaWindow *window)
-{
-}
-
-static void
meta_compositor_none_process_event (MetaCompositor *compositor,
XEvent *event,
MetaWindow *window)
@@ -94,6 +88,35 @@ meta_compositor_none_set_active_window (MetaCompositor *compositor,
}
static void
+meta_compositor_none_begin_move (MetaCompositor *compositor,
+ MetaWindow *window,
+ MetaRectangle *initial,
+ gint grab_x,
+ gint grab_y)
+{
+}
+
+static void
+meta_compositor_none_update_move (MetaCompositor *compositor,
+ MetaWindow *window,
+ gint x,
+ gint y)
+{
+}
+
+static void
+meta_compositor_none_end_move (MetaCompositor *compositor,
+ MetaWindow *window)
+{
+}
+
+static void
+meta_compositor_none_free_window (MetaCompositor *compositor,
+ MetaWindow *window)
+{
+}
+
+static void
meta_compositor_none_maximize_window (MetaCompositor *compositor,
MetaWindow *window)
{
@@ -115,6 +138,9 @@ static MetaCompositor comp_info = {
meta_compositor_none_process_event,
meta_compositor_none_get_window_surface,
meta_compositor_none_set_active_window,
+ meta_compositor_none_begin_move,
+ meta_compositor_none_update_move,
+ meta_compositor_none_end_move,
meta_compositor_none_free_window,
meta_compositor_none_maximize_window,
meta_compositor_none_unmaximize_window,
diff --git a/src/compositor/compositor-private.h b/src/compositor/compositor-private.h
index f323c4a..2ef817b 100644
--- a/src/compositor/compositor-private.h
+++ b/src/compositor/compositor-private.h
@@ -54,6 +54,20 @@ struct _MetaCompositor
MetaScreen *screen,
MetaWindow *window);
+ void (* begin_move) (MetaCompositor *compositor,
+ MetaWindow *window,
+ MetaRectangle *initial,
+ gint grab_x,
+ gint grab_y);
+
+ void (* update_move) (MetaCompositor *compositor,
+ MetaWindow *window,
+ gint x,
+ gint y);
+
+ void (* end_move) (MetaCompositor *compositor,
+ MetaWindow *window);
+
void (* free_window) (MetaCompositor *compositor,
MetaWindow *window);
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
index 7df2885..eac8c27 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -3037,6 +3037,12 @@ get_output_window (MetaScreen *screen)
}
static void
+meta_compositor_xrender_destroy (MetaCompositor *compositor)
+{
+ g_free (compositor);
+}
+
+static void
meta_compositor_xrender_manage_screen (MetaCompositor *compositor,
MetaScreen *screen)
{
@@ -3203,76 +3209,6 @@ meta_compositor_xrender_set_updates (MetaCompositor *compositor,
}
static void
-meta_compositor_xrender_destroy (MetaCompositor *compositor)
-{
- g_free (compositor);
-}
-
-#if 0
-/* Taking these out because they're empty and never called, and the
- * compiler complains -- tthurman
- */
-
-static void
-xrender_begin_move (MetaCompositor *compositor,
- MetaWindow *window,
- MetaRectangle *initial,
- int grab_x,
- int grab_y)
-{
-}
-
-static void
-xrender_update_move (MetaCompositor *compositor,
- MetaWindow *window,
- int x,
- int y)
-{
-}
-
-static void
-xrender_end_move (MetaCompositor *compositor,
- MetaWindow *window)
-{
-}
-#endif /* 0 */
-
-static void
-meta_compositor_xrender_free_window (MetaCompositor *compositor,
- MetaWindow *window)
-{
- MetaCompositorXRender *xrc;
- MetaFrame *frame;
- Window xwindow;
- MetaCompWindow *cw;
-
- xrc = (MetaCompositorXRender *) compositor;
- frame = meta_window_get_frame (window);
-
- if (frame)
- xwindow = meta_frame_get_xwindow (frame);
- else
- xwindow = meta_window_get_xwindow (window);
-
- cw = find_window_in_display (xrc->display, xwindow);
- if (cw == NULL)
- return;
-
- cw->window = NULL;
- cw->attrs.map_state = IsUnmapped;
- cw->damaged = FALSE;
-
- if (cw->extents != None)
- {
- dump_xserver_region (xrc, "destroy_win", cw->extents);
- add_damage (xrc, cw->screen, cw->extents);
- cw->extents = None;
- }
-
- free_win (cw, FALSE);
-}
-
-static void
meta_compositor_xrender_process_event (MetaCompositor *compositor,
XEvent *event,
MetaWindow *window)
@@ -3625,6 +3561,64 @@ meta_compositor_xrender_set_active_window (MetaCompositor *compositor,
}
static void
+meta_compositor_xrender_begin_move (MetaCompositor *compositor,
+ MetaWindow *window,
+ MetaRectangle *initial,
+ gint grab_x,
+ gint grab_y)
+{
+}
+
+static void
+meta_compositor_xrender_update_move (MetaCompositor *compositor,
+ MetaWindow *window,
+ gint x,
+ gint y)
+{
+}
+
+static void
+meta_compositor_xrender_end_move (MetaCompositor *compositor,
+ MetaWindow *window)
+{
+}
+
+static void
+meta_compositor_xrender_free_window (MetaCompositor *compositor,
+ MetaWindow *window)
+{
+ MetaCompositorXRender *xrc;
+ MetaFrame *frame;
+ Window xwindow;
+ MetaCompWindow *cw;
+
+ xrc = (MetaCompositorXRender *) compositor;
+ frame = meta_window_get_frame (window);
+
+ if (frame)
+ xwindow = meta_frame_get_xwindow (frame);
+ else
+ xwindow = meta_window_get_xwindow (window);
+
+ cw = find_window_in_display (xrc->display, xwindow);
+ if (cw == NULL)
+ return;
+
+ cw->window = NULL;
+ cw->attrs.map_state = IsUnmapped;
+ cw->damaged = FALSE;
+
+ if (cw->extents != None)
+ {
+ dump_xserver_region (xrc, "destroy_win", cw->extents);
+ add_damage (xrc, cw->screen, cw->extents);
+ cw->extents = None;
+ }
+
+ free_win (cw, FALSE);
+}
+
+static void
meta_compositor_xrender_maximize_window (MetaCompositor *compositor,
MetaWindow *window)
{
@@ -3662,6 +3656,9 @@ static MetaCompositor comp_info = {
meta_compositor_xrender_process_event,
meta_compositor_xrender_get_window_surface,
meta_compositor_xrender_set_active_window,
+ meta_compositor_xrender_begin_move,
+ meta_compositor_xrender_update_move,
+ meta_compositor_xrender_end_move,
meta_compositor_xrender_free_window,
meta_compositor_xrender_maximize_window,
meta_compositor_xrender_unmaximize_window,
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index c3f046f..4c565f3 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -127,6 +127,8 @@ meta_compositor_begin_move (MetaCompositor *compositor,
gint grab_x,
gint grab_y)
{
+ if (compositor && compositor->begin_move)
+ compositor->begin_move (compositor, window, initial, grab_x, grab_y);
}
void
@@ -135,12 +137,16 @@ meta_compositor_update_move (MetaCompositor *compositor,
gint x,
gint y)
{
+ if (compositor && compositor->update_move)
+ compositor->update_move (compositor, window, x, y);
}
void
meta_compositor_end_move (MetaCompositor *compositor,
MetaWindow *window)
{
+ if (compositor && compositor->end_move)
+ compositor->end_move (compositor, window);
}
void meta_compositor_free_window (MetaCompositor *compositor,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]