protected void DrawTrackState(Rect trackRect, Rect expandedRect, TrackAsset track) { if (Event.current.type == EventType.Layout) { bool needStateBox = false; //Mute if (track.muted && !TimelineUtility.IsParentMuted(track)) { Rect bgRect = expandedRect; TimelineWindow.instance.OverlayDrawData.Add(OverlayDrawer.CreateColorOverlay( GUIClip.Unclip(bgRect), DirectorStyles.Instance.customSkin.colorTrackDarken)); needStateBox = true; } //Lock if (!needStateBox && track.locked && !TimelineUtility.IsLockedFromGroup(track)) { Rect bgRect = expandedRect; TimelineWindow.instance.OverlayDrawData.Add(OverlayDrawer.CreateTextureOverlay( GUIClip.Unclip(bgRect), Styles.lockBg)); needStateBox = true; } if (needStateBox) { DrawTrackStateBox(trackRect, track); } } }
static void DrawMuteOverlay(DrawData data) { DirectorStyles styles = TimelineWindow.styles; var colorOverlay = OverlayDrawer.CreateColorOverlay(GUIClip.Unclip(data.contentRect), styles.customSkin.colorTrackDarken); colorOverlay.Draw(); Rect textRect = Graphics.CalculateTextBoxSize(data.contentRect, styles.fontClip, k_Muted, WindowConstants.overlayTextPadding); var boxOverlay = OverlayDrawer.CreateTextBoxOverlay( GUIClip.Unclip(textRect), k_Muted.text, styles.fontClip, Color.white, styles.customSkin.colorLockTextBG, styles.displayBackground); boxOverlay.Draw(); }