[ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX
As of 1.4, ClutterGLXTexturePixmap is identical to ClutterX11TexturePixmap (with the differences having been moved into the cogl layer). So make ShellGtkEmbed use the (introspected) X11 version, which then allows us to make the instance and class structs public as well. https://bugzilla.gnome.org/show_bug.cgi?id=608869
This commit is contained in:
parent
c9a7c9d491
commit
745e8f608f
@ -200,6 +200,7 @@ Shell-0.1.gir: $(mutter) $(G_IR_SCANNER) St-1.0.gir libgnome-shell.la Makefile
|
||||
--warn-error \
|
||||
--add-include-path=$(MUTTER_LIB_DIR)/mutter/ \
|
||||
--include=Clutter-1.0 \
|
||||
--include=ClutterX11-1.0 \
|
||||
--include=Meta-2.31 \
|
||||
--libtool="$(LIBTOOL)" \
|
||||
--add-include-path=$(builddir) \
|
||||
|
@ -5,8 +5,6 @@
|
||||
#include "shell-embedded-window-private.h"
|
||||
#include "gtk-compat.h"
|
||||
|
||||
#include <clutter/glx/clutter-glx.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
#include <gdk/gdkx.h>
|
||||
|
||||
enum {
|
||||
@ -15,32 +13,12 @@ enum {
|
||||
PROP_WINDOW
|
||||
};
|
||||
|
||||
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
|
||||
|
||||
/* The reason that the instance/class structures are here is to avoid
|
||||
* problems with g-ir-scanner chocking on ClutterGLXTexturePixmap. We
|
||||
* stick with having a separate private structure so that we can move
|
||||
* the instance/class structures back to the public header if this
|
||||
* code is reused in another context where inheritance from C is useful.
|
||||
*/
|
||||
struct _ShellGtkEmbed
|
||||
{
|
||||
ClutterGLXTexturePixmap parent;
|
||||
|
||||
ShellGtkEmbedPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellGtkEmbedClass
|
||||
{
|
||||
ClutterGLXTexturePixmapClass parent_class;
|
||||
};
|
||||
|
||||
struct _ShellGtkEmbedPrivate
|
||||
{
|
||||
ShellEmbeddedWindow *window;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_GLX_TYPE_TEXTURE_PIXMAP);
|
||||
G_DEFINE_TYPE (ShellGtkEmbed, shell_gtk_embed, CLUTTER_X11_TYPE_TEXTURE_PIXMAP);
|
||||
|
||||
static void shell_gtk_embed_set_window (ShellGtkEmbed *embed,
|
||||
ShellEmbeddedWindow *window);
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __SHELL_GTK_EMBED_H__
|
||||
#define __SHELL_GTK_EMBED_H__
|
||||
|
||||
#include <clutter/glx/clutter-glx.h>
|
||||
#include <clutter/x11/clutter-x11.h>
|
||||
|
||||
#include "shell-embedded-window.h"
|
||||
|
||||
@ -15,6 +15,19 @@
|
||||
|
||||
typedef struct _ShellGtkEmbed ShellGtkEmbed;
|
||||
typedef struct _ShellGtkEmbedClass ShellGtkEmbedClass;
|
||||
typedef struct _ShellGtkEmbedPrivate ShellGtkEmbedPrivate;
|
||||
|
||||
struct _ShellGtkEmbed
|
||||
{
|
||||
ClutterX11TexturePixmap parent;
|
||||
|
||||
ShellGtkEmbedPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellGtkEmbedClass
|
||||
{
|
||||
ClutterX11TexturePixmapClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_gtk_embed_get_type (void) G_GNUC_CONST;
|
||||
ClutterActor *shell_gtk_embed_new (ShellEmbeddedWindow *window);
|
||||
|
Loading…
Reference in New Issue
Block a user