[clutter] Move macros to their own headers



commit a6b1972d71b17c813625b72973eefda406306e79
Author: Emmanuele Bassi <ebassi linux intel com>
Date:   Mon Feb 27 14:03:57 2012 +0000

    Move macros to their own headers

 clutter/Makefile.am          |    1 +
 clutter/clutter-macros.h     |   56 ++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-types.h      |   27 +-------------------
 clutter/clutter-version.h.in |    4 +++
 clutter/clutter.h            |    1 +
 5 files changed, 63 insertions(+), 26 deletions(-)
---
diff --git a/clutter/Makefile.am b/clutter/Makefile.am
index d9bd0a4..fd058e1 100644
--- a/clutter/Makefile.am
+++ b/clutter/Makefile.am
@@ -93,6 +93,7 @@ source_h =					\
 	$(srcdir)/clutter-layout-manager.h	\
 	$(srcdir)/clutter-layout-meta.h		\
 	$(srcdir)/clutter-list-model.h		\
+	$(srcdir)/clutter-macros.h		\
 	$(srcdir)/clutter-main.h		\
 	$(srcdir)/clutter-media.h		\
 	$(srcdir)/clutter-model.h		\
diff --git a/clutter/clutter-macros.h b/clutter/clutter-macros.h
new file mode 100644
index 0000000..8561ea3
--- /dev/null
+++ b/clutter/clutter-macros.h
@@ -0,0 +1,56 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2012 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 <http://www.gnu.org/licenses/>.
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
+#ifndef __CLUTTER_MACROS_H__
+#define __CLUTTER_MACROS_H__
+
+/* these macros are used to mark deprecated functions, and thus have to be
+ * exposed in a public header.
+ *
+ * do *not* use them in other libraries depending on Clutter: use G_DEPRECATED
+ * and G_DEPRECATED_FOR, or use your own wrappers around them.
+ */
+#ifdef CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#define CLUTTER_DEPRECATED
+#define CLUTTER_DEPRECATED_FOR(f)
+#else
+#define CLUTTER_DEPRECATED G_DEPRECATED
+#define CLUTTER_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f)
+#endif
+
+/* some structures are meant to be opaque and still be allocated on the stack;
+ * in order to avoid people poking at their internals, we use this macro to
+ * ensure that users don't accidentally access a struct private members.
+ *
+ * we use the CLUTTER_COMPILATION define to allow us easier access, though.
+ */
+#ifdef CLUTTER_COMPILATION
+#define CLUTTER_PRIVATE_FIELD(x)        x
+#else
+#define CLUTTER_PRIVATE_FIELD(x)        clutter_private_ ## x
+#endif
+
+
+#endif /* __CLUTTER_MACROS_H__ */
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index 0ec28af..90e9261 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -30,36 +30,11 @@
 
 #include <cairo.h>
 
+#include <clutter/clutter-macros.h>
 #include <clutter/clutter-enums.h>
 
 G_BEGIN_DECLS
 
-/* these macros are used to mark deprecated functions, and thus have to be
- * exposed in a public header.
- *
- * do *not* use them in other libraries depending on Clutter: use G_DEPRECATED
- * and G_DEPRECATED_FOR, or use your own wrappers around them.
- */
-#ifdef CLUTTER_DISABLE_DEPRECATION_WARNINGS
-#define CLUTTER_DEPRECATED
-#define CLUTTER_DEPRECATED_FOR(f)
-#else
-#define CLUTTER_DEPRECATED G_DEPRECATED
-#define CLUTTER_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f)
-#endif
-
-/* some structures are meant to be opaque and still be allocated on the stack;
- * in order to avoid people poking at their internals, we use this macro to
- * ensure that users don't accidentally access a struct private members.
- *
- * we use the CLUTTER_COMPILATION define to allow us easier access, though.
- */
-#ifdef CLUTTER_COMPILATION
-#define CLUTTER_PRIVATE_FIELD(x)        x
-#else
-#define CLUTTER_PRIVATE_FIELD(x)        clutter_private_ ## x
-#endif
-
 #define CLUTTER_TYPE_ACTOR_BOX          (clutter_actor_box_get_type ())
 #define CLUTTER_TYPE_FOG                (clutter_fog_get_type ())
 #define CLUTTER_TYPE_GEOMETRY           (clutter_geometry_get_type ())
diff --git a/clutter/clutter-version.h.in b/clutter/clutter-version.h.in
index a08d768..13d9bdf 100644
--- a/clutter/clutter-version.h.in
+++ b/clutter/clutter-version.h.in
@@ -23,6 +23,10 @@
  *
  */
 
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only <clutter/clutter.h> can be included directly."
+#endif
+
 /**
  * SECTION:clutter-version
  * @short_description: Versioning utility macros
diff --git a/clutter/clutter.h b/clutter/clutter.h
index 47b5a34..7f5d517 100644
--- a/clutter/clutter.h
+++ b/clutter/clutter.h
@@ -73,6 +73,7 @@
 #include "clutter-layout-manager.h"
 #include "clutter-layout-meta.h"
 #include "clutter-list-model.h"
+#include "clutter-macros.h"
 #include "clutter-main.h"
 #include "clutter-media.h"
 #include "clutter-model.h"



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