X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpointer-group-interface.cc;h=36eac12bca69bbd2f50b87310bd9e94b5e374adf;hb=d8082113a0df616e7beabc0417c3590a3fac7320;hp=6366fb1fa12caa323f6770f3db87d15e96de019a;hpb=31568c504806f35aac420a394c9eab07abd9faa7;p=lilypond.git diff --git a/lily/pointer-group-interface.cc b/lily/pointer-group-interface.cc index 6366fb1fa1..36eac12bca 100644 --- a/lily/pointer-group-interface.cc +++ b/lily/pointer-group-interface.cc @@ -8,8 +8,6 @@ #include "pointer-group-interface.hh" -#include "lily-proto.hh" -#include "item.hh" #include "grob-array.hh" #include "grob.hh" @@ -27,7 +25,14 @@ Pointer_group_interface::add_grob (Grob *me, SCM sym, SCM p) } void -Pointer_group_interface::add_grob (Grob *me, SCM sym, Grob *p) +Pointer_group_interface::set_ordered (Grob *me, SCM sym, bool ordered) +{ + Grob_array *arr = get_grob_array (me, sym); + arr->set_ordered (ordered); +} + +Grob_array * +Pointer_group_interface::get_grob_array (Grob *me, SCM sym) { SCM scm_arr = me->internal_get_object (sym); Grob_array *arr = unsmob_grob_array (scm_arr); @@ -35,9 +40,24 @@ Pointer_group_interface::add_grob (Grob *me, SCM sym, Grob *p) { scm_arr = Grob_array::make_array (); arr = unsmob_grob_array (scm_arr); - me->internal_set_object (sym, scm_arr); + me->set_object (sym, scm_arr); } + return arr; +} + +void +Pointer_group_interface::add_grob (Grob *me, SCM sym, Grob *p) +{ + Grob_array *arr = get_grob_array (me, sym); + arr->add (p); +} + +void +Pointer_group_interface::add_unordered_grob (Grob *me, SCM sym, Grob *p) +{ + Grob_array *arr = get_grob_array (me, sym); arr->add (p); + arr->set_ordered (false); } static vector empty_array;