// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using FlaxEditor.GUI.Drag;
using FlaxEditor.GUI.Timeline.Undo;
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.GUI.Timeline
{
///
/// The Timeline track that contains a header and custom timeline events/media.
///
///
[HideInEditor]
public class Track : ContainerControl
{
///
/// The default prefix for drag data used for tracks dragging.
///
public const string DragPrefix = "TRACK!?";
///
/// The default node offset in y.
///
public const float DefaultNodeOffsetY = 1.0f;
///
/// The default drag insert position margin.
///
public const float DefaultDragInsertPositionMargin = 4.0f;
///
/// The header height.
///
public const float HeaderHeight = 22.0f;
private Timeline _timeline;
private int _trackIndexCached = -1;
private TrackFlags _flags;
private Track _parentTrack;
internal float _xOffset;
private Margin _margin = new Margin(2.0f);
private readonly List _media = new List();
private readonly List