Ejemplo n.º 1
0
int Measure::GetWidth() const
{
    if (!this->IsMeasuredMusic()) {
        System *system = dynamic_cast<System *>(this->GetFirstParent(SYSTEM));
        assert(system);
        Page *page = dynamic_cast<Page *>(system->GetFirstParent(PAGE));
        assert(page);
        if (system->m_yAbs != VRV_UNSET) {
            // xAbs2 =  page->m_pageWidth - system->m_systemRightMar;
            return page->m_pageWidth - system->m_systemLeftMar - system->m_systemRightMar;
        }
    }

    if (this->m_xAbs2 != VRV_UNSET) return (m_xAbs2 - m_xAbs);

    assert(m_measureAligner.GetRightAlignment());
    return m_measureAligner.GetRightAlignment()->GetXRel();
}