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);
}
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);
}
}
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; }
};
void
Horizontal_align_item::do_pre_processing()
{
- OK();
{
- Array<Horizontal_align_item_content> 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<Horizontal_align_item_content> 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<Interval> 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);
}
}
void
-Horizontal_align_item::do_print()const
+Horizontal_align_item::do_print() const
{
}