]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lookup.cc
release: 1.3.73
[lilypond.git] / lily / lookup.cc
index 56d0637936e84050926e3d98dd449d20c4f0c2d7..4b7a9bdc534210762785df5bc958f378847e58c4 100644 (file)
@@ -14,7 +14,7 @@
 #include <ctype.h>
 
 #include "lookup.hh"
-#include "debug.hh"
+#include "warn.hh"
 #include "dimensions.hh"
 #include "bezier.hh"
 #include "paper-def.hh"
 #include "scope.hh"
 #include "molecule.hh"
 
-#include "lily-guile.hh"
+
+#include "ly-smobs.icc"
 
 
 Lookup::Lookup ()
 {
   afm_l_ = 0;  
+  self_scm_ = SCM_EOL;
+  smobify_self ();  
 }
 
 Lookup::Lookup (Lookup const& s)
 {
   font_name_ = s.font_name_;
-  afm_l_ = 0;  
+  self_scm_ = SCM_EOL;
+  afm_l_ = 0;
+  smobify_self ();
+}
+
+SCM
+Lookup::mark_smob (SCM s)
+{
+  return s;  
+}
+
+int
+Lookup::print_smob (SCM s, SCM p, scm_print_state*)
+{
+  scm_puts ("#<Lookup >#", p);
+  return 1;
+}
+
+SCM
+Lookup::equal_p (SCM a , SCM b)
+{
+  return a == b ? SCM_BOOL_T : SCM_BOOL_F;
+}
+
+void
+Lookup::do_smobify_self ()
+{
+  
 }
 
+IMPLEMENT_UNSMOB(Lookup, lookup);
+IMPLEMENT_SMOBS(Lookup);
 
+SCM
+Lookup::make_lookup ()
+{
+  Lookup * l = new Lookup;
+  SCM ls = l->self_scm_;
+  scm_unprotect_object (ls);
+  return ls;
+}
 
 
 Molecule
@@ -71,6 +111,7 @@ Lookup::afm_find (String s, bool warn) const
                    gh_int2scm (cm->code),
                    SCM_UNDEFINED));
 
+
   at= fontify_atom (afm_l_,at);
   return Molecule ( afm_bbox_to_box (cm->charBBox), at);
 }
@@ -220,7 +261,7 @@ sanitise_PS_string (String t)
 }
 
 /**
-
+TODO: move into Text_item. UGH: paper_l argument shoudl be junked.
 */
 Molecule
 Lookup::text (String style, String text, Paper_def *paper_l)