2 property-object.hh -- declare Property_object
4 source file of the GNU LilyPond music typesetter
6 (c) 2004--2006 Jan Nieuwenhuizen <janneke@gnu.org>
9 #ifndef PROPERTY_OBJECT_HH
10 #define PROPERTY_OBJECT_HH
15 A formatted "system" (A block of titling also is a Property_object)
17 To save memory, we don't keep around the System grobs, but put the
18 formatted content of the grob is put into a
19 Property_object. Page-breaking handles Property_object objects.
23 DECLARE_SMOBS (Prob,);
24 DECLARE_CLASSNAME(Prob);
28 SCM mutable_property_alist_;
29 SCM immutable_property_alist_;
32 virtual void derived_mark () const;
33 virtual SCM copy_mutable_properties () const;
34 virtual void type_check_assignment (SCM,SCM) const;
39 virtual String name () const;
40 SCM type () const { return type_; }
41 SCM get_property_alist (bool mutble) const;
42 SCM internal_get_property (SCM sym) const;
43 void internal_set_property (SCM sym, SCM val);
45 DECLARE_UNSMOB(Prob,prob);
46 SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value);
47 SCM ly_prob_property (SCM system, SCM sym, SCM dfault);
49 #endif /* PROPERTY_OBJECT_HH */