X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=blobdiff_plain;f=lily%2Fhorizontal-align-item.cc;h=48701d148a9b9e9545209da0af0c15baf8ec8ec2;hb=2862b1027f316a2f0444fa92e441ee28acf7a463;hp=163a1bf61c12df191437e150ce98f7c0d607aeaa;hpb=68ffccad7c4d4ce0386cb60c537c99523e61c4d9;p=lilypond.git diff --git a/lily/horizontal-align-item.cc b/lily/horizontal-align-item.cc index 163a1bf61c..48701d148a 100644 --- a/lily/horizontal-align-item.cc +++ b/lily/horizontal-align-item.cc @@ -10,14 +10,9 @@ IMPLEMENT_IS_TYPE_B1(Horizontal_align_item,Item); -void -Horizontal_align_item::OK() const -{ - for (int i =0; i < item_l_arr_.size(); i++) - assert ( pcol_l_ == item_l_arr_[i]->pcol_l_); -} + bool -Horizontal_align_item::contains_b (Item *i)const +Horizontal_align_item::contains_b (Item *i) const { return item_l_arr_.find_l (i); } @@ -37,10 +32,10 @@ Horizontal_align_item::do_substitute_dependency (Score_elem*o,Score_elem*n) int i; while ((i = item_l_arr_.find_i (o->item())) >=0) { - if (n) - item_l_arr_[i] = n->item(); - else - item_l_arr_.del (i); + if (n) + item_l_arr_[i] = n->item(); + else + item_l_arr_.del (i); } } @@ -48,15 +43,15 @@ struct Horizontal_align_item_content { Item * item_l_; int priority_i_; static int compare (Horizontal_align_item_content const &h1, - Horizontal_align_item_content const &h2) - { - return h1.priority_i_ - h2.priority_i_; - } + Horizontal_align_item_content const &h2) + { + return h1.priority_i_ - h2.priority_i_; + } Horizontal_align_item_content (Item*i, int p) - { - priority_i_ = p; - item_l_ = i; - } + { + priority_i_ = p; + item_l_ = i; + } Horizontal_align_item_content(){item_l_ =0; priority_i_ =0; } }; @@ -64,50 +59,49 @@ struct Horizontal_align_item_content { void Horizontal_align_item::do_pre_processing() { - OK(); { - Array content; - for (int i =0; i < item_l_arr_.size(); i++) - content.push ( - Horizontal_align_item_content ( - item_l_arr_[i], priority_i_arr_[i])); - content.sort (Horizontal_align_item_content::compare); - item_l_arr_.clear(); - priority_i_arr_.clear(); - for (int i =0; i < content.size(); i++) - { - item_l_arr_.push (content[i].item_l_); - priority_i_arr_.push (content[i].priority_i_); - } - } + Array content; + for (int i =0; i < item_l_arr_.size(); i++) + content.push ( + Horizontal_align_item_content ( + item_l_arr_[i], priority_i_arr_[i])); + content.sort (Horizontal_align_item_content::compare); + item_l_arr_.clear(); + priority_i_arr_.clear(); + for (int i =0; i < content.size(); i++) + { + item_l_arr_.push (content[i].item_l_); + priority_i_arr_.push (content[i].priority_i_); + } + } Array dims; Real total =0; for (int i =0; i < item_l_arr_.size(); i++) { - Interval item_width= item_l_arr_[i]->width(); - if (item_width.empty_b()) - { - item_width = Interval (0,0); - } - dims.push (item_width); - total += item_width.length(); + Interval item_width= item_l_arr_[i]->width(); + if (item_width.empty_b()) + { + item_width = Interval (0,0); + } + dims.push (item_width); + total += item_width.length(); } Real where_f= total * (align_i_-1.0)/2.0; Real center_dx_f = 0; - for ( int i=0 ; i < item_l_arr_.size(); i++) + for (int i=0 ; i < item_l_arr_.size(); i++) { - Real dx = where_f -dims[i][-1]; - item_l_arr_[i]->translate (dx , X_AXIS); - if (item_l_arr_[i] == center_l_) - center_dx_f = where_f; - where_f += dims[i].length(); + Real dx = where_f -dims[i][-1]; + item_l_arr_[i]->translate (dx , X_AXIS); + if (item_l_arr_[i] == center_l_) + center_dx_f = where_f; + where_f += dims[i].length(); } if (center_dx_f && !align_i_) - for ( int i=0 ; i < item_l_arr_.size(); i++) - item_l_arr_[i]->translate (- center_dx_f , X_AXIS); + for (int i=0 ; i < item_l_arr_.size(); i++) + item_l_arr_[i]->translate (- center_dx_f , X_AXIS); } @@ -118,7 +112,7 @@ Horizontal_align_item::do_width() const } void -Horizontal_align_item::do_print()const +Horizontal_align_item::do_print() const { }