+static SCM
+zigzag_atom (Grob* me, Real thick, Real dx, Real dy)
+{
+ Real staff_space = Staff_symbol_referencer::staff_space (me);
+ SCM ws = me->get_grob_property ("zigzag-width");
+ SCM ls = me->get_grob_property ("zigzag-length");
+ double w = (gh_number_p(ws) ? gh_scm2double(ws) : 1)*staff_space;
+ double l = (gh_number_p(ls) ? gh_scm2double(ls) : 1)*w;
+ double h = l>w/2 ? sqrt(l*l-w*w/4) : 0;
+
+ SCM list = scm_list_n (ly_symbol2scm ("zigzag-line"),
+ gh_bool2scm (true),
+ gh_double2scm (w),
+ gh_double2scm (h),
+ gh_double2scm (thick),
+ gh_double2scm (dx),
+ gh_double2scm (dy),
+ SCM_UNDEFINED);
+
+ return list;
+}
+
+
+