property_callbacks_ = s.property_callbacks_;
object_alist_ = SCM_EOL;
- /* No properties are copied. That is the job of
- handle_broken_dependencies. */
- status_ = s.status_;
pscore_ = 0;
smobify_self ();
return pscore_ ? pscore_->layout () : 0;
}
-/* Recursively track all dependencies of this Grob. The status_ field
- is used as a mark-field. It is marked with BUSY during execution
- of this function, and marked with FINAL when finished.
-
- FUNCPTR is the function to call to update this element. */
-void
-Grob::calculate_dependencies (int final, int busy, SCM funcname)
-{
- if (status_ >= final)
- return;
-
- if (status_ == busy)
- {
- programming_error ("element is busy, come back later");
- return;
- }
-
- status_ = busy;
-
- extract_grob_set (this, "dependencies", deps);
- for (int i = 0; i < deps.size (); i++)
- deps[i]->calculate_dependencies (final, busy, funcname);
-
- SCM proc = internal_get_property (funcname);
- if (ly_is_procedure (proc))
- scm_call_1 (proc, this->self_scm ());
-
- status_ = final;
-}
-
Stencil *
Grob::get_stencil () const
{
"lists of other objects, or results from computations are stored in"
"mutable properties: every call to set-grob-property (or its C++ equivalent) "
"sets a mutable property. ",
+ "\n\n"
+
+ "The properties @code{after-line-breaking} and @code{before-line-breaking} are unused dummies. "
/* properties */
"X-extent "
"Y-extent "
"Y-extent-callback "
"Y-offset-callbacks "
- "after-line-breaking-callback "
+ "after-line-breaking "
"axis-group-parent-X "
"axis-group-parent-Y "
- "before-line-breaking-callback "
+ "before-line-breaking "
"callbacks "
"cause "
"color "
(print-function . ,Accidental_interface::print)
(avoid-slur . inside)
(cautionary-style . parentheses)
- (after-line-breaking-callback . ,Accidental_interface::after_line_breaking)
+ (callbacks ((after-line-breaking . ,Accidental_interface::after_line_breaking)))
+
(meta . ((class . Item)
(interfaces . (accidental-interface
font-interface))))))
(X-offset-callbacks . (,Side_position_interface::aligned_side))
(direction . -1)
(cautionary-style . parentheses)
- (after-line-breaking-callback . ,Accidental_interface::after_line_breaking)
+ (callbacks . ((after-line-breaking . ,Accidental_interface::after_line_breaking)
+ ))
(meta . ((class . Item)
(interfaces . (item-interface
accidental-interface
(print-function . ,Bar_line::print)
(break-visibility . ,all-visible)
(breakable . #t)
- (before-line-breaking-callback . ,Bar_line::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Bar_line::before_line_breaking)))
(space-alist . (
(time-signature . (extra-space . 0.75))
(custos . (minimum-space . 2.0))
;; TODO: should be in SLT.
(thickness . 0.48) ; in staff-space
-; (before-line-breaking-callback . ,Beam::before_line_breaking)
-; (after-line-breaking-callback . ,Beam::after_line_breaking)
(neutral-direction . -1)
(dir-function . ,beam-dir-majority-median)
(Clef
. (
(print-function . ,Clef::print)
- (before-line-breaking-callback . ,Clef::before_line_breaking)
+ (callbacks ((before-line-breaking . ,Clef::before_line_breaking)))
(breakable . #t)
(font-family . music)
(break-align-symbol . clef)
(ChordName
. (
(print-function . ,Text_interface::print)
- (after-line-breaking-callback . ,Chord_name::after_line_breaking)
+ (callbacks . ((after-line-breaking . ,Chord_name::after_line_breaking)
+ ))
(word-space . 0.0)
(font-family . sans)
(font-size . 1.5)
(DynamicText
. (
(print-function . ,Text_interface::print)
- (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+ ;; todo.
+ (callbacks . ((before-line-breaking . ,Script_interface::before_line_breaking)))
(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
(self-alignment-X . 0)
(Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
- (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Script_interface::before_line_breaking)))
(font-encoding . fetaNumber)
(font-size . -5) ; don't overlap when next to heads.
(meta . ((class . Item)
(breakable . #t)
(X-extent-callback . #f)
(Y-extent-callback . #f)
- (after-line-breaking-callback . ,Line_spanner::after_line_breaking)
+ (callbacks ((after-line-breaking . ,Line_spanner::after_line_breaking)
+ ))
(print-function . ,Line_spanner::print)
(meta . ((class . Spanner)
(interfaces . (line-interface
(Hairpin
. (
(print-function . ,Hairpin::print)
- (after-line-breaking-callback . ,Hairpin::after_line_breaking)
+ (callbacks . ((after-line-breaking . ,Hairpin::after_line_breaking)))
(thickness . 1.0)
(height . 0.6666)
(spacing-procedure . ,Spanner::set_spacing_rods)
(PaperColumn
. (
(axes . (0))
- (before-line-breaking-callback . ,Paper_column::before_line_breaking)
+ (callbacks ((before-line-breaking . ,Paper_column::before_line_breaking)))
(X-extent-callback . ,Axis_group_interface::group_extent_callback)
;; debugging
. (
(axes . (0))
(X-extent-callback . ,Axis_group_interface::group_extent_callback)
- (before-line-breaking-callback . ,Paper_column::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Paper_column::before_line_breaking)))
(breakable . #t)
;; debugging stuff: print column number.
(print-function . ,Text_interface::print)
(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
- (after-line-breaking-callback . ,shift-right-at-line-begin)
+ (callbacks . ((after-line-breaking . ,shift-right-at-line-begin)))
(self-alignment-X . 0)
(direction . 1)
(breakable . #t)
(interfaces . (percent-repeat-interface))))))
(Rest
. (
- (after-line-breaking-callback . ,Rest::after_line_breaking)
(X-extent-callback . ,Rest::extent_callback)
(Y-extent-callback . ,Rest::extent_callback)
(print-function . ,Rest::print)
- (Y-offset-callbacks . (,Staff_symbol_referencer::callback
- ,Rest::polyphonic_offset_callback))
+ (Y-offset-callbacks . (
+ ,Staff_symbol_referencer::callback
+ ,Rest::polyphonic_offset_callback
+ ,Rest::y_offset_callback
+ ))
(minimum-distance . 0.25)
(meta . ((class . Item)
(interfaces . (font-interface
(staff-padding . 0.25)
;; (script-priority . 0) priorities for scripts, see script.scm
(X-offset-callbacks . (,Self_alignment_interface::centered_on_parent))
- (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Script_interface::before_line_breaking)))
(font-encoding . fetaMusic)
(meta . ((class . Item)
(interfaces . (script-interface
(ScriptColumn
. (
- (before-line-breaking-callback . ,Script_column::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Script_column::before_line_breaking)))
(meta . ((class . Item)
(interfaces . (script-column-interface))))))
(Y-extent-callback . ())
(layer . 0)
(breakable . #t)
- (before-line-breaking-callback . ,Span_bar::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Span_bar::before_line_breaking)))
;; ugh duplication!
;;
(print-function . ,System_start_delimiter::print)
(glyph . "bar-line")
(thickness . 1.6)
- (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
+ (callbacks . ((after-line-breaking . ,System_start_delimiter::after_line_breaking)))
+
(meta . ((class . Spanner)
(interfaces . (system-start-delimiter-interface))))))
;; sync with Fingering ?
(padding . 0.5)
(staff-padding . 0.5)
- (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+ (callbacks . ((before-line-breaking . ,Script_interface::before_line_breaking)))
(avoid-slur . around)
(slur-padding . 0.5)
(script-priority . 200)
(TieColumn
. (
(callbacks . ((positioning-done . ,Tie_column::calc_positioning_done)
+ (before-line-breaking . ,Tie_column::before_line_breaking)
))
- (before-line-breaking-callback . ,Tie_column::before_line_breaking)
(X-extent-callback . #f)
(Y-extent-callback . #f)
(VoltaBracket
. (
(print-function . ,Volta_bracket_interface::print)
- (after-line-breaking-callback . ,Volta_bracket_interface::after_line_breaking)
+ (callbacks . ((after-line-breaking . ,Volta_bracket_interface::after_line_breaking)))
(direction . ,UP)
(padding . 1)
(font-encoding . fetaNumber)
(X-extent-callback . #f)
(Y-extent-callback . #f)
(print-function . ,Line_spanner::print)
- (after-line-breaking-callback . ,Line_spanner::after_line_breaking)
+ (callbacks ((after-line-breaking . ,Line_spanner::after_line_breaking)))
(meta . ((class . Spanner)
(interfaces . (line-spanner-interface
line-interface))))))))