//--------------------------------------------------------------------------------------- void GmoShapeSlurTie::on_draw(Drawer* pDrawer, RenderOptions& opt) { Color color = determine_color_to_use(opt); pDrawer->begin_path(); pDrawer->fill(color); pDrawer->add_path(*this); pDrawer->end_path(); pDrawer->render(); GmoSimpleShape::on_draw(pDrawer, opt); }
//--------------------------------------------------------------------------------------- void GmoShapeLine::on_draw(Drawer* pDrawer, RenderOptions& opt) { Color color = determine_color_to_use(opt); UPoint start = m_uPoint[k_start] + m_origin; UPoint end = m_uPoint[k_end] + m_origin; pDrawer->begin_path(); pDrawer->fill(color); pDrawer->stroke(color); pDrawer->stroke_width(10.0); //0.1 mm pDrawer->line_with_markers(start, end, m_uWidth, m_nStartCap, m_nEndCap); pDrawer->end_path(); GmoSimpleShape::on_draw(pDrawer, opt); }
//--------------------------------------------------------------------------------------- void GmoShapeBarline::on_draw(Drawer* pDrawer, RenderOptions& opt) { Color color = determine_color_to_use(opt) ; LUnits uxPos = m_uxLeft; LUnits uyTop = m_origin.y; LUnits uyBottom = m_origin.y + m_size.height; switch(m_nBarlineType) { case k_barline_double: draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); break; case k_barline_end_repetition: //uxPos += m_uRadius; uxPos += m_uRadius * 2.7; //BUG-BYPASS: Need to shift right the drawing draw_two_dots(pDrawer, uxPos, uyTop); uxPos += m_uRadius + m_uSpacing; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing; draw_thick_line(pDrawer, uxPos, uyTop, m_uThickLineWidth, uyBottom-uyTop, color); break; case k_barline_start_repetition: draw_thick_line(pDrawer, uxPos, uyTop, m_uThickLineWidth, uyBottom-uyTop, color); uxPos += m_uThickLineWidth + m_uSpacing; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing + m_uRadius; draw_two_dots(pDrawer, uxPos, uyTop); break; case k_barline_double_repetition: uxPos += m_uRadius; draw_two_dots(pDrawer, uxPos, uyTop); uxPos += m_uSpacing + m_uRadius; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing + m_uRadius; draw_two_dots(pDrawer, uxPos, uyTop); break; case k_barline_start: draw_thick_line(pDrawer, uxPos, uyTop, m_uThickLineWidth, uyBottom-uyTop, color); uxPos += m_uThickLineWidth + m_uSpacing; draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); break; case k_barline_end: draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); uxPos += m_uThinLineWidth + m_uSpacing; draw_thick_line(pDrawer, uxPos, uyTop, m_uThickLineWidth, uyBottom-uyTop, color); break; case k_barline_simple: draw_thin_line(pDrawer, uxPos, uyTop, uyBottom, color); break; } pDrawer->render(); GmoSimpleShape::on_draw(pDrawer, opt); }