2 property-object.hh -- declare Property_object
4 source file of the GNU LilyPond music typesetter
6 (c) 2004--2007 Jan Nieuwenhuizen <janneke@gnu.org>
9 #ifndef PROPERTY_OBJECT_HH
10 #define PROPERTY_OBJECT_HH
13 #include "virtual-methods.hh"
17 A formatted "system" (A block of titling also is a Property_object)
19 To save memory, we don't keep around the System grobs, but put the
20 formatted content of the grob is put into a
21 Property_object. Page-breaking handles Property_object objects.
27 DECLARE_CLASSNAME(Prob);
31 SCM mutable_property_alist_;
32 SCM immutable_property_alist_;
35 virtual void derived_mark () const;
36 virtual SCM copy_mutable_properties () const;
37 virtual void type_check_assignment (SCM,SCM) const;
42 virtual string name () const;
43 SCM type () const { return type_; }
44 SCM get_property_alist (bool _mutable) const;
45 SCM internal_get_property (SCM sym) const;
46 void instrumented_set_property (SCM, SCM, const char*, int, const char*);
47 void internal_set_property (SCM sym, SCM val);
50 DECLARE_UNSMOB(Prob,prob);
52 SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value);
53 SCM ly_prob_property (SCM system, SCM sym, SCM dfault);
55 SCM ly_prob_type_p (SCM obj, SCM sym);
57 #endif /* PROPERTY_OBJECT_HH */