summaryrefslogtreecommitdiff
path: root/lily/include/script.hh
blob: 5ad74821cc37fb02d4b75dccec844c5f9c5b16ff (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
  script.hh -- part of LilyPond

  (c) 1996,97 Han-Wen Nienhuys
*/

#ifndef SCRIPT_HH
#define SCRIPT_HH

#include "staff-side.hh"
#include "script-def.hh"
#include "item.hh"
  
/**
  Accents that are put over a note-group.
 */
class Script : public Item, public Staff_side {
     /**
      Vertical dir of symbol. -1 means invert the symbol.
     */
    int symdir_i_;
    
    int pos_i_;
    
    Script_def *specs_l_;
    Stem *stem_l_;

    /* *************** */
protected:
    Molecule *brew_molecule_p()const;
    virtual void do_post_processing();
    virtual void do_pre_processing();
    virtual Interval do_width() const;
private:
    void set_symdir();
    void set_default_dir();
    void set_default_index();
    Symbol symbol()const;
public:
    static int compare(Script  *const&, Script *const&) ;
    Script(Script_req*);
    void set_stem(Stem*);
    NAME_MEMBERS(Script);

};


#endif // SCRIPT_HH