summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2017-01-08 20:05:15 +0200
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2017-01-08 20:05:15 +0200
commitd259ff5b7ad5dc72cdca2df50c45acc18b4e4076 (patch)
tree292157004be57493cdfc66c78d8d757f25894834
parentf0e4c22f04cf21520aa5d19711c4e70aca5b9190 (diff)
downloadmetacity-d259ff5b7ad5dc72cdca2df50c45acc18b4e4076.tar.gz
compositor: add missing vfuncs
-rw-r--r--src/compositor/compositor-none.c50
-rw-r--r--src/compositor/compositor-private.h14
-rw-r--r--src/compositor/compositor-xrender.c137
-rw-r--r--src/compositor/compositor.c6
4 files changed, 125 insertions, 82 deletions
diff --git a/src/compositor/compositor-none.c b/src/compositor/compositor-none.c
index 31280ef9..56044ae9 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 f323c4ac..2ef817b1 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 7df28853..eac8c274 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 c3f046ff..4c565f3d 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,