diff options
author | Emmanuele Bassi <ebassi@linux.intel.com> | 2012-02-27 14:03:57 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@linux.intel.com> | 2012-02-27 14:03:57 +0000 |
commit | a6b1972d71b17c813625b72973eefda406306e79 (patch) | |
tree | dd1a2da8e649153fa0f3c1009c6bae9203e03928 /clutter/clutter-macros.h | |
parent | 4e6ff76a77ab61562891612cd4137b63202bf552 (diff) | |
download | clutter-a6b1972d71b17c813625b72973eefda406306e79.tar.gz |
Move macros to their own headers
Diffstat (limited to 'clutter/clutter-macros.h')
-rw-r--r-- | clutter/clutter-macros.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/clutter/clutter-macros.h b/clutter/clutter-macros.h new file mode 100644 index 000000000..8561ea35c --- /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__ */ |