[mutter] MetaPlugin: add a size_changed vfunc



commit 9c03e78505900c700f5179ec13cf1c844d86a1d2
Author: Rui Matos <tiagomatos gmail com>
Date:   Mon Sep 26 15:54:54 2016 +0200

    MetaPlugin: add a size_changed vfunc
    
    This will be used to let plugins know when a previous size change
    actually becomes effective. This is needed to handle wayland client
    resizing properly since, unlike X, it's async.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=770345

 src/compositor/meta-plugin-manager.c |   11 +++++++++++
 src/compositor/meta-plugin-manager.h |    3 +++
 src/meta/meta-plugin.h               |    3 +++
 3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/compositor/meta-plugin-manager.c b/src/compositor/meta-plugin-manager.c
index ac5716d..1a1b000 100644
--- a/src/compositor/meta-plugin-manager.c
+++ b/src/compositor/meta-plugin-manager.c
@@ -202,6 +202,17 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr,
   return retval;
 }
 
+void
+meta_plugin_manager_event_size_changed (MetaPluginManager *plugin_mgr,
+                                        MetaWindowActor   *actor)
+{
+  MetaPlugin *plugin = plugin_mgr->plugin;
+  MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
+
+  if (klass->size_changed)
+    klass->size_changed (plugin, actor);
+}
+
 gboolean
 meta_plugin_manager_event_size_change (MetaPluginManager *plugin_mgr,
                                        MetaWindowActor   *actor,
diff --git a/src/compositor/meta-plugin-manager.h b/src/compositor/meta-plugin-manager.h
index 8851897..ff0b976 100644
--- a/src/compositor/meta-plugin-manager.h
+++ b/src/compositor/meta-plugin-manager.h
@@ -50,6 +50,9 @@ gboolean meta_plugin_manager_event_simple (MetaPluginManager *mgr,
                                            MetaWindowActor   *actor,
                                            MetaPluginEffect   event);
 
+void     meta_plugin_manager_event_size_changed   (MetaPluginManager *mgr,
+                                                   MetaWindowActor   *actor);
+
 gboolean meta_plugin_manager_event_size_change    (MetaPluginManager *mgr,
                                                    MetaWindowActor   *actor,
                                                    MetaSizeChange     which_change,
diff --git a/src/meta/meta-plugin.h b/src/meta/meta-plugin.h
index 77a3648..4f8136d 100644
--- a/src/meta/meta-plugin.h
+++ b/src/meta/meta-plugin.h
@@ -102,6 +102,9 @@ struct _MetaPluginClass
   void (*unminimize)       (MetaPlugin         *plugin,
                             MetaWindowActor    *actor);
 
+  void (*size_changed)     (MetaPlugin         *plugin,
+                            MetaWindowActor    *actor);
+
   void (*size_change)      (MetaPlugin         *plugin,
                             MetaWindowActor    *actor,
                             MetaSizeChange      which_change,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]