// Copy the track metadata but not the contents. void TimeTrack::Init(const TimeTrack &orig) { Track::Init(orig); SetDefaultName(orig.GetDefaultName()); SetName(orig.GetName()); SetRangeLower(orig.GetRangeLower()); SetRangeUpper(orig.GetRangeUpper()); SetDisplayLog(orig.GetDisplayLog()); }
TimeTrack::TimeTrack(const TimeTrack &orig): Track(orig) , mZoomInfo(orig.mZoomInfo) { Init(orig); // this copies the TimeTrack metadata (name, range, etc) ///@TODO: Give Envelope:: a copy-constructor instead of this? mEnvelope = new Envelope(); mEnvelope->SetTrackLen(1000000000.0); SetInterpolateLog(orig.GetInterpolateLog()); // this calls Envelope::SetInterpolateDB mEnvelope->Flatten(1.0); mEnvelope->Mirror(false); mEnvelope->SetOffset(0); mEnvelope->SetRange(orig.mEnvelope->GetMinValue(), orig.mEnvelope->GetMaxValue()); mEnvelope->Paste(0.0, orig.mEnvelope); ///@TODO: Give Ruler:: a copy-constructor instead of this? mRuler = new Ruler; mRuler->SetUseZoomInfo(0, mZoomInfo); mRuler->SetLabelEdges(false); mRuler->SetFormat(Ruler::TimeFormat); blankBrush.SetColour(214, 214, 214); blankPen.SetColour(214, 214, 214); }
// Copy the track metadata but not the contents. void TimeTrack::Init(const TimeTrack &orig) { Track::Init(orig); SetDefaultName(orig.GetDefaultName()); SetName(orig.GetName()); }