X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frequest.cc;h=7ad67285b1836a1b3ca8845dda7e4bc46538b2a6;hb=d4e71555e7e093a4da32d92378f8f475fa0d6aaa;hp=1b431d2f2d270e51efdbb1d3e2384b1c3769131c;hpb=13e79c0250d34b6bdfbafbc551ef64e8b59b2991;p=lilypond.git diff --git a/lily/request.cc b/lily/request.cc index 1b431d2f2d..7ad67285b1 100644 --- a/lily/request.cc +++ b/lily/request.cc @@ -3,41 +3,68 @@ source file of the GNU LilyPond music typesetter - (c) 1996,1997 Han-Wen Nienhuys + (c) 1996--2001 Han-Wen Nienhuys */ #include "request.hh" #include "debug.hh" -IMPLEMENT_IS_TYPE_B1(Request,Music); + +bool +Request::equal_b (Request const* r) const +{ + return r->do_equal_b (this) || this->do_equal_b (r) ; +} + +bool +Request::do_equal_b (Request const*) const +{ + return true; +} + + +Request::Request () + : Music (SCM_EOL) +{ + set_mus_property ("type", ly_symbol2scm ("request")); +} + + + +Script_req::Script_req () +{ + set_direction (CENTER); +} void -Request::do_print() const +Script_req::set_direction (Direction d) { + set_mus_property ("direction", gh_int2scm (d)); } -MInterval -Request::time_int() const +Direction +Script_req::get_direction () const { - return MInterval (0, duration()); + SCM d = get_mus_property ("direction"); + + return (isdir_b (d)) ? to_dir (d) : CENTER; } -bool -Request::equal_b (Request *r)const +Direction +Span_req::get_span_dir () const { - if ( is_type_b ( r->name()) ) - return r->do_equal_b ((Request*)this); - if ( r->is_type_b (name())) - return do_equal_b (r); - - return false; + SCM d = get_mus_property ("span-direction"); + + return (isdir_b (d)) ? to_dir (d) : CENTER; } -bool -Request::do_equal_b (Request*)const +void +Span_req::set_span_dir (Direction d) { - return false; + set_mus_property ("span-direction", gh_int2scm (d)); } - + + +