#include "axis-group-element.hh"
#include "graphical-axis-group.hh"
+#include "dimension-cache.hh"
Link_array<Score_element>
Axis_group_element::get_extra_dependencies() const
Axis_group_element::set_axes (Axis a1, Axis a2)
{
Graphical_axis_group::set_axes (a1,a2);
- dim_cache_[X_AXIS]->set_empty ((a1 != X_AXIS && a2 != X_AXIS));
- dim_cache_[Y_AXIS]->set_empty ((a1 != Y_AXIS && a2 != Y_AXIS));
+ set_empty (a1 != X_AXIS && a2 != X_AXIS, X_AXIS);
+ set_empty (a1 != Y_AXIS && a2 != Y_AXIS, Y_AXIS);
}
while ((i = elem_l_arr_.find_i (go))>=0)
elem_l_arr_.substitute (go,gn);
-#if 0
- if (n)
- elem_l_arr_[i] = n;
- else
- elem_l_arr_.del (i);
-#endif
+
extra_elems_.substitute (o, n);
}
Axis_group_element::extra_extent (Axis a )const
{
Interval g;
- purge_extra (); // Yeah yeah, const correctness.
+ Axis_group_element* urg = (Axis_group_element*)this;
+ urg->purge_extra (); // Yeah yeah, const correctness.
for (int i=0; i < extra_elems_.size (); i++)
{
- Interval ge = extra_elems_[i]->extent (a);
- ge += extra_elems_[i]->relative_coordinate (dim_cache_[a], a);
+ Interval ge = extra_elems_[i]->relative_coordinate (this, a)
+ + extra_elems_[i]->extent (a);
g.unite (ge);
}
return g;
i++;
}
}
+
+Interval
+Axis_group_element::extent (Axis a) const
+{
+ return Graphical_element::extent (a);
+}
+