- Box b (p->extent (p, X_AXIS),
- p->extent (p, Y_AXIS));
+ return internal_balloon_print (me, p, off);
+}
+
+MAKE_SCHEME_CALLBACK (Balloon_interface, print_spanner, 1);
+SCM
+Balloon_interface::print_spanner (SCM smob)
+{
+ Spanner *me = unsmob_spanner (smob);
+ Spanner *orig = dynamic_cast<Spanner *> (me->original ());
+
+ if (orig)
+ {
+ Direction spanner_placement = robust_scm2dir (me->get_property ("spanner-placement"), LEFT);
+
+ Spanner *wanted = (spanner_placement != RIGHT)
+ ? orig->broken_intos_[0]
+ : orig->broken_intos_.back ();
+
+ if (me != wanted)
+ return SCM_EOL;
+ }
+
+ Spanner *p = dynamic_cast<Spanner *> (me->get_parent (Y_AXIS));
+
+ if (!p)
+ return SCM_EOL;