| 164 | } |
| 165 | |
| 166 | std::vector<std::pair<TimelineSourceId, qint64>> TimelineScene::alignStartsToCommonOrigin() const { |
| 167 | std::vector<std::pair<TimelineSourceId, qint64>> result; |
| 168 | if (tracks_.empty()) { |
| 169 | return result; |
| 170 | } |
| 171 | qint64 target = displayWindow(tracks_.front()).min; |
| 172 | for (const TimelineSpanInput& track : tracks_) { |
| 173 | target = std::min(target, displayWindow(track).min); |
| 174 | } |
| 175 | result.reserve(tracks_.size()); |
| 176 | for (const TimelineSpanInput& track : tracks_) { |
| 177 | result.emplace_back(track.id, track.t_min_ns - target); |
| 178 | } |
| 179 | return result; |
| 180 | } |
| 181 | |
| 182 | std::vector<std::pair<TimelineSourceId, qint64>> TimelineScene::alignCentersToCommonOrigin() const { |
| 183 | std::vector<std::pair<TimelineSourceId, qint64>> result; |