X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgrob-interface.hh;h=2062393f0b74910fe944c726a2b08625f8561499;hb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;hp=fe1d5565d969d863931961a6aab5ca2881822ebc;hpb=87eedcd59f4082cb0841528ad5bc82cb1d1191e3;p=lilypond.git diff --git a/lily/include/grob-interface.hh b/lily/include/grob-interface.hh index fe1d5565d9..2062393f0b 100644 --- a/lily/include/grob-interface.hh +++ b/lily/include/grob-interface.hh @@ -1,9 +1,20 @@ /* - interface.hh -- declare Interface + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2002--2014 Han-Wen Nienhuys - (c) 2002--2007 Han-Wen Nienhuys + LilyPond 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 3 of the License, or + (at your option) any later version. + + LilyPond 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. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef INTERFACE_HH @@ -12,26 +23,27 @@ #include "lily-guile.hh" #define DECLARE_GROB_INTERFACE() \ - static SCM interface_symbol_; \ + static SCM interface_symbol_; \ static bool has_interface (Grob*) -#define ADD_INTERFACE(cl, b, c) \ +#define ADD_INTERFACE(cl, b, c) \ SCM cl::interface_symbol_; \ - bool cl::has_interface (Grob *me) \ - { \ - return me->internal_has_interface (interface_symbol_); \ - } \ - void cl ## _init_ifaces () \ - { \ - cl::interface_symbol_ = add_interface (#cl, b, c); \ - } \ + bool cl::has_interface (Grob *me) \ + { \ + return me->internal_has_interface (interface_symbol_); \ + } \ + void cl ## _init_ifaces () \ + { \ + cl::interface_symbol_ = add_interface (#cl, b, c); \ + } \ ADD_SCM_INIT_FUNC (cl ## ifaces, cl ## _init_ifaces); SCM add_interface (char const *cxx_name, - char const *descr, - char const *vars); + char const *descr, + char const *vars); SCM ly_add_interface (SCM, SCM, SCM); +void internal_add_interface (SCM, SCM, SCM); SCM ly_all_grob_interfaces (); #endif /* INTERFACE_HH */