]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 10 Apr 2002 17:30:34 +0000 (17:30 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 10 Apr 2002 17:30:34 +0000 (17:30 +0000)
ChangeLog
lily/align-interface.cc
lily/mark-engraver.cc
lily/side-position-interface.cc
scm/grob-description.scm
scm/grob-property-description.scm

index 3df59d362fa01fe2b0156282633fcb4723bb76d5..ed088486f14fc232a1847bbb507cd5da3bd09f66 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-04-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * lily/include/grob-interface.hh (ADD_INTERFACE): make
+       implementation for Class::has_interface automatically. Junk all
+       other implementations.
+
        * lily/grob.cc (internal_get_grob_property): also typecheck
        property reads. Catches even more undocced properties. Bugfixing
        left for the uninspired masses.
index ef9d932842c1247efb0d0046b14162e790eca5b1..6158a3720f9422bdc3624691e9c21cd53fa99ff2 100644 (file)
@@ -185,13 +185,16 @@ Align_interface::align_elements_to_extents (Grob * me, Axis a)
     prevent ugly cyclic dependencies that arise when you combine
     self-alignment on a child with alignment of children.
   */
+ static SCM  prop_syms[2];
 
-  String s ("self-alignment-");
-
-  s += (a == X_AXIS) ? "X" : "Y";
-
-  SCM align (me->get_grob_property (s.ch_C ()));
-     
+  if (!prop_syms[0])
+    {
+      prop_syms[X_AXIS] = ly_symbol2scm ("self-alignment-X");
+      prop_syms[Y_AXIS] = ly_symbol2scm ("self-alignment-Y");
+    }
+  
+  SCM align (me->internal_get_grob_property (prop_syms[a]));
+  
   Array<Real> translates ;
   Interval total;
   Real where_f=0;
index a3123f1168b796b6db8f6e734cc476c7238f8f8b..e39e57e66d0a4128d18336739f8d66d440829d45 100644 (file)
@@ -89,8 +89,6 @@ Mark_engraver::create_items (Request *rq)
   text_p_ = new Item (s);
 
 
-  Side_position_interface::set_axis (text_p_, Y_AXIS);
-
   announce_grob(text_p_, rq->self_scm());
 }
 
index 0c923d28e8c8d718c4be1a28fd07e7ea8707065d..825f7a2afd310e49e8882f23c44ec86ab93116bd 100644 (file)
@@ -284,4 +284,4 @@ ADD_INTERFACE (Side_position_interface,"side-position-interface",
   "Position a victim object (this one) next to other objects (the support).
 #'direction = where to put the victim object (left or right?)
 ",
-  "side-support-elements direction-source direction side-relative-direction minimum-space padding self-alignment-X self-alignment-Y");
+  "side-support-elements direction-source direction side-relative-direction minimum-space padding");
index a237b014d10818ddb771a29eb561eae53769eccb..a342dc1a2273eb8b8750bfb6737bf6d0e0cc4778 100644 (file)
     (BassFigure
      . (
        (molecule-callback . ,brew-bass-figure)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (direction . 0)
        (font-family . number)
        (font-relative-size . -1)
        (padding . 0.1)
        (kern . 0.2)
        (thickness . 1.0)
-       (meta . ((interfaces . (text-interface font-interface))))
+       (meta . ((interfaces . (text-interface self-alignment-interface font-interface))))
        ))
     (Beam
      . (
 
     (DynamicText
      . (
-       (Y-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (molecule-callback . ,Text_item::brew_molecule)
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (self-alignment-X . 0)
        (no-spacing-rods . #t)
        (script-priority . 100)
        (font-family . dynamic)
        (font-shape . italic)
        (self-alignment-Y . 0)
-       (meta . ((interfaces . (font-interface text-interface dynamic-interface))))
+       (meta . ((interfaces . (font-interface text-interface self-alignment-interface  dynamic-interface))))
        ))
 
     (DynamicLineSpanner
     (Fingering
      . (
        (molecule-callback . ,Text_item::brew_molecule)
-       (X-offset-callbacks . (,Side_position_interface::centered_on_parent
-                              ,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent
+                              ,Self_alignment_interface::aligned_on_self))
        (padding . 0.6)
                                        ;               (direction . -1)
        (self-alignment-X . 0)
        (font-family . number)
        (font-relative-size . -3)
        (font-shape . upright)
-       (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface))))
+       (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface))))
        ))
 
 
        (dash-thickness . 1.2)
        (dash-length . 4.0)
        (self-alignment-Y . 0)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_on_self))
