- void set_elt_pointer (const char*, SCM val);
- friend class Property_engraver; // UGHUGHUGH.
- SCM remove_grob_property (const char* nm);
-
- /*
- related classes.
- */
- Paper_def *paper_l () const;
+ void substitute_object_links (SCM, SCM);
+ Real get_offset (Axis a) const;
+ SCM try_callback (SCM, SCM);
+public:
+
+ /* friends */
+ friend class Spanner;
+ friend class System;
+ friend SCM ly_grob_properties (SCM);
+ friend SCM ly_grob_basic_properties (SCM);
+
+ /* standard callbacks */
+ DECLARE_SCHEME_CALLBACK(x_parent_positioning, (SCM));
+ DECLARE_SCHEME_CALLBACK(y_parent_positioning, (SCM));
+ DECLARE_SCHEME_CALLBACK (stencil_height, (SCM smob));
+ DECLARE_SCHEME_CALLBACK (stencil_width, (SCM smob));
+
+ /* R/O access */
+ Output_def *layout () const { return layout_; }
+ Grob *original () const { return original_; }
+ SCM interfaces () const { return interfaces_; }
+ Object_key const *key () const { return key_; }
+
+ /* life & death */
+ Grob (SCM basic_props, Object_key const *);
+ Grob (Grob const &, int copy_count);
+ virtual Grob *clone (int count) const;
+
+ /* forced death */
+ void suicide ();
+ bool is_live () const;