2 headreg.cc -- part of GNU LilyPond
4 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 #include "note-head.hh"
9 #include "paper-def.hh"
10 #include "musical-request.hh"
12 Note_head_register::Note_head_register()
15 do_post_move_processing();
19 Note_head_register::do_try_request(Request
*req_l
)
24 if (req_l
->musical() && (req_l
->musical()->note() || req_l
->musical()->rest()))
25 note_req_l_
=req_l
->musical()->rhythmic();
33 Note_head_register::do_process_requests()
38 Note_head
*n_p
= new Note_head(8); // ugh
40 n_p
->set_rhythmic(note_req_l_
->rhythmic());
42 if (note_req_l_
->note()) {
43 n_p
->position_i_
= note_req_l_
->note()->height() +
44 *get_staff_info().c0_position_i_l_
;
45 } else if (note_req_l_
->rest()) {
49 Score_elem_info
itinf(note_p_
,note_req_l_
);
50 announce_element(itinf
);
54 Note_head_register::do_pre_move_processing()
57 typeset_element(note_p_
);
62 Note_head_register::do_post_move_processing()
67 IMPLEMENT_STATIC_NAME(Note_head_register
);
68 IMPLEMENT_IS_TYPE_B1(Note_head_register
,Request_register
);
69 ADD_THIS_REGISTER(Note_head_register
);