Fix bugs in previous commit that caused FTBFS in synfig and ETL FTBFS with older...
[synfig.git] / synfig-core / tags / synfig_0_61_07 / src / synfig / synfig.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file synfig.h
3 **      \brief Primary Header for Synfig
4 **
5 **      $Id$
6 **
7 **      \legal
8 **      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9 **
10 **      This package is free software; you can redistribute it and/or
11 **      modify it under the terms of the GNU General Public License as
12 **      published by the Free Software Foundation; either version 2 of
13 **      the License, or (at your option) any later version.
14 **
15 **      This package is distributed in the hope that it will be useful,
16 **      but WITHOUT ANY WARRANTY; without even the implied warranty of
17 **      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 **      General Public License for more details.
19 **      \endlegal
20 */
21 /* ========================================================================= */
22
23 /* === S T A R T =========================================================== */
24
25 #ifndef __SYNFIG__
26 #define __SYNFIG__
27
28 #ifndef __cplusplus
29 #error Sorry, Synfig only supports C++ at this time. See README for details.
30 #endif
31
32 #warning The use of this header is deprecated. Please use the individual header files.
33
34 /* === M A C R O S ========================================================= */
35
36 /*! \def SYNFIG_LEAN
37 **      \brief Define this to remove unused features, speeding up compile time.
38 **
39 **      Define SYNFIG_LEAN if your plug-in
40 **      or program doesn't use the synfig::Angle class
41 **      or the rendering subsystem. This can speed up
42 **      compiles. You may also wish to individualy
43 **      use the macros SYNFIG_NO_ANGLE and
44 **      SYNFIG_NO_RENDER.
45 **      \see SYNFIG_NO_ANGLE, SYNFIG_NO_RENDER
46 */
47 #ifdef SYNFIG_LEAN
48 # ifndef SYNFIG_NO_ANGLE
49 #  define SYNFIG_NO_ANGLE
50 # endif
51 # ifndef SYNFIG_NO_RENDER
52 #  define SYNFIG_NO_RENDER
53 # endif
54 #endif
55
56 /*!     \def SYNFIG_LAYER
57 **      The SYNFIG_LAYER macro is useful for when you
58 **      are compiling layers, and can help to improve
59 **      build time.
60 */
61 #ifdef SYNFIG_LAYER
62 # ifndef SYNFIG_NO_RENDER
63 #  define SYNFIG_NO_RENDER
64 # endif
65 # define SYNFIG_NO_LOADSAVE
66 #endif
67
68 /*!     \def SYNFIG_TARGET
69 **      The SYNFIG_TARGET macro is useful for when you
70 **      are compiling render targets, and can help to
71 **      improve build time.
72 */
73 #ifdef SYNFIG_TARGET
74 # ifdef SYNFIG_NO_RENDER
75 #  error You defined SYNFIG_TARGET, but also SYNFIG_NO_RENDER. This doesnt make sense.
76 # endif
77 # ifndef SYNFIG_NO_ANGLE
78 #  define SYNFIG_NO_ANGLE
79 # endif
80 # define SYNFIG_NO_LOADSAVE
81 #endif
82
83 /*!     \def SYNFIG_MODULE
84 **      \todo Writeme
85 */
86 #ifdef SYNFIG_MODULE
87 # define SYNFIG_NO_LOADSAVE
88 #endif
89
90 /*! \namespace synfig
91 **      \brief Where every function and class of the synfig library can be found
92 **      \todo Writeme
93 */
94
95 /* === H E A D E R S ======================================================= */
96
97 #include "version.h"
98 #include "general.h"
99 #include "module.h"
100 #include "color.h"
101 #include "canvas.h"
102 #include "layer.h"
103 #include "vector.h"
104 #include "types.h"
105 #include "segment.h"
106
107 #ifndef SYNFIG_NO_RENDER
108 # include "render.h"
109 #endif
110
111 #ifndef SYNFIG_LAYER
112 #include "target.h"
113 #endif
114
115 #include "valuenode.h"
116 #include "valuenode_subtract.h"
117 //#include "valuenode_animated.h"
118 #include "valuenode_composite.h"
119 #include "valuenode_const.h"
120 #include "valuenode_linear.h"
121 #include "valuenode_dynamiclist.h"
122 #include "valuenode_reference.h"
123
124 #ifndef SYNFIG_NO_LOADSAVE
125 # include "savecanvas.h"
126 # include "loadcanvas.h"
127 #endif
128
129 #include "importer.h"
130 #include "surface.h"
131
132 #include "string.h"
133
134 /* === C L A S S E S & S T R U C T S ======================================= */
135
136 /* === E N D =============================================================== */
137
138 #endif