]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/text-item.hh
patch::: 1.3.108.jcn1
[lilypond.git] / lily / include / text-item.hh
index 8b73e999bb6714aa9b6fc9c1ddda951b1ac40475..8a021e004b27e2e0dc35105c3f8d9904f862094b 100644 (file)
@@ -1,32 +1,31 @@
 /*   
   text-item.hh -- declare Text_item
-  
+
   source file of the GNU LilyPond music typesetter
   
 (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
(c) 1998--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  Jan Nieuwenhuizen <janneke@gnu.org>
  */
 
-#ifndef Text_ITEM_HH
-#define Text_ITEM_HH
+#ifndef TEXT_ITEM
+#define TEXT_ITEM
 
-#include "item.hh"
 
-/**
-   Print a text in specified style.
- */
-class Text_item : public Item
+#include "lily-proto.hh"
+#include "lily-guile.hh"
+#include "molecule.hh"
+
+class Text_item
 {
 public:
-  String text_str_;
-  String style_str_;
+  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
+  static Molecule text2molecule (Score_element *me, SCM text, SCM properties);
+  static Molecule string2molecule (Score_element *me, SCM text, SCM properties);
+  static Molecule markup_sentence2molecule (Score_element *me, SCM markup_sentence, SCM properties);
 
-  Text_item ();
-  VIRTUAL_COPY_CONS (Score_element);
-protected:
-  virtual void do_print () const;
-  virtual Molecule *do_brew_molecule_p () const;
+private:
+  static Molecule lookup_character (Score_element *me, Font_metric*, SCM char_name);
+  static Molecule lookup_text (Score_element *me, Font_metric*, SCM text);
 };
 
-#endif /* Text_ITEM_HH */
-
+#endif /* TEXT_ITEM */