]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/balloon.cc
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / balloon.cc
index 3d3f15c3ca192ea5d9a8ec8bda2b1c8a2ec8ec51..d8519f6e39345bfd45f8a08dab5e7c0597534bd1 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2004--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2004--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -33,7 +33,6 @@ class Balloon_interface
 public:
   DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (print_spanner, (SCM));
-  DECLARE_GROB_INTERFACE ();
 
   static SCM internal_balloon_print (Grob *me, Grob *p, Offset off);
 };
@@ -42,7 +41,7 @@ MAKE_SCHEME_CALLBACK (Balloon_interface, print, 1);
 SCM
 Balloon_interface::print (SCM smob)
 {
-  Grob *me = unsmob_grob (smob);
+  Grob *me = unsmob<Grob> (smob);
 
   if (Item *item = dynamic_cast<Item *> (me))
     if (!Item::break_visible (item))
@@ -60,7 +59,7 @@ MAKE_SCHEME_CALLBACK (Balloon_interface, print_spanner, 1);
 SCM
 Balloon_interface::print_spanner (SCM smob)
 {
-  Spanner *me = unsmob_spanner (smob);
+  Spanner *me = unsmob<Spanner> (smob);
   Spanner *orig = dynamic_cast<Spanner *> (me->original ());
 
   if (orig)
@@ -88,8 +87,8 @@ Balloon_interface::print_spanner (SCM smob)
 SCM
 Balloon_interface::internal_balloon_print (Grob *me, Grob *p, Offset off)
 {
-  Box b (p->extent (p, X_AXIS),
-         p->extent (p, Y_AXIS));
+  Box b (robust_relative_extent (p, p, X_AXIS),
+         robust_relative_extent (p, p, Y_AXIS));
   Real padding = robust_scm2double (me->get_property ("padding"), .1);
   b.widen (padding, padding);
 
@@ -102,7 +101,7 @@ Balloon_interface::internal_balloon_print (Grob *me, Grob *p, Offset off)
   SCM chain = Font_interface::text_font_alist_chain (me);
   SCM stencil = Text_interface::interpret_markup (me->layout ()->self_scm (),
                                                   chain, bt);
-  Stencil *text_stil = unsmob_stencil (stencil);
+  Stencil *text_stil = unsmob<Stencil> (stencil);
 
   Offset z1;