-       (meta . ((interfaces . (hairpin-interface dynamic-interface))))
+       (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (meta . ((interfaces . (hairpin-interface self-alignment-interface dynamic-interface))))
        ))
 
     (InstrumentName
      . (
        (breakable . #t)
-       (Y-offset-callbacks . (,Side_position_interface::aligned_on_self
+       (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self
                               ,Side_position_interface::aligned_on_support_refpoints))
        ;; huh? what's this for?
        (direction . 0)
        (visibility-lambda . ,begin-of-line-visible)
        (baseline-skip . 2)
        (font-family . roman)
-       (meta . ((interfaces . (font-interface side-position-interface text-interface break-aligned-interface))))
+       (meta . ((interfaces . (font-interface self-alignment-interface side-position-interface text-interface break-aligned-interface))))
        ))
 
     (KeySignature
     (LyricText
      . (
        (molecule-callback . ,Text_item::brew_molecule)
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (self-alignment-X . 0)
        (non-rhythmic . #t)
        (word-space . 0.6)
        (font-family . roman)
        (font-shape . upright)
        ;; duh, side-position-interface?
-       (meta . ((interfaces . (lyric-syllable-interface side-position-interface text-interface font-interface))))
+       (meta . ((interfaces . (lyric-syllable-interface self-alignment-interface text-interface font-interface))))
        ))
 
     (Porrectus
     (RehearsalMark
      . (
        (molecule-callback . ,Text_item::brew_molecule)
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side)) 
        (self-alignment-X . 0)
 
        (direction . 1)
        (breakable . #t)
        (visibility-lambda . ,end-of-line-invisible)
        (padding . 0.8)
-       (meta . ((interfaces . (text-interface font-interface mark-interface side-position-interface))))
+       (meta . ((interfaces . (text-interface side-position-interface font-interface mark-interface self-alignment-interface))))
        ))
 
     (MultiMeasureRest
        (self-alignment-X . 0)
        (text . "8")
        (visibility-lambda . ,begin-of-line-visible)
-       (X-offset-callbacks . (,Side_position_interface::centered_on_parent ,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self))
        (Y-offset-callbacks . (,Side_position_interface::aligned_side))
        (molecule-callback . ,Text_item::brew_molecule)
        (font-shape . italic)
        (font-family . roman)
-       (meta . ((interfaces . (text-interface side-position-interface font-interface))))
+       (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface))))
        ))
 
     (PaperColumn
        ;; don't set direction here: it breaks staccato.
        (molecule-callback . ,Script::brew_molecule)
        (padding . 0.29) 
-       (X-offset-callbacks . (,Side_position_interface::centered_on_parent))
+       (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent))
        (before-line-breaking-callback . ,Script::before_line_breaking)
        (font-family . music)
        (meta . ((interfaces . (script-interface side-position-interface font-interface))))
      . (
        (molecule-callback . ,Text_item::brew_molecule)
        (direction . 1)
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
        (no-spacing-rods . #t)
        (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner
        (pedal-type . mixed)
        (font-family . roman)
        (font-shape . italic)
        (self-alignment-X . 0)
-       (meta . ((interfaces . (text-interface  font-interface))))
+       (meta . ((interfaces . (text-interface  self-alignment-interface font-interface))))
        ))
 
     (SostenutoPedalLineSpanner 
        (direction . 1)
        (padding . 0.0)  ;; padding relative to SustainPedalLineSpanner
        (pedal-type . text)
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
-       (meta . ((interfaces . (piano-pedal-interface text-spanner-interface text-interface side-position-interface font-interface))))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (meta . ((interfaces . (piano-pedal-interface text-spanner-interface text-interface self-alignment-interface font-interface))))
        ))
 
     (SustainPedalLineSpanner 
        (direction . 1)
        (pedal-type . text)
        (padding . 0.0)  ;; padding relative to UnaCordaPedalLineSpanner
-       (X-offset-callbacks . (,Side_position_interface::aligned_on_self))
-       (meta . ((interfaces . (text-interface font-interface))))
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
+       (meta . ((interfaces . (text-interface self-alignment-interface font-interface))))
        ))
 
     (UnaCordaPedalLineSpanner 
index f1a1c2dbc51bee5e1819990badf7460097137d1f..4d00c8a28a526a4d98081f142a5a0292080a251a 100644 (file)
@@ -100,9 +100,8 @@ Concaveness is calculated as the sum of the vertical distances of
 inner noteheads that fall outside the interval of the two outer
 noteheads, to the vertically nearest outer notehead, divided by the
 square of the inner notes involved.")
-(grob-property-description 'bar-line-collapse-height number? "Minimum height of system start delimiter bar-line glyphs.  If equal or smaller, the bar-line is removed.")
-(grob-property-description 'brace-collapse-height number? "Minimum height of system start delimiter brace glyphs.  If equal or smaller, the brace is removed.")
-(grob-property-description 'bracket-collapse-height number? "Minimum height of system start delimiter bracket glyphs.  If equal or smaller, the bracket is removed.")
+(grob-property-description 'collapse-height number? "Minimum height of system start delimiter.  If equal or smaller, the bracket is removed.")
+
 (grob-property-description 'columns list? "list of grobs, typically containing paper-columns.")
 (grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the  tie/slur shape.")
 (grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .")
@@ -452,3 +451,5 @@ columns.
 
 (grob-property-description 'if-text-padding number? "padding in case texts are there.")
 (grob-property-description 'grace-space-factor number? "space grace at this fraction of the increment.")
+(grob-property-description 'position-callbacks list? "list of
+functions set spanner positions.")