// -------------------------------------------------------------------------- void GRNotationElement::SendMap (const NVRect& map, MapCollector& f, TYPE_TIMEPOSITION date, TYPE_DURATION dur, GuidoElementType type, MapInfos& infos) const { FloatRect r (map.left, map.top, map.right, map.bottom); r.Shift( infos.fPos.x, infos.fPos.y); r.Scale( infos.fScale.x, infos.fScale.y); GuidoDate from = { date.getNumerator(), date.getDenominator() }; TYPE_TIMEPOSITION end = date + dur; GuidoDate to = { end.getNumerator(), end.getDenominator() }; TimeSegment dates (from, to); // current rolled segment GuidoElementInfos inf; inf.type = type; inf.staffNum = getStaffNumber(); if (inf.staffNum < 0) inf.staffNum = 0; ARMusicalObject * ar = getAbstractRepresentation(); inf.voiceNum = ar ? ar->getVoiceNum() : 0; f.Graph2TimeMap (r, dates, inf); }