]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/grob-interface.hh
2003 -> 2004
[lilypond.git] / lily / include / grob-interface.hh
1 /*   
2   interface.hh -- declare Interface 
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2002--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7
8  */
9
10 #ifndef INTERFACE_HH
11 #define INTERFACE_HH
12
13
14 void add_interface (const char * symbol,
15                     const char * descr,
16                     const char * vars);
17
18 SCM ly_add_interface (SCM, SCM, SCM); 
19
20 #define ADD_INTERFACE(cl,a,b,c) \
21 bool cl::has_interface(Grob*me)\
22 {\
23   return me->internal_has_interface (ly_symbol2scm (a));\
24 }\
25 void cl ## _init_ifaces() {\
26   add_interface(a,b,c);\
27 }\
28 ADD_SCM_INIT_FUNC(cl ## ifaces, cl ## _init_ifaces);\
29
30
31 #endif /* INTERFACE_HH */
32