Exemplo n.º 1
0
        public void Draw(Rect markerHeaderRect, Rect markerContentRect, WindowState state)
        {
            boundingRect = markerContentRect;
            var data = new DrawData()
            {
                headerRect       = markerHeaderRect,
                contentRect      = markerContentRect,
                trackSwatchStyle = new GUIStyle(),
                trackHeaderFont  = DirectorStyles.Instance.trackHeaderFont,
                colorTrackFont   = DirectorStyles.Instance.customSkin.colorTrackFont,
                showLockButton   = locked,
                showMuteButton   = muted
            };

            if (state.showMarkerHeader)
            {
                DrawMarkerDrawer(data, state);
                if (Event.current.type == EventType.Repaint)
                {
                    state.spacePartitioner.AddBounds(this);
                }
            }

            if (asset != null && Hash() != m_TrackHash)
            {
                Rebuild();
            }

            if (m_Layer != null)
            {
                m_Layer.Draw(state.showMarkerHeader ? markerContentRect : state.timeAreaRect, null, state);
            }

            HandleDragAndDrop();
        }
        public void Draw(Rect markerHeaderRect, Rect markerContentRect, WindowState state)
        {
            boundingRect = markerContentRect;
            var data = new DrawData
            {
                headerRect      = markerHeaderRect,
                contentRect     = markerContentRect,
                trackHeaderFont = DirectorStyles.Instance.trackHeaderFont,
                colorTrackFont  = DirectorStyles.Instance.customSkin.colorTrackFont,
                isMuted         = muted,
                isSelected      = IsSelected()
            };

            if (state.showMarkerHeader)
            {
                DrawMarkerDrawer(data);
                if (Event.current.type == EventType.Repaint)
                {
                    state.spacePartitioner.AddBounds(this, boundingRect);
                }
            }

            if (asset != null && Hash() != m_TrackHash)
            {
                Rebuild();
            }

            Rect rect = state.showMarkerHeader ? markerContentRect : state.timeAreaRect;

            using (new GUIViewportScope(rect))
            {
                if (m_Layer != null)
                {
                    m_Layer.Draw(rect, state);
                }

                HandleDragAndDrop();
            }

            if (state.showMarkerHeader && data.isMuted)
            {
                DrawMuteOverlay(data);
            }
        }