doc: update copyright line for 2021
[adg.git] / src / adg / adg-internal.h
bloba40a399dc3e13306e20689cc5acd500f038e29e9
1 /* ADG - Automatic Drawing Generation
2 * Copyright (C) 2007-2021 Nicola Fontana <ntd at entidi.it>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
21 * This header is included by every .c files of the library to
22 * enable the inclusion of the internal headers and initialize
23 * some common stuff (above all, localization).
26 #ifndef __ADG_INTERNAL_H__
27 #define __ADG_INTERNAL_H__
30 /* The following define enables the inclusion of internal headers */
31 #undef __ADG_H__
32 #define __ADG_H__
34 #include <config.h>
35 #define G_LOG_DOMAIN PACKAGE
37 #ifdef CAIRO_GOBJECT_ENABLED
38 #include <cairo-gobject.h>
39 #endif
41 #include <cpml.h>
43 /* The following headers are autogenerated, so they could be hosted
44 * in a different directory on VPATH builds (in other words, angle
45 * brackets are used instead of quotes) */
46 #include <adg/adg-type-builtins.h>
47 #include <adg/adg-marshal.h>
49 /* ADG headers basically included by every source file */
50 #include "adg-forward-declarations.h"
51 #include "adg-enums.h"
52 #include "adg-utils.h"
53 #include "adg-matrix.h"
54 #include "adg-entity.h"
57 #ifdef ENABLE_NLS
59 #include <libintl.h>
61 #ifndef GETTEXT_PACKAGE
62 #error You must define GETTEXT_PACKAGE before including adg-internal.h. Did you forget to include config.h?
63 #endif
65 #ifdef gettext_noop
66 #define N_(String) gettext_noop(String)
67 #else
68 #define N_(String) (String)
69 #endif
71 #define _(String) _adg_dgettext(GETTEXT_PACKAGE, String)
72 #define P_(String) _adg_dpgettext(GETTEXT_PACKAGE, "Property\004" String, 9)
73 #define Q_(String) _adg_dpgettext(GETTEXT_PACKAGE, String, 0)
74 #define C_(Context,String) _adg_dpgettext(GETTEXT_PACKAGE, Context "\004" String, strlen(Context) + 1)
75 #define NC_(Context,String) N_(String)
77 #else /* !ENABLE_NLS */
79 #define _(String) (String)
80 #define P_(String) (String)
81 #define Q_(String) (String)
82 #define N_(String) (String)
83 #define C_(Context,String) (String)
84 #define NC_(Context, String) (String)
86 #endif
89 const gchar * _adg_dgettext (const gchar *domain,
90 const gchar *msgid) G_GNUC_FORMAT(2);
91 const gchar * _adg_dpgettext (const gchar *domain,
92 const gchar *msgctxtid,
93 gsize msgidoffset) G_GNUC_FORMAT(2);
96 #endif /* __ADG_INTERNAL_H__ */