#include "staff-symbol-referencer.hh"
#include "directional-element.hh"
-/**
- Position myself next to a set of elements. Configurable in axis
- and direction.
-
- Properties:
-
- padding :: Real
-
- Amount of extra space to add.
-*/
-class Staff_side_element : public Staff_symbol_referencer,
- public Directional_element
+struct Staff_sidify
{
- void position_self ();
-
+ Score_element * elt_l_;
public:
- Score_element * to_position_l_;
-
+ Staff_sidify (Score_element*);
+ static Real position_self (Dimension_cache const *);
- Link_array<Score_element> support_l_arr_;
- Axis axis_;
- //junkme.
- bool staff_support_b_;
+ void set_axis (Axis);
+ Axis get_axis () const;
- Staff_side_element ();
- void set_victim (Score_element*);
+ bool is_staff_side_b ();
void add_support (Score_element*);
+ Real aligned_position (Dimension_cache const*);
- VIRTUAL_COPY_CONS(Score_element);
- virtual Direction get_default_direction () const;
-protected:
- virtual Interval do_height () const;
- virtual void do_print () const;
- virtual void do_add_processing ();
- virtual void do_substitute_element_pointer (Score_element*,Score_element*);
- virtual void do_pre_processing ();
- virtual void do_post_processing ();
+
+ Direction get_direction () const;
+ void set_direction (Direction);
};
-class Staff_side_item : public Staff_side_element, public Item
-{
-public:
- VIRTUAL_COPY_CONS(Score_element);
-protected:
- virtual Interval do_width () const;
- virtual void do_print () const;
-};
-class Staff_side_spanner : public Staff_side_element, public Spanner
-{
-public:
- VIRTUAL_COPY_CONS(Score_element);
-protected:
- virtual void do_print () const;
-};
#endif /* STAFF_SIDE_HH */