-
-
-SCM
-spanner_get_bound (SCM slur, SCM dir)
-{
- Spanner * sl = dynamic_cast<Spanner*> (unsmob_grob (slur));
- SCM_ASSERT_TYPE(sl, slur, SCM_ARG1, __FUNCTION__, "spanner grob");
- SCM_ASSERT_TYPE(ly_dir_p (dir), slur, SCM_ARG2, __FUNCTION__, "dir");
- return sl->get_bound (to_dir (dir))->self_scm ();
-}
-
-SCM
-ly_get_paper_var (SCM grob, SCM sym)
-{
- Grob * sc = unsmob_grob (grob);
- SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
- SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");
-
- return sc->paper_l() ->get_scmvar_scm (sym);
-}
-
-
-
-SCM
-ly_get_extent (SCM grob, SCM refp, SCM axis)
-{
- Grob * sc = unsmob_grob (grob);
- Grob * ref = unsmob_grob (refp);
- SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
- SCM_ASSERT_TYPE(ref, refp, SCM_ARG2, __FUNCTION__, "grob");
-
- SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG3, __FUNCTION__, "axis");
-
- return ly_interval2scm ( sc->extent (ref, Axis (gh_scm2int (axis))));
-}
-
-SCM
-ly_get_parent (SCM grob, SCM axis)
-{
- Grob * sc = unsmob_grob (grob);
- SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
- SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
-
- return sc->get_parent (Axis (gh_scm2int (axis)))->self_scm();
-}
-
-
-static void
-init_functions ()
-{
- scm_c_define_gsubr ("ly-get-grob-property", 2, 0, 0,
- (Scheme_function_unknown)ly_get_grob_property);
- scm_c_define_gsubr ("ly-set-grob-property", 3, 0, 0,
- (Scheme_function_unknown)ly_set_grob_property);
- scm_c_define_gsubr ("ly-get-spanner-bound", 2 , 0, 0,
- (Scheme_function_unknown) spanner_get_bound);
- scm_c_define_gsubr ("ly-get-paper-variable", 2, 0, 0,
- (Scheme_function_unknown) ly_get_paper_var);
- scm_c_define_gsubr ("ly-get-extent", 3, 0, 0,
- (Scheme_function_unknown) ly_get_extent);
- scm_c_define_gsubr ("ly-get-parent", 2, 0, 0,
- (Scheme_function_unknown) ly_get_parent);
-}
-