Replace the proto directory with pre-processor macros that do the same thing
authorpabs <pabs@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Sat, 10 Nov 2007 07:22:08 +0000 (07:22 +0000)
committerpabs <pabs@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Sat, 10 Nov 2007 07:22:08 +0000 (07:22 +0000)
git-svn-id: http://svn.voria.com/code@1128 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-core/trunk/configure.ac
synfig-core/trunk/src/synfig/Makefile.am
synfig-core/trunk/src/synfig/node.cpp
synfig-core/trunk/src/synfig/nodebase.h [new file with mode: 0644]
synfig-core/trunk/src/synfig/proto/Makefile.am [deleted file]
synfig-core/trunk/src/synfig/proto/nodebase.px [deleted file]
synfig-core/trunk/src/synfig/proto/proto.m4 [deleted file]

index 15f40fb..b3b4fea 100644 (file)
@@ -553,7 +553,6 @@ doxygen.cfg
 Makefile
 src/Makefile
 src/synfig/Makefile
-src/synfig/proto/Makefile
 src/modules/Makefile
 src/modules/lyr_freetype/Makefile
 src/modules/lyr_std/Makefile
index 3ccc9bb..c5d8b35 100644 (file)
@@ -1,7 +1,5 @@
 # $Id$
 
-SUBDIRS=proto
-
 MAINTAINERCLEANFILES=Makefile.in
 INCLUDES = -I$(top_builddir) -I$(top_srcdir)/src -I$(top_srcdir)/libltdl
 
@@ -22,7 +20,7 @@ VALUENODESOURCES=valuenode_exp.cpp valuenode_sine.cpp valuenode_cos.cpp valuenod
 VALUEHEADERS=blinepoint.h gradient.h value.h
 VALUESOURCES=blinepoint.cpp gradient.cpp value.cpp
 
-SYNFIGHEADERS=protocol.h surfacenew.h mutex.h timepointcollect.h interpolation.h guidset.h guid.h quick_rng.h rect.h node.h smartfile.h distance.h palette.h main.h waypoint.h activepoint.h gamma.h uniqueid.h canvasbase.h context.h real.h paramdesc.h string_decl.h angle.h keyframe.h synfig.h renddesc.h general.h importer.h surface.h module.h layer.h vector.h color.h canvas.h render.h target.h loadcanvas.h savecanvas.h valuenode.h version.h segment.h types.h exception.h string.h time.h blur.h transform.h curve_helper.h polynomial_root.h curveset.h
+SYNFIGHEADERS=protocol.h surfacenew.h mutex.h timepointcollect.h interpolation.h guidset.h guid.h quick_rng.h rect.h node.h nodebase.h smartfile.h distance.h palette.h main.h waypoint.h activepoint.h gamma.h uniqueid.h canvasbase.h context.h real.h paramdesc.h string_decl.h angle.h keyframe.h synfig.h renddesc.h general.h importer.h surface.h module.h layer.h vector.h color.h canvas.h render.h target.h loadcanvas.h savecanvas.h valuenode.h version.h segment.h types.h exception.h string.h time.h blur.h transform.h curve_helper.h polynomial_root.h curveset.h
 SYNFIGSOURCES=mutex.cpp timepointcollect.cpp rect.cpp node.cpp guid.cpp loadcanvas.cpp distance.cpp palette.cpp paramdesc.cpp waypoint.cpp activepoint.cpp gamma.cpp uniqueid.cpp context.cpp renddesc.cpp time.cpp exception.cpp keyframe.cpp main.cpp surface.cpp module.cpp importer.cpp layer.cpp color.cpp canvas.cpp render.cpp target.cpp savecanvas.cpp valuenode.cpp blur.cpp curve_helper.cpp polynomial_root.cpp transform.cpp curveset.cpp
 
 lib_LTLIBRARIES = libsynfig.la
index e0815bd..b957762 100644 (file)
@@ -32,7 +32,7 @@
 #endif
 
 #include "node.h"
