X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fline-of-score.hh;h=2a0af1ab1ffa1a3f9f4e80805e89098f9dda8182;hb=d7416352b825c3e9b4858e1ddcf14f0c00e26d89;hp=6cf5efbfaea3d61dac7d2707d5d2d77726f9f5ec;hpb=339ea28cd7e4f8a1c1ca7c1d4dfe803a3f4c03e6;p=lilypond.git diff --git a/lily/include/line-of-score.hh b/lily/include/line-of-score.hh index 6cf5efbfae..2a0af1ab1f 100644 --- a/lily/include/line-of-score.hh +++ b/lily/include/line-of-score.hh @@ -1,37 +1,61 @@ /* line-of-score.hh -- part of GNU LilyPond - (c) 1996--1999 Han-Wen Nienhuys + (c) 1996--2000 Han-Wen Nienhuys */ #ifndef SCORELINE_HH #define SCORELINE_HH -#include "colhpos.hh" -#include "axis-group-spanner.hh" -#include "super-element.hh" +#include "protected-scm.hh" +#include "column-x-positions.hh" +#include "spanner.hh" -/// the columns of a score that form one line. -class Line_of_score : public Axis_group_spanner, public Super_element +/** + The columns of a score that form one line. The toplevel element. + Any element has a Line_of_score as both X and Y reference + point. The Paper_score contains one element of this type. Control + enters the Score_element dependency calculation from this single + Line_of_score object. + + + properties: + + all-elements -- list of all score elements in this line. Needed + for protecting elements from GC. + + columns -- list of all paper columns + + */ +class Line_of_score : public Spanner { public: - Link_array cols_; + + void post_processing(); + + /// -> SCM + int rank_i_; + + Protected_scm output_; Line_of_score(); /// is #c# contained in #*this#? bool contains_b (Paper_column const *c) const; - Line_of_score * set_breaking (Array const&, int j); + void break_into_pieces (Array const&); + void output_lines (); - void output_all (bool last_line); - void add_column (Paper_column*); + Link_array broken_col_range (Item const*, Item const*) const; + Link_array column_l_arr () const; + void add_column (Paper_column*); + void typeset_element (Score_element*); + void output_molecule (SCM, Offset); + void output_scheme (SCM); + void pre_processing (); protected: - virtual void do_substitute_element_pointer (Score_element*, Score_element*); - virtual Link_array get_extra_dependencies () const; - virtual void do_print() const; VIRTUAL_COPY_CONS(Score_element); };