Пример #1
0
Clef *ScoreOrStaffDefAttrInterface::GetClefCopy() const
{
    // we should not call it without having checked if a clef is set
    if (!m_clef) return NULL;
    Clef *copy = NULL;
    Clef *current_clef = dynamic_cast<Clef*>(m_clef);
    if (current_clef) {
        copy = new Clef(*current_clef);
    }
    else {
        ClefAttr *current_attr = dynamic_cast<ClefAttr*>(m_clef);
        copy = new Clef(current_attr);
    }
    assert(copy);
    copy->SetScoreOrStaffDefAttr(true);
    return copy;
}