X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fprob.hh;h=dff74f49d5e096f3843544c69631e2d9a727de1f;hb=55cdf3441eca8d6489c486767cf8013b08e8b32e;hp=136dd3c9d6610833d03cb8353f42a3ef8a20f788;hpb=16cb456cabf477f6d398ff731aa0f10b60913394;p=lilypond.git diff --git a/lily/include/prob.hh b/lily/include/prob.hh index 136dd3c9d6..dff74f49d5 100644 --- a/lily/include/prob.hh +++ b/lily/include/prob.hh @@ -1,9 +1,20 @@ /* - property-object.hh -- declare Property_object + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2011 Jan Nieuwenhuizen - (c) 2004--2007 Jan Nieuwenhuizen + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef PROPERTY_OBJECT_HH @@ -12,7 +23,6 @@ #include "stencil.hh" #include "virtual-methods.hh" - /* A formatted "system" (A block of titling also is a Property_object) @@ -20,37 +30,38 @@ formatted content of the grob is put into a Property_object. Page-breaking handles Property_object objects. */ + class Prob { DECLARE_SMOBS (Prob); - DECLARE_CLASSNAME(Prob); + DECLARE_CLASSNAME (Prob); void init_vars (); protected: SCM mutable_property_alist_; SCM immutable_property_alist_; SCM type_; - + virtual void derived_mark () const; virtual SCM copy_mutable_properties () const; - virtual void type_check_assignment (SCM,SCM) const; - + virtual void type_check_assignment (SCM, SCM) const; + public: Prob (SCM, SCM); Prob (Prob const &); virtual string name () const; SCM type () const { return type_; } - SCM get_property_alist (bool mutble) const; + SCM get_property_alist (bool _mutable) const; SCM internal_get_property (SCM sym) const; - -#ifndef NDEBUG - void internal_set_property (SCM sym, SCM val, const char *file, int line, char const *fun); -#else + void instrumented_set_property (SCM, SCM, const char *, int, const char *); void internal_set_property (SCM sym, SCM val); -#endif }; -DECLARE_UNSMOB(Prob,prob); + +DECLARE_UNSMOB (Prob, prob); + SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value); -SCM ly_prob_property (SCM system, SCM sym, SCM dfault); +SCM ly_prob_property (SCM prob, SCM sym, SCM val); + +SCM ly_prob_type_p (SCM obj, SCM sym); #endif /* PROPERTY_OBJECT_HH */