]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/grob-interface.hh
*** empty log message ***
[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--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7
8  */
9
10 #ifndef INTERFACE_HH
11 #define INTERFACE_HH
12
13 #include <libguile.h> /* SCM */
14
15
16
17 #define ADD_INTERFACE(cl,a,b,c) \
18 bool cl::has_interface(Grob*me)\
19 {\
20   return me->internal_has_interface (ly_symbol2scm (a));\
21 }\
22 void cl ## _init_ifaces() {\
23   add_interface(a,b,c);\
24 }\
25 ADD_SCM_INIT_FUNC(cl ## ifaces, cl ## _init_ifaces);\
26
27
28
29 void add_interface (const char * symbol,
30                     const char * descr,
31                     const char * vars);
32
33 SCM ly_add_interface (SCM, SCM, SCM); 
34 SCM ly_all_grob_interfaces();
35
36 #endif /* INTERFACE_HH */
37