-#include "proto/nodebase.h"
+#include "nodebase.h"
 
 #ifdef HASH_MAP_H
 #include HASH_MAP_H
diff --git a/synfig-core/trunk/src/synfig/nodebase.h b/synfig-core/trunk/src/synfig/nodebase.h
new file mode 100644 (file)
index 0000000..98aaac6
--- /dev/null
@@ -0,0 +1,100 @@
+/* === S Y N F I G ========================================================= */
+/*!    \file nodebase.h
+**     \brief Template Header
+**
+**     $Id$
+**
+**     \legal
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**
+**     This package is free software; you can redistribute it and/or
+**     modify it under the terms of the GNU General Public License as
+**     published by the Free Software Foundation; either version 2 of
+**     the License, or (at your option) any later version.
+**
+**     This package 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
+**     General Public License for more details.
+**     \endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_NODEBASE_H
+#define __SYNFIG_NODEBASE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "protocol.h"
+#include "string.h"
+#include "guid.h"
+#include <sigc++/slot.h>
+
+/* === M A C R O S ========================================================= */
+
+#define PX_DEFINE_DATA(name,type) \
+    PX_DEFINE_FUNC_CONST0(get_##name, type) \
+    PX_DEFINE_FUNC1(set_##name, void, type)
+
+#define PX_DEFINE_FUNC0(name,ret) \
+       sigc::slot< ret > _slot_##name; \
+       ret name() { \
+               return _slot_##name(); \
+       }
+
+#define PX_DEFINE_FUNC1(name,ret,type) \
+       sigc::slot< ret, type > _slot_##name; \
+       ret name(type v1) { \
+               return _slot_##name(v1); \
+       }
+#define PX_DEFINE_FUNC2(name,ret,type1,type2) \
+       sigc::slot< ret, type1, type2 > _slot_##name; \
+       ret name(type1 v1, type2 v2) { \
+               return _slot_##name(v1,v2); \
+       }
+#define PX_DEFINE_FUNC_CONST0(name,ret) \
+       sigc::slot< ret > _slot_##name##_const; \
+       ret name()const { \
+               return _slot_##name##_const(); \
+       }
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+namespace Proto {
+
+typedef int Query;
+typedef int NodeList;
+
+class NodeBase : public Protocol
+{
+public:
+
+       PX_DEFINE_DATA(guid, GUID)
+
+       PX_DEFINE_FUNC2(func_test, float, int, int)
+
+       PX_DEFINE_DATA(id, String)
+
+       PX_DEFINE_DATA(root, NodeHandle)
+
+       PX_DEFINE_FUNC0(signal_changed, sigc::signal<void>)
+       PX_DEFINE_FUNC0(signal_deleted, sigc::signal<void>)
+               
+       PX_DEFINE_FUNC_CONST0(get_parents, const NodeList)
+       PX_DEFINE_FUNC_CONST0(get_children, const NodeList)
+
+       PX_DEFINE_FUNC1(query_children, NodeList, Query)
+
+}; // END of class Proto::NodeBase
+
+}; // END of namespace Proto
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/synfig-core/trunk/src/synfig/proto/Makefile.am b/synfig-core/trunk/src/synfig/proto/Makefile.am
deleted file mode 100644 (file)
index 487b8d7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-MAINTAINERCLEANFILES=nodebase.h
-EXTRA_DIST=nodebase.h nodebase.px proto.m4
-
-M4=m4
-
-PROTO_PP=$(M4) proto.m4
-
-FILES=nodebase.h
-
-all: $(FILES)
-
-clean:
-       $(RM) $(FILES)
-
-SUFFIXES=.px .h
-
-.px.h: proto.m4
-       $(PROTO_PP) $< > $@
diff --git a/synfig-core/trunk/src/synfig/proto/nodebase.px b/synfig-core/trunk/src/synfig/proto/nodebase.px
deleted file mode 100644 (file)
index 445febf..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* === S Y N F I G ========================================================= */
-/*!    \file nodebase.h
-**     \brief Template Header
-**
-**     $Id$
-**
-**     \legal
-**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**
-**     This package is free software; you can redistribute it and/or
-**     modify it under the terms of the GNU General Public License as
-**     published by the Free Software Foundation; either version 2 of
-**     the License, or (at your option) any later version.
-**
-**     This package 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
-**     General Public License for more details.
-**     \endlegal
-*/
-/* ========================================================================= */
-
-/* === S T A R T =========================================================== */
-
-#ifndef __SYNFIG_NODEBASE_H
-#define __SYNFIG_NODEBASE_H
-
-/* === H E A D E R S ======================================================= */
-
-#include "../protocol.h"
-#include "../string.h"
-#include "../guid.h"
-#include <sigc++/slot.h>
-
-/* === M A C R O S ========================================================= */
-
-/* === T Y P E D E F S ===================================================== */
-
-/* === C L A S S E S & S T R U C T S ======================================= */
-
-namespace synfig {
-namespace Proto {
-
-typedef int Query;
-typedef int NodeList;
-
-class NodeBase : public Protocol
-{
-public:
-
-       PX_DEFINE_DATA(guid, GUID)
-
-       PX_DEFINE_FUNC(func_test, float, int, int)
-
-       PX_DEFINE_DATA(id, String)
-
-       PX_DEFINE_DATA(root, NodeHandle)
-
-       PX_DEFINE_FUNC(signal_changed, sigc::signal<void>)
-       PX_DEFINE_FUNC(signal_deleted, sigc::signal<void>)
-               
-       PX_DEFINE_FUNC_CONST(get_parents, const NodeList)
-       PX_DEFINE_FUNC_CONST(get_children, const NodeList)
-
-       PX_DEFINE_FUNC(query_children, NodeList, Query)
-
-}; // END of class Proto::NodeBase
-
-}; // END of namespace Proto
-}; // END of namespace synfig
-
-/* === E N D =============================================================== */
-
-#endif
diff --git a/synfig-core/trunk/src/synfig/proto/proto.m4 b/synfig-core/trunk/src/synfig/proto/proto.m4
deleted file mode 100644 (file)
index 91800eb..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-dnl
-
- define(`forloop',
-               `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')
- define(`_forloop',
-               `$4`'ifelse($1, `$3', ,
-                          `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')
-
-define(`_PRINT_ARGS',`dnl
-ifelse($#,1,,`$2 v$1`'ifelse($#,2,,`, _PRINT_ARGS(incr($1), shift(shift($@)))')')dnl
-')dnl
-
-define(`_PRINT_ARGS2',`dnl
-ifelse($#,1,,`v$1`'ifelse($#,2,,`, _PRINT_ARGS2(incr($1), shift(shift($@)))')')dnl
-')dnl
-
-dnl PX_DEFINE_FUNC(func_name, ret_type, args...)
-define(`PX_DEFINE_FUNC',`
-       sigc::slot< $2`'ifelse($#,2,,`, shift(shift($@))') > _slot_$1;
-       $2 $1(ifelse($#,2,,`_PRINT_ARGS(1,shift(shift($@)))')) {
-               return _slot_$1(ifelse($#,2,,`_PRINT_ARGS2(1,shift(shift($@)))'));
-       }
-')dnl
-
-dnl PX_DEFINE_FUNC_CONST(func_name, ret_type, args...)
-define(`PX_DEFINE_FUNC_CONST',`
-       sigc::slot< $2`'ifelse($#,2,,`, shift(shift($@))') > _slot_$1_const;
-       $2 $1(ifelse($#,2,,`_PRINT_ARGS(1,shift(shift($@)))'))const {
-               return _slot_$1_const(ifelse($#,2,,`_PRINT_ARGS2(1,shift(shift($@)))'));
-       }
-')dnl
-
-define(`PX_DEFINE_DATA', `dnl
-PX_DEFINE_FUNC_CONST(get_$1, $2)
-PX_DEFINE_FUNC(set_$1, void, $2)
-')dnl
-