2008-06-30 Emmanuele Bassi <ebassi@openedhand.com>

Bug 1000 - clutter-x11 should define gtypes for its enumerations

	* clutter/x11/Makefile.am:
	* clutter/x11/clutter-event-x11.c:
	* clutter/x11/clutter-x11-enum-types.c.in:
	* clutter/x11/clutter-x11-enum-types.h.in:
	* clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific
	enumerations, so that they can be used by the bindings. (Andy
	Wingo)
This commit is contained in:
Emmanuele Bassi 2008-06-30 15:03:42 +00:00
parent e0a36199b0
commit ad221bfe4e
6 changed files with 114 additions and 12 deletions

View File

@ -1,3 +1,15 @@
2008-06-30 Emmanuele Bassi <ebassi@openedhand.com>
Bug 1000 - clutter-x11 should define gtypes for its enumerations
* clutter/x11/Makefile.am:
* clutter/x11/clutter-event-x11.c:
* clutter/x11/clutter-x11-enum-types.c.in:
* clutter/x11/clutter-x11-enum-types.h.in:
* clutter/x11/clutter-x11.h: Add the GTypes for the X11-specific
enumerations, so that they can be used by the bindings. (Andy
Wingo)
2008-06-30 Chris Lord <chris@openedhand.com> 2008-06-30 Chris Lord <chris@openedhand.com>
* tests/test-shader.c: * tests/test-shader.c:

View File

@ -1,13 +1,3 @@
libclutter_x11_includedir = $(includedir)/clutter-@CLUTTER_API_VERSION@/clutter/x11
libclutter_x11_include_HEADERS = clutter-x11.h \
clutter-x11-texture-pixmap.h
clutter-x11-$(CLUTTER_API_VERSION).pc: clutter-x11.pc
@cp -f $< $(@F)
pkgconfig_DATA = clutter-x11-@CLUTTER_API_VERSION@.pc
pkgconfigdir = $(libdir)/pkgconfig
INCLUDES = \ INCLUDES = \
-DG_LOG_DOMAIN=\"ClutterX11\" \ -DG_LOG_DOMAIN=\"ClutterX11\" \
-I$(top_srcdir) \ -I$(top_srcdir) \
@ -19,6 +9,29 @@ INCLUDES = \
LDADD = $(CLUTTER_LIBS) LDADD = $(CLUTTER_LIBS)
source_h = \
clutter-x11-texture-pixmap.h \
clutter-x11.h
BUILT_SOURCES = clutter-x11-enum-types.h clutter-x11-enum-types.c
clutter-x11-enum-types.h: stamp-clutter-x11-enum-types.h
@true
stamp-clutter-x11-enum-types.h: $(source_h) Makefile
( $(GLIB_MKENUMS) \
--template $(srcdir)/clutter-x11-enum-types.h.in \
$(source_h) ) >> xgen-ceth && \
(cmp xgen-ceth clutter-x11-enum-types.h || cp xgen-ceth clutter-x11-enum-types.h ) && \
rm -f xgen-ceth && \
echo timestamp > $(@F)
clutter-x11-enum-types.c: clutter-x11-enum-types.h
( $(GLIB_MKENUMS) \
--template $(srcdir)/clutter-x11-enum-types.c.in \
$(source_h) ) >> xgen-cetc && \
cp xgen-cetc clutter-x11-enum-types.c && \
rm -f xgen-cetc
noinst_LTLIBRARIES = libclutter-x11.la noinst_LTLIBRARIES = libclutter-x11.la
libclutter_x11_la_SOURCES = \ libclutter_x11_la_SOURCES = \
@ -27,10 +40,29 @@ libclutter_x11_la_SOURCES = \
clutter-event-x11.c \ clutter-event-x11.c \
clutter-stage-x11.h \ clutter-stage-x11.h \
clutter-stage-x11.c \ clutter-stage-x11.c \
clutter-x11-enum-types.h \
clutter-x11-enum-types.c \
clutter-x11-texture-pixmap.h \ clutter-x11-texture-pixmap.h \
clutter-x11-texture-pixmap.c \ clutter-x11-texture-pixmap.c \
clutter-x11.h clutter-x11.h
libclutter_x11_includedir = $(includedir)/clutter-@CLUTTER_API_VERSION@/clutter/x11
libclutter_x11_include_HEADERS = \
clutter-x11.h \
clutter-x11-enum-types.h \
clutter-x11-texture-pixmap.h
clutter-x11-$(CLUTTER_API_VERSION).pc: clutter-x11.pc
@cp -f $< $(@F)
pkgconfig_DATA = clutter-x11-@CLUTTER_API_VERSION@.pc
pkgconfigdir = $(libdir)/pkgconfig
CLEANFILES = clutter-x11-$(CLUTTER_API_VERSION).pc CLEANFILES = clutter-x11-$(CLUTTER_API_VERSION).pc
EXTRA_DIST = clutter-x11.pc.in DISTCLEANFILES = stamp-clutter-x11-enum-types.h
EXTRA_DIST = \
clutter-x11.pc.in \
clutter-x11-enum-types.h.in \
clutter-x11-enum-types.c.in

View File

@ -238,7 +238,7 @@ convert_xdevicekey_to_xkey (XDeviceKeyEvent *xkev, XEvent *xevent)
xevent->xkey.keycode = xkev->keycode; xevent->xkey.keycode = xkev->keycode;
xevent->xkey.same_screen = xkev->same_screen; xevent->xkey.same_screen = xkev->same_screen;
} }
#endif #endif /* USE_XINPUT */
static void static void
translate_key_event (ClutterBackend *backend, translate_key_event (ClutterBackend *backend,

View File

@ -0,0 +1,31 @@
/*** BEGIN file-header ***/
#include "clutter-x11-enum-types.h"
/*** END file-header ***/
/*** BEGIN file-production ***/
/* enumerations from "@filename@" */
#include "@filename@"
/*** END file-production ***/
/*** BEGIN value-header ***/
GType
@enum_name@_get_type(void) {
static GType etype = 0;
if (G_UNLIKELY (!etype))
{
static const G@Type@Value values[] = {
/*** END value-header ***/
/*** BEGIN value-production ***/
{ @VALUENAME@, "@VALUENAME@", "@valuenick@" },
/*** END value-production ***/
/*** BEGIN value-tail ***/
{ 0, NULL, NULL }
};
etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
}
return etype;
}
/*** END value-tail ***/

View File

@ -0,0 +1,26 @@
/*** BEGIN file-header ***/
#ifndef __CLUTTER_X11_ENUM_TYPES_H__
#define __CLUTTER_X11_ENUM_TYPES_H__
#include <glib-object.h>
G_BEGIN_DECLS
/*** END file-header ***/
/*** BEGIN file-production ***/
/* enumerations from "@filename@" */
/*** END file-production ***/
/*** BEGIN file-tail ***/
G_END_DECLS
#endif /* !__CLUTTER_X11_ENUM_TYPES_H__ */
/*** END file-tail ***/
/*** BEGIN value-header ***/
GType @enum_name@_get_type (void) G_GNUC_CONST;
#define CLUTTER_X11_TYPE_@ENUMSHORT@ (@enum_name@_get_type())
/*** END value-header ***/

View File

@ -42,6 +42,7 @@
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <clutter/clutter-stage.h> #include <clutter/clutter-stage.h>
#include <clutter/x11/clutter-x11-enum-types.h>
#include <clutter/x11/clutter-x11-texture-pixmap.h> #include <clutter/x11/clutter-x11-texture-pixmap.h>
G_BEGIN_DECLS G_BEGIN_DECLS