diff --git a/clutter/clutter/Makefile.am b/clutter/clutter/Makefile.am
index b1cbe8174..b9bf68dc6 100644
--- a/clutter/clutter/Makefile.am
+++ b/clutter/clutter/Makefile.am
@@ -487,8 +487,8 @@ egl_source_h = \
egl/clutter-egl.h \
$(NULL)
-egl_source_h_priv = egl/clutter-backend-eglnative.h egl/clutter-stage-eglnative.h
-egl_source_c = egl/clutter-backend-eglnative.c egl/clutter-stage-eglnative.c
+egl_source_h_priv = egl/clutter-backend-eglnative.h
+egl_source_c = egl/clutter-backend-eglnative.c
wayland_compositor_source_h = \
wayland/clutter-wayland-compositor.h \
diff --git a/clutter/clutter/clutter-mutter.h b/clutter/clutter/clutter-mutter.h
index fec621446..0436631fd 100644
--- a/clutter/clutter/clutter-mutter.h
+++ b/clutter/clutter/clutter-mutter.h
@@ -27,7 +27,7 @@
#include "clutter-backend.h"
#include "clutter-macros.h"
-#include "egl/clutter-stage-eglnative.h"
+#include "cogl/clutter-stage-cogl.h"
#include "x11/clutter-stage-x11.h"
CLUTTER_AVAILABLE_IN_MUTTER
diff --git a/clutter/clutter/clutter-stage-window.h b/clutter/clutter/clutter-stage-window.h
index fa8982525..b12c4f386 100644
--- a/clutter/clutter/clutter-stage-window.h
+++ b/clutter/clutter/clutter-stage-window.h
@@ -90,6 +90,7 @@ struct _ClutterStageWindowIface
int (* get_scale_factor) (ClutterStageWindow *stage_window);
};
+CLUTTER_AVAILABLE_IN_MUTTER
GType _clutter_stage_window_get_type (void) G_GNUC_CONST;
ClutterActor * _clutter_stage_window_get_wrapper (ClutterStageWindow *window);
diff --git a/clutter/clutter/cogl/clutter-stage-cogl.h b/clutter/clutter/cogl/clutter-stage-cogl.h
index 8455405e3..16c9de8a1 100644
--- a/clutter/clutter/cogl/clutter-stage-cogl.h
+++ b/clutter/clutter/cogl/clutter-stage-cogl.h
@@ -23,6 +23,8 @@ G_BEGIN_DECLS
typedef struct _ClutterStageCogl ClutterStageCogl;
typedef struct _ClutterStageCoglClass ClutterStageCoglClass;
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterStageCogl, g_object_unref)
+
struct _ClutterStageCogl
{
GObject parent_instance;
@@ -70,6 +72,7 @@ struct _ClutterStageCoglClass
GObjectClass parent_class;
};
+CLUTTER_AVAILABLE_IN_MUTTER
GType _clutter_stage_cogl_get_type (void) G_GNUC_CONST;
G_END_DECLS
diff --git a/clutter/clutter/egl/clutter-backend-eglnative.c b/clutter/clutter/egl/clutter-backend-eglnative.c
index cbe206728..6f64379c5 100644
--- a/clutter/clutter/egl/clutter-backend-eglnative.c
+++ b/clutter/clutter/egl/clutter-backend-eglnative.c
@@ -53,8 +53,6 @@
#include "clutter-egl.h"
#endif
-#include "clutter-stage-eglnative.h"
-
G_DEFINE_TYPE (ClutterBackendEglNative, clutter_backend_egl_native, CLUTTER_TYPE_BACKEND);
static void
diff --git a/clutter/clutter/egl/clutter-stage-eglnative.c b/clutter/clutter/egl/clutter-stage-eglnative.c
deleted file mode 100644
index c2b179ddb..000000000
--- a/clutter/clutter/egl/clutter-stage-eglnative.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Clutter.
- *
- * An OpenGL based 'interactive canvas' library.
- *
- * Copyright (C) 2010 Intel Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see .
-
- * Authors:
- * Adel Gadllah
- */
-
-#ifdef HAVE_CONFIG_H
-#include "clutter-build-config.h"
-#endif
-
-#include
-
-#include "clutter-stage-window.h"
-#include "clutter-stage-private.h"
-#include "clutter-stage-eglnative.h"
-#include
-
-static ClutterStageWindowIface *clutter_stage_window_parent_iface = NULL;
-
-static void clutter_stage_window_iface_init (ClutterStageWindowIface *iface);
-
-#define clutter_stage_eglnative_get_type _clutter_stage_eglnative_get_type
-
-G_DEFINE_TYPE_WITH_CODE (ClutterStageEglNative,
- clutter_stage_eglnative,
- CLUTTER_TYPE_STAGE_COGL,
- G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_STAGE_WINDOW,
- clutter_stage_window_iface_init));
-
-static gboolean
-clutter_stage_eglnative_can_clip_redraws (ClutterStageWindow *stage_window)
-{
- return TRUE;
-}
-
-static void
-clutter_stage_eglnative_class_init (ClutterStageEglNativeClass *klass)
-{
-}
-
-static void
-clutter_stage_eglnative_init (ClutterStageEglNative *stage_eglnative)
-{
-}
-
-static void
-clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
-{
- clutter_stage_window_parent_iface = g_type_interface_peek_parent (iface);
-
- iface->can_clip_redraws = clutter_stage_eglnative_can_clip_redraws;
-}
diff --git a/clutter/clutter/egl/clutter-stage-eglnative.h b/clutter/clutter/egl/clutter-stage-eglnative.h
deleted file mode 100644
index 073ce92d8..000000000
--- a/clutter/clutter/egl/clutter-stage-eglnative.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Clutter.
- *
- * An OpenGL based 'interactive canvas' library.
- *
- * Copyright (C) 2010,2011 Intel Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see .
-
- * Authors:
- * Adel Gadllah
- */
-
-#ifndef __CLUTTER_STAGE_EGL_NATIVE_H__
-#define __CLUTTER_STAGE_EGL_NATIVE_H__
-
-#include
-#include
-
-#include "cogl/clutter-stage-cogl.h"
-
-#define CLUTTER_TYPE_STAGE_EGL_NATIVE (_clutter_stage_eglnative_get_type ())
-#define CLUTTER_STAGE_EGL_NATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_STAGE_EGL_NATIVE, ClutterStageEglNative))
-#define CLUTTER_IS_STAGE_EGL_NATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_STAGE_EGL_NATIVE))
-#define CLUTTER_STAGE_EGL_NATIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_STAGE_EGL_NATIVE, ClutterStageEglNativeClass))
-#define CLUTTER_IS_STAGE_EGL_NATIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_STAGE_EGL_NATIVE))
-#define CLUTTER_STAGE_EGL_NATIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_STAGE_EGL_NATIVE, ClutterStageEglNativeClass))
-
-typedef struct _ClutterStageEglNative ClutterStageEglNative;
-typedef struct _ClutterStageEglNativeClass ClutterStageEglNativeClass;
-
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (ClutterStageEglNative, g_object_unref)
-
-struct _ClutterStageEglNative
-{
- ClutterStageCogl parent_instance;
-};
-
-struct _ClutterStageEglNativeClass
-{
- ClutterStageCoglClass parent_class;
-};
-
-CLUTTER_AVAILABLE_IN_MUTTER
-GType _clutter_stage_eglnative_get_type (void) G_GNUC_CONST;
-
-#endif /* __CLUTTER_STAGE_EGL_NATIVE_H__ */
diff --git a/src/backends/native/meta-stage-native.c b/src/backends/native/meta-stage-native.c
index 6547bb483..e7cc91a0d 100644
--- a/src/backends/native/meta-stage-native.c
+++ b/src/backends/native/meta-stage-native.c
@@ -28,11 +28,21 @@
struct _MetaStageNative
{
- ClutterStageEglNative parent;
+ ClutterStageCogl parent;
};
-G_DEFINE_TYPE (MetaStageNative, meta_stage_native,
- CLUTTER_TYPE_STAGE_EGL_NATIVE)
+static void
+clutter_stage_window_iface_init (ClutterStageWindowIface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (MetaStageNative, meta_stage_native,
+ CLUTTER_TYPE_STAGE_COGL,
+ G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_STAGE_WINDOW,
+ clutter_stage_window_iface_init))
+static gboolean
+meta_stage_native_can_clip_redraws (ClutterStageWindow *stage_window)
+{
+ return TRUE;
+}
static void
meta_stage_native_init (MetaStageNative *stage_native)
@@ -43,3 +53,9 @@ static void
meta_stage_native_class_init (MetaStageNativeClass *klass)
{
}
+
+static void
+clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
+{
+ iface->can_clip_redraws = meta_stage_native_can_clip_redraws;
+}
diff --git a/src/backends/native/meta-stage-native.h b/src/backends/native/meta-stage-native.h
index 7668bbfef..95b802886 100644
--- a/src/backends/native/meta-stage-native.h
+++ b/src/backends/native/meta-stage-native.h
@@ -29,6 +29,6 @@
#define META_TYPE_STAGE_NATIVE (meta_stage_native_get_type ())
G_DECLARE_FINAL_TYPE (MetaStageNative, meta_stage_native,
- META, STAGE_NATIVE, ClutterStageEglNative)
+ META, STAGE_NATIVE, ClutterStageCogl)
#endif /* META_STAGE_NATIVE_H */