'(lambda() (c-set-style "Stroustrup")
)
)
+If you like using font-lock, you can also add this to your F<.emacs>:
+ (setq font-lock-maximum-decoration t)
+ (setq c++-font-lock-keywords-3
+ (cons
+ '("\\b\\([a-zA-Z_]+_\\)\\b" 1 font-lock-variable-name-face)
+ c++-font-lock-keywords-3))
=head2 CLASSES and TYPES:
#ifndef NOTE_COLUMN_HH
#define NOTE_COLUMN_HH
#include "item.hh"
-#include "interval.hh"
+#include "script-column.hh"
/** a struct for treating a group of noteheads (noteheads, stem
(chord) and scripts ) as a single entity. */
-class Note_column : public Item {
- virtual Interval do_height()const;
- virtual void do_print() const ;
- virtual void do_pre_processing();
- virtual Interval do_width()const;
+class Note_column : public Script_column {
public:
bool h_shift_b_;
- Stem * stem_l_;
- Array<Script *> script_l_arr_;
- bool rest_b_;
- Array<Notehead*> head_l_arr_;
+ Array<Notehead*> head_l_arr_;
+ Interval_t<int> head_positions_interval()const;
+
/** The relative position of the "voice" containing this
chord. Normally this would be the same as the stem direction,
but rests do not have stems. */
int dir_i_;
- Interval_t<int> head_positions_interval()const;
-
+
NAME_MEMBERS(Note_column);
Note_column();
void add(Notehead *);
void add(Stem *);
- virtual void translate(Offset);
void sort();
- void add(Script *);
+ void add(Script* s) { Script_column::add(s);}
};
+
#endif // NOTE_COLUMN_HH
Offset
Slur::center() const
{
- int pos1 = encompass.top()->position;
- int pos2 = encompass[0]->position;
+ int pos1 = encompass.top()->position_i_;
+ int pos2 = encompass[0]->position_i_;
int dy = pos1-pos2;
{
int sumpos=0;
for (int i=0; i < encompass.size(); i ++) {
- sumpos += encompass[i]->position;
+ sumpos += encompass[i]->position_i_;
}
/* should consult stems */
int minp=1000, maxp=-1000; // todo
for (int i=0; i<encompass.size(); i++) {
- minp = encompass[i]->position <? minp;
- maxp = encompass[i]->position >? maxp;
+ minp = encompass[i]->position_i_ <? minp;
+ maxp = encompass[i]->position_i_ >? maxp;
}
assert(encompass.size()>0); // todo
Notehead *lnote_p =encompass[0];
Notehead *rnote_p =encompass.top();
- int lpos_i = lnote_p->position;
- int rpos_i = rnote_p->position;
- Offset left_off(lnote_p->x_dir, lpos_i + 2*dir_i_);
- Offset right_off(lnote_p->x_dir, rpos_i + 2*dir_i_);
- if (!lnote_p->extremal)
+ int lpos_i = lnote_p->position_i_;
+ int rpos_i = rnote_p->position_i_;
+ Offset left_off(lnote_p->x_dir_i_, lpos_i + 2*dir_i_);
+ Offset right_off(lnote_p->x_dir_i_, rpos_i + 2*dir_i_);
+ if (!lnote_p->extremal_i_)
left_off += Offset(0.5, -dir_i_);
- if (!rnote_p->extremal)
+ if (!rnote_p->extremal_i_)
right_off+= Offset(-0.5, -dir_i_);
int dy = int(right_off.y - left_off.y);