]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/grob-selector.hh
* lily/lookup.cc (triangle): rewrite, obviating symmetric_x_triangle().
[lilypond.git] / lily / include / grob-selector.hh
1 /*
2   grob-selector.hh -- declare Grob_selector
3
4   source file of the LilyPond music typesetter
5   
6   (c) 2004 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8 #ifndef GROB_SELECTOR_HH
9 #define GROB_SELECTOR_HH
10
11 #include "lily-guile.hh"
12 #include "lily-proto.hh"
13 #include "protected-scm.hh"
14
15 /**
16  * Grob_selector:
17  * @register_grob: register new #GROB.
18  #
19  **/
20 class Grob_selector
21 {
22   static Scheme_hash_table *grobs_;
23   static Protected_scm tweaks_;
24
25 public:
26   static void register_grob (Context *context, Grob *grob);
27   static SCM identify_grob (Context *context, Moment m, Grob *grob, int count);
28   static SCM identify_grob (Grob *grob);
29   static Grob *retrieve_grob (SCM grob_id);
30   static void store_grob (SCM grob_id, Grob *grob);
31   static void set_tweaks (SCM tweaks);
32 };
33
34 #endif /* GROB_SELECTOR_HH */