/*
- textspanner.hh -- part of GNU LilyPond
+ text-spanner.hh -- declare Text_spanner
- (c) 1996--1998 Han-Wen Nienhuys
+ source file of the GNU LilyPond music typesetter
+
+ (c) 2000--2003 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#ifndef TEXTSPANNER_HH
-#define TEXTSPANNER_HH
-#include "string.hh"
-#include "directional-spanner.hh"
-#include "text-def.hh"
+#ifndef TEXT_SPANNER_HH
+#define TEXT_SPANNER_HH
-/** a spanner which puts texts on top of other spanners. Use for
- triplets, volta, ottava, etc. */
-class Text_spanner : public Spanner {
-public:
- Directional_spanner * support_span_l_;
- General_script_def * spec_p_;
- Offset text_off_;
- DECLARE_MY_RUNTIME_TYPEINFO;
+#include "lily-guile.hh"
- void set_support (Directional_spanner*);
- Text_spanner();
- Text_spanner (Text_spanner const&);
-protected:
- SCORE_ELEMENT_CLONE(Text_spanner);
- ~Text_spanner();
- virtual void do_add_processing ();
- virtual void do_substitute_dependency (Score_element*,Score_element*);
- virtual void do_pre_processing();
- virtual void do_post_processing();
- virtual Interval height() const ;
- virtual Molecule* brew_molecule_p() const;
- virtual void do_print() const;
+class Text_spanner
+{
+public:
+ DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+ static bool has_interface (Grob*);
+private:
+ static void setup_pedal_bracket(Spanner *s);
};
-#endif // TEXTSPANNER_HH
+#endif /* TEXT_SPANNER_HH */