Add arrowed sharp signs
[lilypond.git] / lily / page-marker.cc
blob7bf691e29582b9b976f683cafa5acb41da73521b
1 /*
2 page-marker.cc -- implement Page_marker
4 source file of the GNU LilyPond music typesetter
6 (c) 2007--2008 Nicolas Sceaux <nicolas.sceaux@free.fr>
7 */
9 #include "page-marker.hh"
10 #include "ly-smobs.icc"
12 Page_marker::Page_marker ()
14 symbol_ = SCM_EOL;
15 permission_ = SCM_EOL;
16 label_ = SCM_EOL;
17 smobify_self ();
20 Page_marker::~Page_marker ()
24 IMPLEMENT_SMOBS (Page_marker);
25 IMPLEMENT_DEFAULT_EQUAL_P (Page_marker);
26 IMPLEMENT_TYPE_P (Page_marker, "ly:page-marker?");
28 SCM
29 Page_marker::mark_smob (SCM smob)
31 Page_marker *pm = (Page_marker *) SCM_CELL_WORD_1 (smob);
32 scm_gc_mark (pm->symbol_);
33 scm_gc_mark (pm->permission_);
34 scm_gc_mark (pm->label_);
35 return SCM_EOL;
38 int
39 Page_marker::print_smob (SCM smob, SCM port, scm_print_state*)
41 Page_marker *pm = (Page_marker *) SCM_CELL_WORD_1 (smob);
42 (void)pm;
43 scm_puts ("#<Page_marker>", port);
44 return 1;
47 SCM
48 Page_marker::permission_symbol ()
50 return symbol_;
53 SCM
54 Page_marker::permission_value ()
56 return permission_;
59 SCM
60 Page_marker::label ()
62 return label_;
65 void
66 Page_marker::set_permission (SCM symbol, SCM permission)
68 symbol_ = symbol;
69 permission_ = permission;
72 void
73 Page_marker::set_label (SCM label)
75 label_ = label;