*/
#include "coherent-ligature-engraver.hh"
+#include "font-interface.hh"
+#include "international.hh"
#include "mensural-ligature.hh"
#include "music.hh"
-#include "warn.hh"
-#include "spanner.hh"
-#include "paper-column.hh"
#include "note-column.hh"
-#include "rhythmic-head.hh"
#include "note-head.hh"
-#include "staff-symbol-referencer.hh"
#include "output-def.hh"
-#include "font-interface.hh"
+#include "paper-column.hh"
+#include "rhythmic-head.hh"
+#include "spanner.hh"
+#include "staff-symbol-referencer.hh"
+#include "warn.hh"
/*
* TODO: accidentals are aligned with the first note;
protected:
virtual Spanner *create_ligature_spanner ();
- virtual void build_ligature (Spanner *ligature, Array<Grob_info> primitives);
+ virtual void build_ligature (Spanner *ligature, vector<Grob_info> primitives);
public:
TRANSLATOR_DECLARATIONS (Mensural_ligature_engraver);
private:
- void transform_heads (Array<Grob_info> primitives);
- void propagate_properties (Spanner *ligature, Array<Grob_info> primitives);
- void fold_up_primitives (Array<Grob_info> primitives);
+ void transform_heads (vector<Grob_info> primitives);
+ void propagate_properties (Spanner *ligature, vector<Grob_info> primitives);
+ void fold_up_primitives (vector<Grob_info> primitives);
};
Mensural_ligature_engraver::Mensural_ligature_engraver ()
}
void
-Mensural_ligature_engraver::transform_heads (Array<Grob_info> primitives)
+Mensural_ligature_engraver::transform_heads (vector<Grob_info> primitives)
{
if (primitives.size () < 2)
{
bool prev_semibrevis = false;
Item *prev_primitive = NULL;
- for (int i = 0, s = primitives.size (); i < s; i++)
+ for (vsize i = 0, s = primitives.size (); i < s; i++)
{
Grob_info info = primitives[i];
Item *primitive = dynamic_cast<Item *> (info.grob ());
*/
void
Mensural_ligature_engraver::propagate_properties (Spanner *ligature,
- Array<Grob_info> primitives)
+ vector<Grob_info> primitives)
{
Real thickness
= robust_scm2double (ligature->get_property ("thickness"), 1.4);
thickness
- *= ligature->layout ()->get_dimension (ly_symbol2scm ("linethickness"));
+ *= ligature->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
Real head_width
= Font_interface::get_default_font (ligature)->
Real half_flexa_width = 0.5 * (flexa_width + thickness);
- for (int i = 0; i < primitives.size (); i++)
+ for (vsize i = 0; i < primitives.size (); i++)
{
Item *primitive = dynamic_cast<Item *> (primitives[i].grob ());
int output = scm_to_int (primitive->get_property ("primitive"));
}
void
-Mensural_ligature_engraver::fold_up_primitives (Array<Grob_info> primitives)
+Mensural_ligature_engraver::fold_up_primitives (vector<Grob_info> primitives)
{
Item *first = 0;
Real distance = 0;
- for (int i = 0; i < primitives.size (); i++)
+ for (vsize i = 0; i < primitives.size (); i++)
{
Item *current = dynamic_cast<Item *> (primitives[i].grob ());
if (i == 0)
void
Mensural_ligature_engraver::build_ligature (Spanner *ligature,
- Array<Grob_info> primitives)
+ vector<Grob_info> primitives)
{
transform_heads (primitives);
propagate_properties (ligature, primitives);