X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgrob.hh;h=c66c58f2ddddb2ce7cc6b8bd9c80aa5e13be4fc4;hb=5ed10e40db547f70f6f5b3ae2092ab0997d89fa3;hp=64fb7322a69f3065a907d5b9f45e08470e0978e3;hpb=31a6b8c4e2cbcea4a968511cdf339ccb8473108c;p=lilypond.git diff --git a/lily/include/grob.hh b/lily/include/grob.hh index 64fb7322a6..c66c58f2dd 100644 --- a/lily/include/grob.hh +++ b/lily/include/grob.hh @@ -3,7 +3,7 @@ source file of the LilyPond music typesetter - (c) 1996--2006 Han-Wen Nienhuys + (c) 1996--2007 Han-Wen Nienhuys */ #ifndef GROB_HH @@ -13,7 +13,6 @@ #include "virtual-methods.hh" #include "dimension-cache.hh" #include "grob-interface.hh" -#include "object-key.hh" class Grob { @@ -28,7 +27,6 @@ protected: Dimension_cache dim_cache_[NO_AXES]; Output_def *layout_; Grob *original_; - Object_key const *key_; /* SCM data */ SCM immutable_property_alist_; @@ -44,6 +42,9 @@ protected: void substitute_object_links (SCM, SCM); Real get_offset (Axis a) const; SCM try_callback (SCM, SCM); + SCM try_callback_on_alist (SCM *, SCM, SCM); + void internal_set_value_on_alist (SCM *alist, SCM sym, SCM val); + public: /* friends */ @@ -62,12 +63,11 @@ public: 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; + Grob (SCM basic_props); + Grob (Grob const &); + virtual Grob *clone () const; /* forced death */ void suicide (); @@ -110,7 +110,7 @@ public: /* interfaces */ bool internal_has_interface (SCM intf); - static bool has_interface (Grob *me); + DECLARE_GROB_INTERFACE(); /* offsets */ void translate_axis (Real, Axis);