// // File: VLLayout.cpp - Dimensions for lead sheet layout // // Author(s): // // (MN) Matthias Neeracher // // Copyright © 2007 Matthias Neeracher // #include "VLLayout.h" #include "VLSheetViewInternal.h" #include #include #include VLSystemLayout::VLSystemLayout(const VLProperties & prop, float width) { fDivisions = prop.fDivisions; fNumGroups = prop.fTime.fNum / std::max(prop.fTime.fDenom / 4, 1); fDivPerGroup = fDivisions * prop.fTime.fNum * 4 / (prop.fTime.fDenom * fNumGroups); fClefKeyWidth = kClefX+kClefW+(std::labs(prop.fKey)+1)*kKeyW; fMeasureWidth = fNumGroups*(fDivPerGroup+1)*kNoteW; fNumMeasures= std::max(1, std::floor((width-fClefKeyWidth) / fMeasureWidth)); } VLLayout::VLLayout(const VLSong & song, float width) { for (size_t meas = 0; meas