1
0
Fork 0

Move macros to their own headers

This commit is contained in:
Emmanuele Bassi 2012-02-27 14:03:57 +00:00
parent 4e6ff76a77
commit a6b1972d71
5 changed files with 63 additions and 26 deletions

View file

@ -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 \

56
clutter/clutter-macros.h Normal file
View file

@ -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__ */

View file

@ -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 ())

View file

@ -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

View file

@ -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"