X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpage-marker.cc;h=adf623ffd021e394d96f3390a9ca92e09ce240e6;hb=57f01d7d76f5f682f41da1229fd1fd3ab308201d;hp=dd43c35640d23585a38b9394fba61d6a9520c0dc;hpb=651887bf80f7d060457ef46a97341eec46688b44;p=lilypond.git diff --git a/lily/page-marker.cc b/lily/page-marker.cc index dd43c35640..adf623ffd0 100644 --- a/lily/page-marker.cc +++ b/lily/page-marker.cc @@ -1,18 +1,38 @@ /* - page-marker.cc -- implement Page_marker + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2007--2012 Nicolas Sceaux - (c) 2007 Nicolas Sceaux + 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 . */ #include "page-marker.hh" #include "ly-smobs.icc" -Page_marker::Page_marker (SCM symbol, SCM permission) +Page_marker::Page_marker () { - symbol_ = symbol; - permission_ = permission; + symbol_ = SCM_EOL; + permission_ = SCM_EOL; + label_ = SCM_EOL; + smobify_self (); +} + +Page_marker::Page_marker (Page_marker const &src) +{ + symbol_ = src.symbol_; + permission_ = src.permission_; + label_ = src.label_; smobify_self (); } @@ -30,14 +50,15 @@ Page_marker::mark_smob (SCM smob) Page_marker *pm = (Page_marker *) SCM_CELL_WORD_1 (smob); scm_gc_mark (pm->symbol_); scm_gc_mark (pm->permission_); + scm_gc_mark (pm->label_); return SCM_EOL; } int -Page_marker::print_smob (SCM smob, SCM port, scm_print_state*) +Page_marker::print_smob (SCM smob, SCM port, scm_print_state *) { Page_marker *pm = (Page_marker *) SCM_CELL_WORD_1 (smob); - (void)pm; + (void) pm; scm_puts ("#", port); return 1; } @@ -53,3 +74,22 @@ Page_marker::permission_value () { return permission_; } + +SCM +Page_marker::label () +{ + return label_; +} + +void +Page_marker::set_permission (SCM symbol, SCM permission) +{ + symbol_ = symbol; + permission_ = permission; +} + +void +Page_marker::set_label (SCM label) +{ + label_ = label; +}