public override void Paint(float cx, float cy, ICanvas canvas)
{
base.Paint(cx, cy, canvas);
NumberGlyph numberGlyph;
bool top = false;
switch (_clefOttavia)
{
case ClefOttavia._15ma:
numberGlyph = new NumberGlyph(Width / 2, 0, 15, 0.5f);
top = true;
break;
case ClefOttavia._8va:
numberGlyph = new NumberGlyph(0, 0, 8, 0.5f);
top = true;
break;
case ClefOttavia._8vb:
numberGlyph = new NumberGlyph(0, 0, 8, 0.5f);
break;
case ClefOttavia._15mb:
numberGlyph = new NumberGlyph(0, 0, 15, 0.5f);
break;
default:
return;
}
int offset;
switch (_clef)
{
case Clef.Neutral:
offset = top ? -25 : 10;
break;
case Clef.C3:
offset = top ? -30 : 20;
break;
case Clef.C4:
offset = top ? -30 : 20;
break;
case Clef.F4:
offset = top ? -25 : 20;
break;
case Clef.G2:
offset = top ? -50 : 25;
break;
default:
return;
}
numberGlyph.Renderer = Renderer;
numberGlyph.DoLayout();
var x = (Width - numberGlyph.Width) / 2;
numberGlyph.Paint(cx + X + x, cy + Y + offset * Scale, canvas);
}