summaryrefslogtreecommitdiff
path: root/clutter/clutter-backend.c
diff options
context:
space:
mode:
authorMarco Trevisan (TreviƱo) <marco@ubuntu.com>2015-02-20 17:41:49 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2015-02-21 00:46:17 +0000
commit77db9993391c8c575b5154cb4559417e2e90dd33 (patch)
tree9f303de121ca8de24265af0fbfa0be9d2dd55dff /clutter/clutter-backend.c
parent10cce0044006ee42e6e598f50af622ac63a324fd (diff)
downloadclutter-77db9993391c8c575b5154cb4559417e2e90dd33.tar.gz
clutter: add Mir windowing/input backend
Added support for Mir, now clutter can natively draw on MirSurfaces. This depends on latest cogl git. Run your clutter apps using CLUTTER_BACKEND=mir Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
Diffstat (limited to 'clutter/clutter-backend.c')
-rw-r--r--clutter/clutter-backend.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c
index 4b1795602..ac00d2708 100644
--- a/clutter/clutter-backend.c
+++ b/clutter/clutter-backend.c
@@ -89,6 +89,12 @@
#ifdef CLUTTER_INPUT_WAYLAND
#include "wayland/clutter-device-manager-wayland.h"
#endif
+#ifdef CLUTTER_WINDOWING_MIR
+#include "mir/clutter-backend-mir.h"
+#endif
+#ifdef CLUTTER_INPUT_MIR
+#include "mir/clutter-device-manager-mir.h"
+#endif
#ifdef HAVE_CLUTTER_WAYLAND_COMPOSITOR
#include <cogl/cogl-wayland-server.h>
@@ -511,6 +517,11 @@ _clutter_create_backend (void)
retval = g_object_new (CLUTTER_TYPE_BACKEND_EGL_NATIVE, NULL);
else
#endif
+#ifdef CLUTTER_WINDOWING_MIR
+ if (backend == NULL || backend == I_(CLUTTER_WINDOWING_MIR))
+ retval = g_object_new (CLUTTER_TYPE_BACKEND_MIR, NULL);
+ else
+#endif
if (backend == NULL)
g_error ("No default Clutter backend found.");
else
@@ -590,6 +601,14 @@ clutter_backend_real_init_events (ClutterBackend *backend)
}
else
#endif
+#ifdef CLUTTER_INPUT_MIR
+ if (clutter_check_windowing_backend (CLUTTER_WINDOWING_MIR) &&
+ (input_backend == NULL || input_backend == I_(CLUTTER_INPUT_MIR)))
+ {
+ _clutter_events_mir_init (backend);
+ }
+ else
+#endif
if (input_backend != NULL)
{
if (input_backend != I_(CLUTTER_INPUT_NULL))