/*
clef-item.hh -- declare Clef_item
- (c) 1996,97 Han-Wen Nienhuys
+ (c) 1996--1998 Han-Wen Nienhuys
*/
#ifndef CLEFITEM_HH
#include "item.hh"
#include "text-def.hh"
#include "direction.hh"
+#include "pointer.hh"
/**
Set a clef in a staff.
*/
class Clef_item : public Item {
protected:
- virtual void do_pre_processing();
- Molecule* brew_molecule_p() const;
+ virtual void do_pre_processing();
+ virtual Molecule* brew_molecule_p() const;
public:
- String symbol_;
- int y_position_i_;
+ String symbol_;
+ int y_position_i_;
- /// is this a change clef (smaller size)?
- bool change_b_;
+ /// is this a change clef (smaller size)?
+ bool change_b_;
- /// set because of existence of a bar
- bool default_b_;
-
- /// should we print an octave symbol (8), and where? (up=1, down=1)?
- Direction octave_dir_;
-
- /// text def to put above/below clef (ugh: should be const)
- Text_def * octave_marker_td_p_;
-
- /* *************** */
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEM_CLONE(Clef_item);
- Clef_item();
- void read (Clef_engraver const&);
- void read (String);
+ /// set because of existence of a bar
+ bool default_b_;
+
+ /// should we print an octave symbol (8), and where? (up=1, down=-1)?
+ Direction octave_dir_;
+
+ /// text def to put above/below clef?
+ P<Text_def> octave_marker_td_p_;
+
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ SCORE_ELEMENT_CLONE(Clef_item);
+ Clef_item();
+ void read (Clef_engraver const&);
};
#endif // CLEFITEM_HH